<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" ?>
<?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css"
        title="Easy editing stylesheet" ?>
<!--
English Grammar and Typo Rules for LanguageTool
See tagset.txt for the meaning of the POS tags
Copyright (C) 2001-2021 Daniel Naber (http://www.danielnaber.de),
  Marcin Miłkowski, and the LanguageTool contributors

Portions of rules are converted from After The Deadline grammar checker, 
available at http://open.afterthedeadline.com/, licensed under
GNU GPL.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
USA
-->

<!DOCTYPE rules [
    <!ENTITY apostrophe "['’`´‘ʻ]">
    <!ENTITY quote '["“”„]'>
    <!ENTITY nbsp  "&#x00A0;"> <!-- no-break space -->
    <!ENTITY currency_symbols '[$€£¥฿₹₿\u8371]'>
    <!ENTITY time_units 'moments?|seconds?|minutes?|hours?|days?|weeks?|months?|years?|decades?|centur(y|ies)'>
    <!ENTITY weekdays "Monday|Wednesday|T(ue|hur)sday|Friday|S(atur|un)day">
    <!ENTITY abbrevWeekdays "Mon?|Tu(e|es)?|We(d|ds)?|Th(u|ur|urs)?|Fri?|Sat?|Sun?">
    <!ENTITY months "January|February|March|April|May|Ju(ne|ly)|August|September|October|November|December">
    <!ENTITY abbrevMonths "Jan|Feb|Mar|Apr|Ju[ln]|Aug|Sept?|Oct|Nov|Dec">
    <!ENTITY abbreviations "pp|[Vv]iz|i\.?\s*e|[Vvol]|[Rr]col|maj|Lt|[Ff]ig|[Ff]igs|[Vv]ols|[Aa]pprox|[Ii]ncl|[Ii]nc|Pres|[Dd]ept|min|max|[Gg]ovt|lb|ft|c\.?\s*f|vs|dia|lbs|\d+-(:?oz|kc|in|h[rp]|ml)|M?sec|Atty|Sg?t|[SG]en|Gov|Hon|Prof|Mr?s|[DMJS]r|Col|Maj|L(ieu)?t|Brig|Capt|Cmdr|Cmnd|Revd?|Rep|Drs|Messrs|Mmes">
    <!ENTITY abbreviations2 "a(?:bbrev|bl|bsol|bstr|cc|ccus|dv|dvb|dvs|gst|lt|phet|pp|ppos|dj|djs|rch|rt|ttrib)|A(?:bbrev|bd|berd|berdeensh|bol|borig|bp|br|bridg|bridgem|bsol|bst|bstr|cad|cc|ccept|ccomm|ccompl|ccs|cct|ccts|chievem|dd|ddit|ddr|dm|dmin|dmir|dmon|dmonit|dv|dvancem|dvert|dvoc|dvt|dvts|erodynam|eronaut|ff|ffect|fr|gric|lch|lg|lleg|llit|lm|lph|mer|nal|nalyt|nat|nc|necd|ng|ngl|nim|nn|nniv|nnot|nsw|nt|nthrop|nthropol|ntiq|poc|pol|pp|ppl|pplic|rch|rchaeol|rchipel|rchit|rgt|rith|rithm|rrangem|rtic|rtific|rtill|ssemb|ssoc|ssyriol|str|strol|stron|stronaut|tt|ttrib|ustral|uth|utobiog|utobiogr|yrsh|rab)|B(?:acteriol|edford|edfordsh|elg|erks|erksh|erw|erwicksh|ibliogr|iochem|iog|iogr|iol|ks|ord|ot|raz|rit|ucks|uild|ull|ur)|b(?:ef|etw)|c(?:ent|ollect|olloq|ompar|ompl|onc|oncr|omp|onj|ons|onst|ontempt|orresp|pd|ontr)|C(?:ontradict|ontrib|ontrov|onv|onvent|onversat|onvoc|ornw|oron|orr|orresp|ounc|ourtsh|raniol|raniom|rim|rit|rt|rts|ryptogr|rystallogr|umb|umberld|umbld|ycl|ytol|ollect|onn|al|alc|alend|alif|alligr|amb|ambr|ampanol|anad|anterb|artogr|atal|atech|ath|ent|eram|ert|ertif|hamb|har|harac|has|hem|hesh|hr|hron|hronol|hrons|inematogr|irc|lass|lassif|limatol|lin|oll|olloq|om|omb|ombs|omm|ommandm|ommend|ommerc|ommiss|ommonw|ommunic|omp|ompan|ompar|ompend|ompl|ompos|onc|onch|oncl|onf|onfid|onfl|onfut|ongr|ongreg|ongress|onsc|onsecr|onsid|onsol|onstit|onstr|ontemp|ontempl|ontend|ontent|ontin)|d(?:at|em|ial|im|yslog|ef|eriv|erog)|D(?:au|eb|eclar|ed|ef|eliv|emonstr|ep|epred|epredat|erbysh|escr|evel|evonsh|ial|ict|iffic|irect|is|isc|iscipl|iscov|iscrim|iscuss|iss|istemp|istill|istrib|iv|ivers|oc|octr|omest|urh)|e(?:tym|tymol|uphem|xc|ast|llipt|mph|rron)|E(?:val|vang|ven|vid|vol|xalt|xam|xch|xec|xerc|xhib|xped|xper|xplan|xplic|xplor|xpos|tymol|ccl|ccles|col|con|din|dinb|duc|dw|gypt|gyptol|lectr|lectro-magn|lectro-physiol|lem|liz|lizab|mb|mbryol|ncycl|ng|ngin|nglishw|nq|nt|nthus|ntom|ntomol|nzymol|pil|pisc|pist|pit|quip|ss|ssent|stabl|thnol)|f(?:em|req|ut|am|amil)|F(?:ifesh|ootpr|orfarsh|ortif|ortn|ound|ragm|ratern|riendsh|und|urnit|ab|am|arew)|G(?:ard|astron|az|eo|eog|eogr|eol|eom|eomorphol|er|lac|lasg|los|loss|louc|loucestersh|osp|ram|ynaecol)|g(?:erund|en)|H(?:aematol|ampsh|andbk|ants|eb|en|er|erb|eref|ereford|erefordsh|ertfordsh|ierogl|ist|istol|om|orol|ort|osp|ouseh|ousek|usb|ydraul|ydrol)|hist|I(?:nd|ndustr|nfl|nnoc|norg|nq|nst|ntell|ntellect|nterc|nterl|nternat|nterpr|chth|cthyol|deol|dol|llustr|mag|mpr|naug|nclos|nd|nstr|tal|ntro|ntrod|nv|nvent|nvertebr|nvestig|nvestm|nvoc|rel|mmunol)|i(?:nt|nterj|nterrog|ntr|ntrans|mp|mperf|mpers|mpf|mprop|nstr|nd|ndef|ndic|ndir|nfin|nfl|ron|rreg|mit)|J(?:ahrb|ap|as|rnl|rnls|urisd|urisdict|urispr|ustif|ustific)|joc|K(?:ent|ingd|nowl|pr)|L(?:ab|anc|ancash|ancs|ang|angs|at|d|ds|ect|eechd|eg|eicest|eicester|eicestersh|eics|et|ett|ex|ibr|imnol|incolnsh|incs|ing|inn|it|ithogr|ithol|iturg|ond)|m(?:asc|ed|etaphor|idl|ispr|od)|M(?:ach|ag|agn|an|anagem|anch|anip|anuf|ath|eas|easurem|ech|ed|edit|em|erc|erch|etall|etallif|etallogr|etamorph|etaph|eteorol|eth|etrop|ex|ich|icrobiol|icrosc|il|ilit|in|ineral|isc|iscell|od|onum|orphol|SS|tg|unic|unif|unim|us|yst|yth|ythol)|n(?:once-wd|orth|om)|N(?:arr|arrat|at|aut|av|avig|eighb|erv|eurol|eurosurg|ewc|ewspr|onconf|orf|orthamptonsh|orthants|orthumb|orthumbld|orthumbr|orw|orweg|otts|ucl|umism|on-conf)|o(?:ccas|pp|rig|bj|bl|bs)|O(?:bs|bserv|bstet|bstetr|ccas|ccup|ccurr|ceanogr|ff|ffic|kla|nt|phthalm|phthalmol|ppress|pt|rac|rd|rg|rig|rkn|rnith|rnithol|rthogr|utl|xf|xfordsh|xon|bed|bj)|p(?:ass|erf|ers|ersonif|honet|hr|op|lur|oet|ref|rep|riv|rob|oss|pl|ple|ples|rec|red|redic|ron|ronunc|rop|rov|ropr|seudo-arch|seudo-dial|seudo-Sc|erh|res)|P(?:eriodontol|redict|rerog|sych|sychoanal|sychoanalyt|sychol|sychopathol|ubl|urg|erf|alaeobot|alaeogr|alaeont|alaeontol|araphr|arasitol|arl|arnass|ath|athol|eculat|enins|ers|ersec|erthsh|etrogr|etrol|harm|harmaceut|harmacol|hil|hilad|hilol|hilos|hoen|honol|hotog|hotogr|hrenol|hys|hysiogr|hysiol|ict|oet|ol|olit|olytechn|op|orc|ort|osth|ostm|ott|ract|ref|reh|rehist|resb|reserv|rim|rinc|rint|robab|robl|roc|rod|rol|rov|rovid|rovinc|rovis|ronunc|rop|ros)|Qld|q(?:uot|uots)|r(?:edupl|eg|epr|het|efash|efl|el)|R(?:adiol|eas|eb|ebell|ec|eclam|ecoll|edempt|ef|efl|efus|efut|eg|egic|egist|egr|el|elig|eminisc|emonstr|enfrewsh|eprod|ept|epub|es|esid|et|etrosp|evol|het|ich|om|oxb|oy|udim|uss)|s(?:ing|outh|pec|tr|ubj|ubjunct|ubord|ubseq|ubst|uff|uperl|yll)|S(?:ubj|uff|ubscr|ubscript|uppl|upplic|uppress|urg|urv|ymmetr|ymp|yst|pan|ask|at|ax|cand|ch|ci|cot|cotl|cript|culpt|eismol|el|elect|er|erm|ess|ettlem|ev|hakes|haks|heph|hetl|hropsh|oc|ociol|om|onn|pec|pecif|pecim|pectrosc|taff|tafford|taffordsh|taffs|tand|tat|tatist|tratigr|truct|tud)|t(?:echn|rans|ransf|ransl)|T(?:ransl|ransubstant|rav|reas|reat|reatm|rib|rig|rigonom|rop|roub|roubl|ypog|ypogr|axon|rans|echn|echnol|el|elecomm|elegr|eleph|eratol|erminol|errestr|est|extbk|heat|heatr|heol|heoret|hermonucl|hes|opogr|rag)|U(?:niv|rin)|u(?:nkn|nstr|lt|su)|U(?:nnat|noffic|tilit)|V(?:ac|aledict)|v(?:ar|arr|ars|bl|bs|ulg)|V(?:eg|enet|ertebr|et|ic|ict|ind|indic|irg|irol|oc|ocab|ol|oy|ulg)|W(?:estm|estmld|estmorld|estmrld|ill|ilts|iltsh|is|isd|kly|ks|onderf|orc|orcestersh|orcs|rit|arwicksh)|west|Y(?:earbk|ng|orks|orksh|rs)|Z(?:eitschr|oogeogr|ool)">
    <!ENTITY interjections "aa?h|aha|ahem|ahh|argh|aww|aw|bah|boo|boo-hoo|brr|d'oh|duh|eek|eep|eh|eww|fuff|gah|gee|grr|hmm?|humph|ha|haha?|huh|hurrah|ick|meh|mhm|mm|muahaha|mwah|nah|nuh-uh|oh|ooh-la-la|ooh|oomph|oops|ouch|oww|oy|pfft?|phew|psst|sheesh|shh|shoo|tsk-tsk|uh-huh|uh-oh|uh-uh|uhh|umm|waah|wee|whoa|wow|yay|yeah|yee-haw|yikes|yoo-hoo|yuh-uh|yuck|zing">
    <!ENTITY languages "Akan|Amharic|Arabic|Assamese|Awadhi|Azerbaijani|Balochi|Bangla|Belarusian|Bengali|Bhojpuri|Burmese|Cantonese|Cebuano|Chewa|Chhattisgarhi|Chinese|Chittagonian|Czech|Deccan|Dhundhari|Dutch|English|Filipino|French|Fula|Gaelic|German|Greek|Gujarati|Hakka|Haryanvi|Hausa|Hiligaynon|Hindi|Hmong|Hunanese|Hungarian|Igbo|Ilocano|Ilonggo|Indonesian|Italian|Ja[pv]anese|Jin|Kannada|Kazakh|Khmer|Kinyarwanda|Kirundi|Konkani|Korean|Kurdish|Madurese|Magahi|Maithili|Malagasy|Malay(alam)?|Malaysian|Mandarin|Marathi|Marwari|Mossi|Nepali|Odia|Oriya|Oromo|Pashto|Persian|Polish|Portuguese|Punjabi|Quechua|Romanian|Russian|Saraiki|Serbo-Croatian|Shona|Sindhi|Sinhalese|Somali|Spanish|Sundanese|Swedish|Sylheti|Tagalog|Tamil|Telugu|Thai|Turk(ish|men)|Ukrainian|Urdu|Uyghur|Uzbek|Vietnamese|Visayan|Wu|Xhosa|Xiang|Yoruba|Yue|Zhuang|Zulu"><!-- Most are from https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers -->
    <!ENTITY short_adjectives "bad|big|black|bland|blue|bold|brave|brief|bright|broad|calm|cheap|chewy|clean|close|coarse|cold|cool|cruel|cute|damp|dark|deep|dense|dry|dull|dumb|early|easy|faint|fair|fa[rt]|fast|few|fierce|fine|firm|fit|flat|fresh|full|good|grand|great|gross|happy|hard|harsh|high|hip|hot|humble|kind|large|late|light|little|long|loud|low|mad|mean|mild|moist|narrow|nea[rt]|new|nice|o[dl]d|off|plain|poor|proud|pure|quick|quiet|rare|raw|rich|ripe|rough|rude|sad|sa[fn]e|shallow|sharp|short|shy|silly|simple|sincere|slim|slow|small|smart|smooth|soft|soon|sore|sour|steep|strange|strict|strong|sweet|tall|tan|thick|thin|tiny|tough|true|ugly|warm|weak|weird|wet|wide|wild|wise|young">
    <!ENTITY optional_short_adjectives "angry|bitter|bloody|bossy|busy|chubby|classy|clear|clever|cloudy|clumsy|crazy|creamy|creepy|crispy|crunchy|curly|curvy|deadly|dirty|dusty|fancy|filthy|flaky|friendly|funny|gentle|gloomy|greasy|greedy|guilty|hairy|handy|healthy|heavy|hungry|icy|itchy|juicy|lazy|likely|lively|lonely|lovely|messy|nasty|naughty|needy|noisy|oily|polite|pretty|risky|roomy|rusty|salty|scary|shiny|skinny|sleepy|slimy|smelly|smoky|sorry|spicy|stingy|sunny|sweaty|tasty|thirsty|wealthy|windy|worldly|worthy">
    <!ENTITY extreme_qualifiers "ex(?:treme(?:ly)?|ceedingly|ceptionally|tra(ordinarily)?)|fault|tremendously|immensely|vastly|hugely|abundantly|intensely|acutely|singularly|distinctly|outstandingly|uncommonly|unusually|decidedly|eminently|supremely|highly|remarkably|really|truly|mightily|thoroughly|utmost|super|hiper|ultra">
    <!ENTITY ambiguous_past_tense_forms "bare|bode|bore|bound|brake|bust|clang|crew|fell|felt|found|girt|hand-knit|hew|hoist|knit|lope|low|misfit|quoth|resent|retread|rewed|rid|rove|sate|saw|shore|slang|smelt|sod|span|spat|spoke|swank|sweat|thrust|tread|wed|wet|wrack|writ"><!-- XXX excluded: bet|bid|book|lay|let|overlay|quit|read|rent|sew|shove|straight|sublet|tow|underlay|underlet| --><!-- Refer to #3090 -->
    <!ENTITY collective_nouns "(?:army|b(?:and|ouquet|unch)|c(?:hoir|ollecti(?:on|ve)|rowd)|f(?:leet|lock)|g(?:alaxy|ang|lossary)|h(?:erd|ive)|litter|multitude|p(?:ack|air|od)|range|staff|swarm|t(?:eam|roupe)|wad)s?">
    <!ENTITY childish_terms "(?:absitively|absotively|baa-lamb|backsies|bagsie|bananery|bare-boobed|beddy|beddy-bye|bester|binky|birb|blankie|boatie|bombsies|boobied|boob juice|boo-boo|boom-boom|boosies|bottom burp|botty|botty burp|bow wow|bow-wow|boy bits|bubby|bummy|bunny rabbit|bunny wunny|caca|cheater, cheater, pumpkin eater|chickabiddy|chicky|choo-choo|choo-choo train|chugga|clotheses|confuzzle|confuzzled|confuzzling|cootie|cowardy custard|criss-cross applesauce|cutsies|da da|dangly bits|deerie|diapie|diddly|didee|din-din|din-dins|dingaling|ding dong|dog-doo|dogese|doodie head|doo-doo|doodoohead|doody|ducky|earsies|easy peasy Japanesey|easy peasy lemon squeezy|eensy|eensy-weensy|eeny-weeny|elemeno|eyewinker|fanny fart|old fart|fartface|feetsies|fishie|fishy wishy|flutterby|footsie|footsie-wootsies|for realsies|fraidy|fraidy cat|fraidy-cat|friendy|froggy|frowny|funsies|funster|fuzzy-wuzzy|gee-gee|ghostie|ghosty|gimongous|go halfsies|goody gumdrops|goo goo ga ga|goosie|goosy|go potty|grampy|grassture|halfsies|hammy|handsies|helichopper|hewwo|high comma|hippity-hop|horsy|huggle|huggly|hurty|ickle|I know you are but what am I|immie|I'm rubber, you're glue|incy|incy wincy|in the nuddy|itsy-bitsy|it takes one to know one|jellycopter|jobbie jabber|keepsies|kitty-cat|knock knock|leggie|let fluffy off the chain|liar liar pants on fire|lickle|ma ma|meanie|meeces|Mommy's Day|monkeyface|moo-cow|moo-moo|mousie|mulley|Mummy's Day|nakey|na-na na-na boo-boo|na-na na-na na-na|nee nor|nighty|nighty night|nighty-night|no-no|num-num|nursie|octopussy|om nom nom|ooey-gooey|oopsy|Opposite Day|ouchie|owie|Palestinkian|pasghetti|peeksy|peenie|pee-pee|piggy flu|piggy-wig|piggy wiggy|ploppy|pooface|pooh|poohead|poop|poophead|poophole|poopless|poop one's pants|poopoo|poo poo|poo-poo|poop out|poopy|poppa|posilutely|positutely|posolutely|pretty please|pudding and tame|quitsies|Retardican|rolly polly|roly-poly|Rye-Rye|samesies|scaredy pants|scrummy|sharesies|sheepy|sing-song|sissy|sketti|sleepytime|snek|snoot|specialest|'splodey|squiddy|stuffie|stupid-head|swapsies|swearsies|tardish|teensy|teensy weensy|teensy-weensy|teeny-tiny|teeny weeny|teeny-weeny|tee-tee|teeter-totter|telltale tit|threesies|thump-thump|titsh(?:i(?:er|est)|y)|tiwed|toesies|tootsie|tootsy-wootsy|tummyache|tummy ache|tum tum|tum-tum|tuppence|tushie|underneaths|wabbit|wee wee|wee-wee|whee|white pee|whoopsie|widdle|widdler|winky|wittle|woobie|woof-woof|woo woo|wowie|wub|wuv|yayness|you wish, jellyfish|yucky|zoomy)s?">
    <!ENTITY childish_terms_2 "(?:it(?:'s | is ))?no fair|so there|number one|number two">
    <!ENTITY childish_terms_3 "(?:ticky)s?">
    <!ENTITY plural_gray_areas "all|army|band|body|bulk|bunch|choir|cluster|collection|couple|diversity|duo|faculty|few|fifth|flood|fourth|gazillion|generation|group|half|heap|host|handful|infinit(y|ude)|kind|l[ai]st|lot|majority|mass|(micro)?fraction|minority|miraid|multi(plicity|tude)|myriad|next|none|number|pair|part|percent(age)?|plethora|(pro)?portion|quarter|range|rest|slew|some|sort|staff|subset|team|third|ton|total|train|trio|variety">
    <!ENTITY profanity "(?:a pox on|Abrek|Africoon|Alabama wind chime|albo|ambisextrous|Americunt|Amerimutt|anally inflicted death sentence|anchor baby|antinigger|Araucania|Araucanian|arse bandit|arsebreath|arsehole|as queer as Dick's hatband|Assburgers|asspie|atheitard|back-asswards|Bakri|banana nose|basket case|bean-eater|beanbreath|beaner|behenchod|bell-end|berdache|berdachism|beshit|birdfucker|bit of skirt|bitch|bitchfucker|bite my shiny metal ass|black babies|blackamoor|Blackamoor|blackboy|blackfellow|blacky|blue gum|bogan|Bosha|boyfucker|bud-bud-ding-ding|bugfucker|bulldagger|burrhead|cabre|camel jockey|camelfucker|Cape Dutch|carpet kisser|carpet muncher|catfucker|catlicker|celebutard|chav|chickenlips|chigger|child-fucker|childfucker|chimp out|chimpout|Chinaboy|Chinaman|Chinaman's chance|Chinaperson|Chinawoman|ching chong|Chinkland|chinky|chocolate face|choke a darkie|cholo|Christ-killer|Christfag|Christofascism|chrome dome|clog wog|coal burner|cock-knocker|cockfag|cockfucker|coonass|corpsefucker|cowfucker|cracker-ass|crackerass|crapaud|crispy critter|crossback|cuck|cultish|cum receptacle|cumskin|cunt|cuntbreath|cuntfucker|cuntful|Cuntingham|cuntlet|cuntwhore|curry muncher|cyka|DAFN|dago|dago dazzler|dago red|DAMF|darkey|daughterfucker|deaf aid|deaf and dumb|deniggerization|deniggerize|deportable|dickbag|Dickboy|dickfucker|dicksplat|digger pine|dindu nuffin|dogan|dogfucker|doggess|donkeyfucker|dothead|duckfucker|dumbishly|dune coon|durka durka|Dutch courage|dykery|electric Jew|English vice|fag mag|fag marriage|fag rag|fagazine|faggot|faggot marriage|faggotface|faggotier|faggotiest|faggotism|faggotly|faggotness|faggoty|faggy|faglet|fagling|fagness|fair sex|Fakestinian|farm nigger|fatherfucker|feku|femifascism|femifascist|feminazi|fence sitter|flid|flipper baby|Fredo|French exit|frogeater|froggy|fuck off|fuck y'all|fuck you|fuck you, Jack, I'm alright|fucktardedly|fucktardedness|full-blood|furfag|gayfag|gaytarded|get fucked|get someone's Irish up|ginzo|gippo|girl rented overnight|go fuck oneself|go screw yourself|goatfucker|gobshite|goddamn|goddamned|godsdamn|goffel|golliwog|golly|gook|gookland|gork|grammar Nazi|grasseater|gyp|gypsy cab|gypsyism|hairyback|Halfrican|hamfat|handfucker|harlot|hasbian|he-bitch|he-she|Hebe|hebe|herro|Hoaxocaust|Holocash|Holocaustianity|Holohoax|honest injun|horsefucker|Hottentot|hugbox|if there's grass on the pitch, play ball|Indian giver|Indian giving|Indian sign|injun|Irish goodbye|Irish twin|Islamofascism|Islamofascist|Islamonazism|Israhell|Israhelli|Jap's eye|Jesus fuck|Jew down|jew down|Jew nose|Jew World Order|Jewboy|Jewfucker|Jewish lightning|Jewish piano|Jewishish|Jewy|jigaboo|John Chinaman|Johnny Crapaud|kidfucker|kike|knob jockey|knock a buzzard off a shit wagon|knocked up|koranimal|Kraut|Krautwagon|kuff|KYS|Leb|Lebo|lezzie|libertard(?:ian)|libtardation|like a bitch|linthead|lop|lunatic asylum|magic underwear|Mango Mussolini|meatbag|Mediterranean Irish|Mediterranean Irishman|meid|mentally retarded|merm|Mexcrement|minger|Mississippi wind chime|moffie|Mohammedanism|Mohammedism|Mohammedist|mong|Mongolian idiocy|mongolism|mongoloid|Monkey Hanger|mooselimb|moralfag|Mormondumb|motherfucker|mousefucker|mouthfucker|mud shark|mudda fucka|mudslime|Muhammadanize|mulattress|munt|Muslime|Muslimess|Muslimette|muslimtard|must have killed a Chinaman|muzrat|muzzie|muzzy|nappyhead|Nasibi|Native American giver|Nazi Shepherd|negress|negrophile|negrophilia|negrophilism|nig|nig-nog|nigga|niggah|nigger|nigger gallery|nigger heaven|nigger in the woodpile|nigger knocker|nigger lover|nigger rich|nigger toe|nigger-brown|nigger-fish|nigger-rig|nigger-rigged|niggeration|niggerbabble|niggerball|niggerbitch|niggerboy|niggercide|niggerdick|niggerdom|niggerese|niggeresque|niggeress|niggerette|niggerfaggot|niggerfied|niggerfuxated|niggerfuxation|niggergram|niggerhead|niggerhood|niggerish|niggerishness|niggerism|niggerization|niggerize|niggerless|niggerlike|niggerling|niggerlips|niggerly|niggerman|niggerness|niggerology|niggerspeak|Niggertown|Niggerville|niggerwhine|niggery|niggeryard|nigguh|niggy|niglet|noggie|normalphobic|notch on one's bedpost|nuffy|nuthouse|oaxaquita|occutard|octoroon|oh my Lord|oldfag|on the blob|Oompa Loompa|orangie|Paki|Paki shop|paleass|pavement ape|peckerwood|pickaninny|pigass|pikey|pinkskin|piss be upon him|pisslamist|pizza nigger|plebby|plyg|Polack|politard|pollywog|poopskin|pope-holy|porch monkey|potato eater|pram face|promdi|psychobitch|pukeskin|puss out|pussy magnet|pussyfucker|queer as Dick's hatband|queerlord|rabbitfucker|rafidah|Rafidhi|Ramadamadingdong|Ramalamadingdong|rapefugee|ratfucker|Red Indian|red man|Refugee Regatta|reichtard|Retardican|retardy|rice-eater|rock spider|rode hard and put up wet|rug muncher|Sambo|San Fagcisco|sand nigger|schizy|scummer|Senga|she-he|sheboon|sheeny|sheepfucker|Shitcago|shitbag|shitkicker|shitmuncher|shitneck|shitskin|shvartze|sisterfucker|skullfucker|sky daddy|Sky Fairy|sky fairy|slanteye|slopehead|slutdom|sluthead|sluthood|slutness|smoke someone's pole|smoked Irish|smoked Irishman|southie|spacker|spaz|spazzer|spearchucker|sperg|sperglord|spergy|Spicanese|spicish|spigger|squaw tea|-ster|stinkbag|straight-acting|stupid fuck|stupid fucker|suck my cock|sweet cheeks|swigger|Talibanistan|tard|tard guard|tardbrain|tardface|tardlet|tosser|tosspot|tranny|trannyism|trans-testicle|Trumptard|turdlicker|Turkery|twat|tzigane|vomitskin|Wailing Wall|walking mattress|wankstain|wasbian|weaker sex|weaker vessel|weathergirl|welcher|whigger|white negro|white nigger|whiteass|whore|whore around|whorefucker|window licker|women's work|yard ape|yellow man|yellow nigger|zigaboo|zigeuner|ZioJew|Zionazi|Zionistan|zipperhead|Zombie Jesus)s?">
    <!ENTITY profanity_2 "(?:brit|Chink|cockroach|cripple|crippled|dwarf|get screwed|jig|Khazar|knacker|Langer|Nip|Paddy|pinky|retard|retarded|retardation|shylock|snow-white|spade|squaw|wood|Jim Crow|Viking|yankees">
    <!ENTITY rude_sarcastic "(?:Best Korea|but who's counting|Captain Obvious|cry someone a river|deathbed conversion|don't let the door hit you on the way out|ermahgerd|fat chance|fly like a rock|freeze peach|goddidit|goody gumdrops|hay is for horses|here we go again|I believe you, thousands wouldn't|just ducky|keep telling yourself that|kiddie table|king of the castle|know how to pick 'em|less-than-stellar|let's not and say we did|make baby Jesus cry|my eyes are up here|no duh|no homo|no kidding|no shit|no shit, Sherlock|obvi|oh, the humanity|one should be so lucky|pray tell|puh-lease|quelle surprise|Soon™|surprise surprise|talk to the hand|thanks a heap|tyvm|what do you want, a cookie|what does that have to do with the price of corn|what does that have to do with the price of tea in China|who died and left you in charge|who died and made you boss|who would have thunk it|who's your daddy|whoopdee doo|why not Zoidberg|wisehead|wonders never cease|yippee skippy|you and whose army|you got a mouse in your pocket|you kiss your mother with that mouth|you must be fun at parties|Your Highness|Your Majesty)">
    <!ENTITY rude_sarcastic_2 "(?:are you blind\?|are you deaf\?|bite me|I hope you're happy[\.!]|oh really\!?\?|since when\?|whoosh[\.!]|you don't say\?|you think\?)"><!-- XXX should be avoided in writing: what's new\?|what else is new| -->
    <!ENTITY rude_sarcastic_3 "(?:glorified)">
    <!ENTITY ATD_to_collocation "(?:ability|able|according|adds?|adding|addition|adherence|adhere|agreeing|aims|akin|allude|allusion|amounting|analogous|apt|aversion|belonging|belongs?|ceases|clinging|cling|closer|clung|commitment|conducive|conform|contributes?|contribution|decides|dedicated|deductible|defaults|deletions|desire|detrimental|due|eager|endeavours?|fails|going|hesitate|homage|inability|intending|intends?|liable|listening|listen|newsletter|ought|owing|percent|pertaining|preferable|prelude|prepares|prior|proceeded|prone|proportional|proximity|pursuant|reacting|recourse|refer|referring|refers|refusal|relates|relating|reluctant|resemblance|resistant|responding|respond|scrambling|strive|strove|subscribe|susceptible|tendency|tending|tends?|testament|thanks|unable|unwilling|willingness|willing)">
    <!ENTITY file_name_extensions "asp|aspx|avi|bak|bat|bin|bmp|cab|cfg|cgi|com|conf|config|cs[sv]|dat|db|dbf?|de|dep|dll|doc|docx?|dot|eps|exe|flv|gif|htm|html|he?ic|ibooks|ico|ini|jar|java|jpe?g|js|json|jsp|key|lnk|log|md|mdb|med|mid|mov|mp3|mp4|mpa|mpeg|mpg|pdf|php|pkg|pl|png|pps|ppt|pptx|pro|properties|ps|psd|py|rb|rpm|rss|sh|sql|src|svg|swf|swift|sys|tar|template|tex|tif|tiff|tmp|txt|vob|wav|wma|wmv|xhtml|xls|xlsx|xml|xsl|yaml|yml|zip|zipx|sav">
    <!ENTITY hyphen "(?:[–\-—])">
    <!ENTITY adverb_abbreviations "spec|def|probs?|int|ult|atm">
    <!ENTITY adjectives_with_ing "admiring|alarming|amazing|aggravating|amusing|annoying|appealing|astonishing|astounding|binding|boring|captivating|challenging|charming|comforting|confusing|convincing|daunting|debilitating|deceiving|depressing|deserving|devastating|disappointing|disapproving|discouraging|disgusting|distracting|distressing|disturbing|embarrassing|encouraging|entertaining|enticing|exciting|exhausting|fascinating|freaking|frightening|frustrating|fulfilling|gratifying|inspiring|insulting|interesting|intriguing|irritating|liberating|moving|mumbling|outgoing|overwhelming|perplexing|pleasing|puzzling|relaxing|relieving|rewarding|satisfying|shocking|sickening|soothing|surprising|tempting|terrifying|threatening|thrilling|tiring|touching|troubling|unsettling|uplifting|willing|worrying">
    <!ENTITY it_s "Did you mean <suggestion>it's</suggestion> (short for 'it is') instead of 'its' (possessive pronoun)?">
    <!ENTITY it_s_has "Did you mean <suggestion>it's</suggestion> (short for 'it is' or 'it has') instead of 'its' (possessive pronoun)?">
    <!ENTITY its "Did you mean <suggestion>its</suggestion> (possessive pronoun) instead of 'it’s' (short for 'it is')?">
    <!ENTITY you_re "Did you mean <suggestion>you're</suggestion> (short for 'you are')?">
    <!ENTITY affect_effect "Did you mean <suggestion>effect</suggestion> (consequence, outcome, result)?">
    <!ENTITY effect_affect "Did you mean <suggestion>affect</suggestion> (have an effect upon)?">
    <!ENTITY sometlds "com|de|net|edu|uk|org|info|nl|eu|cn|biz|at|ch|fr|tv|to|fm|es|it|gov|mil|mx|pt|dev|us|sg|me|io|app|shop|club|games|in|co|cloud|no|se|dk|ie|cc|tk|ai|au|nz|za|cm|ng|tw|jp|kg|ag|site|int|my|ir|pk|mobi|asia|hk|mz|xyz|design|ventures|services|cat|ly|name|world|online|consulting|digital|be|is|sex|web|lab|local|bio|live|ngo">

    <!-- abbreviations of verbs (rather informal, but good for antipatterns) -->
    <!ENTITY verb_abbreviations "fwds?|rsvps?|dms?|pms?|execs?|reps?|mods?|noms?|intros?|intercoms?|bbqs?|chgs?|fts?|recs?|exps?|collab|repro|confs?|devs?">

    <!-- verbs that when spelled as one word become a noun -->
    <!ENTITY nouns_with_up "(mash|check|scale|slap|sign|break|mess|mix|pull|push|walk|tie|take|sit|top|warm|run|hang|start|pop|line|catch|stand|mark|set|pick|back|hook|clean|look|make|follow|cover|brush|get|lock|step|speed|mock|link|dial|wash|wake|screw|hurry|call|fuck|straight|grown|split)">
    <!ENTITY nouns_with_off "(log|show|spin|take|sign|write|pay|run|hand|drop|kick|lay|shut|cut|rub|stand|trade|send|brush|turn|lift|rip)">
    <!ENTITY nouns_with_down "(shoot|lock|back|slow|drop|break|shut|count|let|write|take|step|drill|mark|touch)">
    <!ENTITY nouns_with_over "(turn|hand|roll|fail|sleep|voice|take|pop|do|make|cross|hold|spill|stop|pull)">
    <!ENTITY nouns_with_out "(call|miss|hand|fall|cut|slip|black|opt|stand|pull|hide|bail|pay|freak|hang|shout|cash|print|try|burn|sign|log|break|time|look|roll|work|check|lay|take|read|knock|wash|watch|carry|turn|drop|make|cheap|phase)">
    <!ENTITY nouns_with_back "(play|push|pull|charge|stand|pay|kick|roll|call|come|feed|fall|buy|set|throw|flash|draw)">
    <!ENTITY nouns_with_away "(run|get|take|give|cast|fly|break|walk|work)">
    <!ENTITY nouns_with_in "(run|get|take|give|add|drop|fill|opt|check|sleep|plug|trade|call|drive|walk|pull|write|log|break|step|sign)">
    <!ENTITY nouns_with_ahead "(go|type)">
    <!ENTITY nouns_with_by "(stand)">
    <!ENTITY nouns_with_alone "(stand)">
    <!ENTITY nouns_with_still "(stand)">
    <!ENTITY nouns_with_on "(log|follow|slip)">
    <!ENTITY nouns_with_around "(work|roll|get|go)">
    <!ENTITY nouns_with_through "(walk|break|strike|pass|feed|read|play|sell|click|see)">

    <!ENTITY incorrect_noun_verbs "&nouns_with_up;-?up|&nouns_with_off;-?off|&nouns_with_down;-?down|&nouns_with_over;-?over|&nouns_with_out;-?out|&nouns_with_back;-?back|&nouns_with_away;-?away|&nouns_with_in;-?in|&nouns_with_still;-?still|&nouns_with_ahead;-?ahead|&nouns_with_by;-?by|&nouns_with_alone;-?alone|&nouns_with_on;-?on|&nouns_with_around;-?around|&nouns_with_through;-?through">

    <!-- words that are informally used as verbs but aren't tagged and shouldn't be tagged as a verb -->
    <!ENTITY not_really_verbs "self\-?(support|control)s?|outturn(s|ed)?|unreads?|basket(s|ed)?|hula(s|ed)?|wakeboard(s?|ed)?|pre\-?contacts?|self-disclose[sd]?|overdrafts?|oversizes?|remote[ds]?|nerds?|wrought|karates?|paths?|scapes?|videos?|fann(y|ies)?|bonus(es)?|back\-?ups?|pop\-?ups?|one\-?(shot|click)s?|idiot\-?proofs?|intakes?|rinds?|gaslits?|errors?|prox(y|ies)?|configs?|repros?|super\-?sets?|open\-?sources?|drag\-(and|n)\-drops?|hotfix(es)?|timeouts?|shutdowns?|disposition(ed|s)?|unpackage(d|s)?|unallocate(d|s)?|outcast(ed|s)?|furnace(d|s)?|necro(e?s|ed)?|make-or-break|backdoor(ed|s)?|shitpost(ed|s)?|spoiler(ed|s)?|sub-?sets?|upcharge[ds]?|tribute[ds]?|rebrands?">

    <!-- transitive verbs -->
    <!ENTITY typically_transitive_verbs "add|allow|bring|get|keep|let|link|lump|make|nominate|piece|put|see|send|tie">

    <!-- words that are probably more often used as a noun, preposition or interjection -->
    <!ENTITY uncommon_verbs "ooh|key|chevy|dam|rice|twin|taboo|core|lullaby|ginger|patronage|buddy|guy|wive|van|green|toenail|pothole|yellow|safari|crap|bulldog|voodoo|minute|radio|fair|squirrel|ape|fox|badger|ferret|beagle|parrot|rat|arbitrage|privilege|deed|wolf|contango|coo|cat|tot|jut|bulletin|purpose|bitter|zinc|yuck|dot|valet|overnight|automobile|toilet|grandfather|mushroom|luck|paragraph|ambition|concept|field|baby|doll|flower|soldier|dude|volume|letter|id|pipeline|blackberry|bin|pretzel|turtle|panel|muscle|silver|warehouse|wood|machine|magic|clown|traffic|page|monkey|version|bundle|fan|till|dog|reason|garage|chapter|company|conference|chance|candy|room|console|margin|rabbit|article|cheese|while|yes|queen|gas|oil|officer|term|people|evidence|max|captain|case|step|minister|fun|water|excel|church|husband|dinner|police|curl|weed|platform|best|better|worst|twitter|prod|summit|calendar|chair|belt|mesh|curry|spam|sauce|lord|section|sheet|weekend|even|breakfast|tent|word|mad|mine|blue|eclipse|diesel|up|down|content|off|pretty|minor|well|physic|knight|dirty|tree|peter|harry|matt|mike|nick|bob|rick|sally|ralph|carol|war|shrimp|table|kit|gang|pen|soup|founder|proverb|jimmy|marcel|roger|wallpaper">

    <!-- verbs often used with infinitival 'to' as oppsed to 'for -ing' -->
    <!ENTITY infinitive_verbs "accomplish|allow|annex|be|build|cause|chill|close|collateralize|complement|concede|contain|create|date|deceive|demolish|denote|depict|designate|dig|discuss|do|drive|encapsulate|establish|evacuate|expound|feed|force|form|frighten|identify|improve|include|infer|join|keep|kill|learn|light|lower|lube|make|mark|mean|mimic|murder|open|pay|persuade|price|reply|show|shut|slow|speak|spice|strengthen|swap|take|teach|terrify|up">
    <!ENTITY verbs_followed_by_infin "afford|agree|arrange|attempt|choose|dare|decide|expect|fail|forget|hate|help|hope|intend|learn|like|love|manage|mean|need|plan|prefer|promise|refuse|remember|suppose|tend|threaten|try|want">
    <!-- nouns often used with "you" (e.g. "You guys are crazy!")-->
    <!ENTITY nouns_with_you "two|three|four|men|women|bros|sis|buddy|buddies|folks?|mates|fools|[gp]als|guys|gals|fuckers?|brothers|dudes|kids|devs|idiots|girls|boys|lads|people|wives|bastards|morons|traitors|shanks|dicks|weirdos|douchebags|murderers|rapscallions|dummkopfs?|wannabee?s?|honeybuns?|honeys?|gringos?|genius(es)?|cuties?|dems?|bestie?|scumbags?|amigos?|peeps?">

    <!-- words that are very uncommon but are likely misspellings of verbs (these words should be in prohibit.txt) -->
    <!ENTITY commonly_misspelled_verbs "sel|wen|pul|sai|mises|os|fils?|gat|thew|incluses?|fucus|dit|loke|tret|ser">

    <!ENTITY hyphen_modifier "based|powered|shaped|sponsored|specific|driven|related|dominated|focuss?ed|friendly|worthy|oriented|connected|protected|operated|resistant|agnostic|generated|centric|compliant|dependent|wide|free|compatible|sized|owned|tolerant|influenced">

    <!ENTITY subject_pronouns "I|you|he|she|it|we|they|one">
    <!ENTITY object_pronouns "me|you|him|her|it|us|them|one">
    <!ENTITY uom_abbreviations_SI "(Y|Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|p|f|a|z|y)?(m|g|s|A|K|mol|cd|rad|sr|Hz|N|Pa|J|W|C|V|F|Ω|S|Wb|T|H|lm|lx|Bq|Gy|Sv|kat|min|h|d|L|t|Np|B|eV|u|ua)"><!-- https://physics.nist.gov/cuu/Units/units.html -->
    <!ENTITY uom_abbreviations_other "bpm|Btu|BTU|cc|dB|ft|hp|hr|in|ipm|kcal|kph|lb|lm|mcg|mi|min|ml|MMBtu|mpg|mph|ppb|psi|ppm|rpm|yd"><!-- Not a full list. Last updated 2021-07-21. Why is km necessary? It is in uom_abbreviations_SI. -->
    <!ENTITY subordinating_conjunctions "after|although|as|because|before|if|lest|like|once|save|since|than|that|though|unless|until|whenever|where|whereas|wherever|whether|while|why"><!-- #2988. Updated 2020-09-30 -->
    <!ENTITY ambiguous_date '
        <token regexp="yes">0?[1-9]|1[0-2]</token>
        <token>/</token>
        <token regexp="yes">0?[1-9]|1[0-2]</token>
        <token>/</token>
        <token regexp="yes">\d\d\d\d</token>
    '>
    <!-- "7 October 2014" and "7th October 2014" -->
    <!ENTITY date_dmy '
        <token regexp="yes">\d\d?(th)?</token>
        <token regexp="yes">&months;|&abbrevMonths;</token>
        <token regexp="yes">\d\d\d\d</token>
    '>
    <!ENTITY date_dmy_skip '
        <token regexp="yes">\d\d?</token>
        <token regexp="yes">&months;|&abbrevMonths;</token>
        <token regexp="yes" skip="-1">\d\d\d\d</token>
    '>
    <!-- "October 7, 2014" -->
    <!ENTITY date_mdy '
        <token regexp="yes">&months;|&abbrevMonths;</token>
        <token regexp="yes">\d\d?</token>
        <token>,</token>
        <token regexp="yes">\d\d\d\d</token>
    '>
    <!ENTITY date_mdy_optional_comma '
        <token regexp="yes">&months;|&abbrevMonths;</token>
        <token regexp="yes">\d\d?(st|nd|rd|th)?</token>
        <token min="0">,</token>
        <token regexp="yes">\d\d\d\d</token>
    '>
    <!ENTITY date_mdy_skip '
        <token regexp="yes">&months;|&abbrevMonths;</token>
        <token regexp="yes">\d\d?</token>
        <token>,</token>
        <token regexp="yes" skip="-1">\d\d\d\d</token>
    '>
    <!-- "31/10/2014" -->
    <!ENTITY date_dmy_numbers '
        <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
        <token>/</token>
        <token regexp="yes">0?[1-9]|1[0-2]</token>
        <token>/</token>
        <token regexp="yes">\d\d\d\d</token>
    '>
    <!ENTITY date_dmy_numbers_skip '
        <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
        <token>/</token>
        <token regexp="yes">0?[1-9]|1[0-2]</token>
        <token>/</token>
        <token regexp="yes" skip="-1">\d\d\d\d</token>
    '>
    <!-- "10/31/2014" -->
    <!ENTITY date_mdy_numbers '
        <token regexp="yes">0?[1-9]|1[0-2]</token>
        <token>/</token>
        <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
        <token>/</token>
        <token regexp="yes">\d\d\d\d</token>
    '>
    <!ENTITY date_mdy_numbers_skip '
        <token regexp="yes">0?[1-9]|1[0-2]</token>
        <token>/</token>
        <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
        <token>/</token>
        <token regexp="yes" skip="-1">\d\d\d\d</token>
    '>

    <!ENTITY multi_word_verbs '
        <antipattern><!-- https://en.wiktionary.org/wiki/3D_print -->
            <token regexp="yes">3\-?d</token>
            <token inflected="yes">print</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/deep_clean -->
            <token>deep</token>
            <token inflected="yes">clean</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/soft_soap -->
            <token>soft</token>
            <token inflected="yes">soap</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/cold-call -->
            <token>cold</token>
            <token inflected="yes">call</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/dead_end -->
            <token>dead</token>
            <token inflected="yes">end</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/silk_screen -->
            <token>silk</token>
            <token inflected="yes">screen</token>
        </antipattern>
        <antipattern>
            <token>pinky</token>
            <token inflected="yes">promise</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/chest_bump -->
            <token>chest</token>
            <token inflected="yes">pump</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">vid(eo)?</token>
            <token inflected="yes">call</token>
        </antipattern>
        <antipattern>
            <token>quality</token>
            <token inflected="yes">check</token>
        </antipattern>
        <antipattern>
            <token>tea</token>
            <token inflected="yes">bag</token>
        </antipattern>
        <antipattern><!-- https://www.merriam-webster.com/dictionary/beta_test -->
            <token>beta</token>
            <token inflected="yes">test</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/brute_force -->
            <token>brute</token>
            <token inflected="yes">force</token>
        </antipattern>
        <antipattern><!-- https://www.merriam-webster.com/dictionary/couch_surf -->
            <token>couch</token>
            <token inflected="yes">surf</token>
        </antipattern>
        <antipattern>
            <token>reverse</token>
            <token inflected="yes">engineer</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/deep_throat -->
            <token>deep</token>
            <token regexp="yes">dive[sd]?|throat(s|ed)?|clean(s|ed)?</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/cliff_dive -->
            <token>cliff</token>
            <token inflected="yes">dive</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/problem-solve -->
            <token>problem</token>
            <token inflected="yes">solve</token>
        </antipattern>
        <antipattern><!-- sport training -->
            <token>static</token>
            <token inflected="yes">stretch</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/sweet_talk -->
            <token>sweet</token>
            <token inflected="yes">talk</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/road_trip -->
            <token>road</token>
            <token inflected="yes">trip</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/peer_pressure -->
            <token>peer</token>
            <token inflected="yes">pressure</token>
        </antipattern>
        <antipattern><!-- "They could trophy hunt ..." -->
            <token>trophy</token>
            <token inflected="yes">hunt</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/high_five -->
            <token>high</token>
            <token inflected="yes">five</token>
        </antipattern>
        <antipattern><!-- "cherry pick" like a verb (needs hyphen, other rule) -->
            <token>cherry</token>
            <token inflected="yes">pick</token>
        </antipattern>
        <antipattern><!-- like a VB -->
            <token>custom</token>
            <token regexp="yes" inflected="yes">build|tailor</token>
        </antipattern>
        <antipattern>
            <token>borderline</token>
            <token inflected="yes">stalk</token>
        </antipattern>
        <antipattern>
            <token>sword</token>
            <token inflected="yes">fight</token>
        </antipattern>
        <antipattern>
            <token>face</token>
            <token inflected="yes">plant</token>
        </antipattern>
        <antipattern><!-- "private message" like a verb -->
            <token>private</token>
            <token inflected="yes">message</token>
        </antipattern>
        <antipattern><!-- https://www.merriam-webster.com/dictionary/cold_weld -->
            <token>cold</token>
            <token inflected="yes">weld</token>
        </antipattern>
        <antipattern><!-- "bad mouth" like a verb (needs hyphen, other rule) -->
            <token>bad</token>
            <token inflected="yes">mouth</token>
        </antipattern>
        <antipattern><!-- "deep link" like a verb (needs hyphen, other rule) -->
            <token>deep</token>
            <token inflected="yes">link</token>
        </antipattern>
        <antipattern><!-- "idiot proof" like a verb (needs hyphen, other rule) -->
            <token>idiot</token>
            <token>proof</token>
        </antipattern>
        <antipattern><!-- used like a verb -->
            <token skip="1">factory</token>
            <token inflected="yes">reset</token>
        </antipattern>
        <antipattern><!-- I can high pull -->
            <token>high</token>
            <token inflected="yes">pull</token>
        </antipattern>
        <antipattern>
            <token>comma</token>
            <token regexp="yes">sep[ea]rate[ds]?</token>
        </antipattern>
        <antipattern><!-- I can strict press many times -->
            <token>strict</token>
            <token inflected="yes">press</token>
        </antipattern>
        <antipattern><!-- informal verb -->
            <token>deep</token>
            <token inflected="yes">dive</token>
        </antipattern>
        <antipattern>
            <token>piggy</token><!-- "piggy back" needs rule (written as one word) -->
            <token inflected="yes">back</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/island-hop -->
            <token regexp="yes">island|server</token>
            <token inflected="yes">hop</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/roller_skate -->
            <token>roller</token>
            <token inflected="yes">skate</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/password-protect -->
            <token>password</token>
            <token inflected="yes">protect</token>
        </antipattern>
        <antipattern>
            <token>social</token>
            <token regexp="yes">(distanc|isolat)(e|ed|ing|es)</token>
        </antipattern>
        <antipattern><!-- https://www.merriam-webster.com/dictionary/guilt_trip -->
            <token>guilt</token>
            <token inflected="yes">trip</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/hula_hoop -->
            <token>hula</token>
            <token regexp="yes">hoop(ed|s|ing)?</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/hula_hoop -->
            <token>beta</token>
            <token inflected="yes">test</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/hard_code -->
            <token>hard</token>
            <token inflected="yes">code</token>
        </antipattern>
        <antipattern>
            <token>git</token>
            <token inflected="yes" regexp="yes">push|pull|commit</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">fed(eral)?</token>
            <token regexp="yes">ex(press)?</token>
        </antipattern>
        <antipattern>
            <token>http</token>
            <token inflected="yes">post</token>
        </antipattern>
        <antipattern>
            <token>mountain</token>
            <token inflected="yes">bike</token>
        </antipattern>
        <antipattern>
            <token>jerry</token>
            <token inflected="yes">rig</token>
        </antipattern>
        <antipattern>
            <token inflected="yes" skip="1">cheap</token>
            <token>out</token>
        </antipattern>
        <antipattern>
            <token>strong</token>
            <token inflected="yes">arm</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/one_up -->
            <token>one</token>
            <token inflected="yes">up</token>
        </antipattern>
        <antipattern>
            <token>deeper</token>
            <token inflected="yes">understand</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/titty_fuck -->
            <token regexp="yes">titt(ie|y)|fist</token>
            <token inflected="yes">fuck</token>
        </antipattern>
        <antipattern>
            <token>lip</token>
            <token inflected="yes" regexp="yes">synch?</token>
        </antipattern>
        <antipattern><!-- https://en.wiktionary.org/wiki/executive_produce#English -->
            <token>executive</token>
            <token inflected="yes">produce</token>
        </antipattern>
        <antipattern><!-- https://www.lexico.com/definition/peer_review -->
            <token>peer</token>
            <token inflected="yes">review</token>
        </antipattern>
    '>

    <!ENTITY nouns_with_a 'series?|slot|(sub-?)?section|angle|choice|point|plan|exhibit|annex|part|person|group|team|participant|patient|level|probant|type|region|zone|band|source|influenza|hepatitis|grade|formula|document|division|class|category|dock|column|appendix|macro|criterion|vitamin|model|graph|tier|option|party|enzyme|object|genotype|cohort|rank|bisphenol|copulative|sample|subject|line'>
    <!ENTITY nouns_with_i 'axis|appendix|unit|article|block|phase|class|grade|part|paragraph|section|chaos|enigma|book|war|king|current|mustang|type|division|level|bi\-?polar|century|tier|numeral|algorithm|auschwitz|charles|fukushima|algebra|angiotensin|diablo|yaroslav|yazid|alaric|sigismund|darius|charibert|bolesław|justinian|mhc|radama|xerxes|gregory|stage|salt|elizabeth|zog|amendment|antigonus|otto|calculus|bayezid|leonidas|cleomenes|anaxandridas'>
    <!ENTITY given_names_that_are_also_nouns 'matt|mike|trump|jack|tom|mark|nick|chad|robin|laura|clement|victor|martin|bob|bobby|steven|morgan|john|peter|rick|sally|carol|jerry|anna|jessie|eric'>

    <!-- These can be adjectives or VBNs in passive constructions AND are more likely to be passive voice VBNs -->
    <!ENTITY ispassive "accepted|added|addressed|adopted|affected|agreed|applied|assured|attached|barred|beaten|billed|blocked|burned|calculated|called|checked|cleaned|committed|condensed|conducted|confirmed|considered|conveyed|cooked|cooled|cultivated|cut|defeated|demolished|depicted|designed|destroyed|determined|discovered|distributed|documented|drawn|driven|dropped|dumped|elected|executed|expanded|fascinated|featured|fitted|flooded|gathered|grown|handled|held|hewn|hidden|implemented|improved|incorporated|left|loaded|mailed|marked|measured|needed|offended|opened|ordered|outclassed|overblown|overthrown|parked|placed|played|prepared|processed|proven|published|raised|recorded|redesigned|reduced|refined|repaired|resolved|roasted|rounded|scheduled|secured|selected|sent|shorn|slit|sloshed|stressed|structured|studied|tested|threatened|tracked|traded|transmitted|transported|turned|uplifted|used|valued|worked|wound|wounded|wreathed|written">

    <!-- These are VBNs of verbs that are mostly used intransitively. Therefore, they are not likely to be used in a passive construction -->
    <!ENTITY notpassive "bewildered|born|broken|complicated|crowded|devoted|disappointed|drunk|excited|experienced|fit|forbidden|frightened|frozen|hidden|intended|interested|intoxicated|limited|married|mistaken|obsessed|opposed|proven|related|ruined|satisfied|soaked|sophisticated|suited|surprised|surrounded|tired|upset|wet|wicked|worried">

    <!ENTITY SV_agreement_clauses_subrule_1 '
        <antipattern>
            <token regexp="yes" skip="2">that|which|who</token>
            <token postag="MD" />
            <token min="0" inflected="yes">not</token>
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
        <antipattern>
            <token regexp="yes" skip="2">that|which|who</token>
            <token regexp="yes" inflected="yes">be|do|can|have</token>
            <token min="0" inflected="yes">not</token>
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
    '>
    <!ENTITY SV_agreement_clauses_subrule_2 '
        <antipattern>
            <token regexp="yes" skip="-1">after|before|that|until|which|who(m|se)?</token>
            <token chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token postag="MD" />
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
        <antipattern>
            <token regexp="yes" skip="-1">after|before|that|until|which|who(m|se)?</token>
            <token chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token regexp="yes" inflected="yes">be|can|do|have|help</token>
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
    '>
    <!ENTITY SV_agreement_singular_clauses_subrules_3_4 '
        <antipattern>
            <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            <token min="0" chunk_re="B-NP.*" />
            <token min="0" max="3" chunk_re="I-NP.*" />
            <token min="0" chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token inflected="yes">be</token>
            <token min="0" postag="RB" />
            <token postag="VBN" />
            <token><exception postag="IN|RP|TO" postag_regexp="yes" /></token>
        </antipattern>
        <antipattern>
            <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            <token min="0" chunk_re="B-NP.*" />
            <token min="0" max="3" chunk_re="I-NP.*" />
            <token min="0" chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token postag="MD" />
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
        <antipattern>
            <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            <token min="0" chunk_re="B-NP.*" />
            <token min="0" max="3" chunk_re="I-NP.*" />
            <token min="0" chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token regexp="yes" inflected="yes">be|can|do|have|help</token>
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
        <antipattern>
            <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            <token min="0" chunk_re="B-NP.*" />
            <token min="0" max="3" chunk_re="I-NP.*" />
            <token min="0" chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token postag="V.*" postag_regexp="yes" />
            <token skip="1">will</token>
            <token postag="VBP" />
        </antipattern>
        <antipattern>
            <token regexp="yes" inflected="yes">help|let|make</token>
            <token chunk_re="B-NP.*" />
            <token min="0" max="3" chunk_re="I-NP.*" />
            <token min="0" chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token postag="VBP" />
        </antipattern>
        <antipattern>
            <token skip="2" postag="VBP">
                <exception scope="next" regexp="yes">after|before|that|until|which|who(m|se)?</exception>
            </token>
            <token postag="VBZ" chunk_re=".-VP" />
        </antipattern>
        <antipattern>
            <token regexp="yes">I|you|we|they</token>
            <token postag="VBP" />
        </antipattern>
    '>
    <!ENTITY SV_agreement_plural_clauses_subrules_3_4 '
        <antipattern>
            <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            <token min="0" chunk_re="B-NP.*" />
            <token min="0" max="3" chunk_re="I-NP.*" />
            <token min="0" chunk_re="E-NP.*" />
            <token min="0" postag="RB" />
            <token inflected="yes">have</token>
            <token min="0" postag="RB" />
            <token>been</token>
            <token postag="VBN" />
            <token><exception postag="IN|RP|TO" postag_regexp="yes" /></token>
        </antipattern>
        <antipattern>
            <token skip="2" postag="VBZ">
                <exception scope="next" regexp="yes">after|before|that|to|until|which|who(m|se)?</exception>
            </token>
            <token postag="VBP" chunk_re=".-VP|O">
                <exception postag="RP" />
            </token>
        </antipattern>
        <antipattern>
            <token postag="NNP" />
            <token postag="VBZ" />
        </antipattern>
        <antipattern>
            <token regexp="yes">it|s?he</token>
            <token postag="VBZ" />
        </antipattern>
    '>
]>

<rules lang="en" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <phrases>
    <phrase id="CITATION">
          <token postag="SENT_START"/>
          <token regexp="yes">[«“]|&quot;</token>
    </phrase>
    <phrase id="DIALOG">
          <token postag="SENT_START"/>
          <token regexp="yes">[–—]|\-</token>
    </phrase>
    <phrase id="DIALOG_CITATION">
          <token postag="SENT_START"/>
          <token regexp="yes">[«“]|&quot;</token>
          <token regexp="yes">[–—]|\-</token>
    </phrase>
    <phrase id="REGULAR_SENT_START">
          <token postag="SENT_START"/>
    </phrase>
    <phrase id="ALL_SENT_START">
      <includephrases>
          <phraseref idref="REGULAR_SENT_START"/>
          <phraseref idref="CITATION"/>
          <phraseref idref="DIALOG"/>
          <phraseref idref="DIALOG_CITATION"/>
      </includephrases>
    </phrase>
  </phrases>

    <!--
    <category id="APRIL" name="April 1st">
        <rule id="APRIL_1ST" name="good advice">
            <pattern>
                <token>I</token>
                <token>want</token>
                <token>to</token>
                <token>buy</token>
                <token regexp="yes">a|an</token>
                <token min="0" regexp="yes">new|nice|cool|hot|good|great|amazing</token>
                <marker>
                    <token>BMW</token>
                </marker>
            </pattern>
            <message>No you don't.</message>
           <suggestion>Tesla</suggestion>
           <example correction="Tesla">I want to buy a <marker>BMW</marker>.</example>
           <example correction="Tesla">I want to buy a new <marker>BMW</marker>.</example>
        </rule>
    </category>
    -->

    <category id="CASING" name="Upper/Lowercase">
        <rule id="OMICRON_VARIANT" name="Omicron">
            <pattern>
                <marker>
                    <token case_sensitive="yes" regexp="yes">omicron|delta</token>
                </marker>
                <token regexp="yes">variants?|virus|mutations?|infected|infections?|diseases?|corona|covid-?19</token>
                </pattern>
                <message>The name of this virus variant is normally capitalized.</message>
            <suggestion><match no="1" case_conversion="startupper" /></suggestion>
            <url>https://en.wikipedia.org/wiki/SARS-CoV-2_Omicron_variant</url>
            <example correction="Omicron">The <marker>omicron</marker> variant appeared in November 2021.</example>
        </rule>
        <rule id="SAAS" name="SAAS (SaaS)">
            <antipattern>
                <token skip="-1" regexp="yes">seattle|singapor.*</token>
                <token>saas</token>
            </antipattern>
            <antipattern>
                <token skip="-1">saas</token>
                <token regexp="yes">seattle|singapor.*</token>
            </antipattern>
            <pattern>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[PS]AAS|[psPS]aas</token>
                </marker>
                <token regexp="yes">solutions?|ceos?|ctos?|clouds?|configurations?|web|internet|configs?|apis?|business(es)?|start-?ups?|compan(y|ies)|enterprise|services?|apps?|applications?|markets?|industr(y|ies)|providers?|clients?|servers?|infrastructures?|websites?|stocks?|deployment|platforms?|products?|subscriptions?|models?|payments?|features?|(dis)?advantages?|benefits?|tech(nolog(y|ies))?|marketing|guide|investors?|on-premise|software|licenses?|licensing|databases?|budgets?|sales|hosting|hosters?|pricings?|prices?</token>
            </pattern>
            <message>The recommended spelling for the acronym for "Software/Platform as a Service" is <suggestion><match no="1" regexp_match="(?i)aas" regexp_replace="aaS" case_conversion="startupper" /></suggestion>.</message>
            <example correction="SaaS">I run a <marker>SAAS</marker> business.</example>
        </rule>
        <rule id="HALLOWEEN" name="Halloween">
            <pattern>
                <token case_sensitive="yes">halloween</token>
            </pattern>
            <message>The name of this day needs to be capitalized.</message>
            <suggestion>Halloween</suggestion>
            <url>https://www.merriam-webster.com/dictionary/Halloween</url>
            <example correction="Halloween">It's trick or treat on <marker>halloween</marker>.</example>
        </rule>
        <rule id="U_TURN" name="u-turn (U-turn)">
            <pattern>
                <token case_sensitive="yes" regexp="yes">u-(turn|boat|bend|value)s?</token>
            </pattern>
            <message>The letter "U" needs to be capitalized in the noun <suggestion><match no="1" case_conversion="startupper" /></suggestion>.</message>
            <example correction="U-turn">At the end of the street he had to make a <marker>u-turn</marker>.</example>
        </rule>
        <rule id="V_SHAPED" name="v-shaped (V-turn)">
            <pattern>
                <token case_sensitive="yes" regexp="yes">[uvalc]-shaped</token>
            </pattern>
            <message>The first letter in this adjective needs to be capitalized.</message>
            <suggestion><match no="1" case_conversion="startupper" /></suggestion>
            <example correction="V-shaped">The object was <marker>v-shaped</marker>.</example>
        </rule>
        <rule id="PONZI_SCHEME" name="Ponzi scheme">
            <pattern>
                <token case_sensitive="yes">ponzi</token>
                <token regexp="yes">schemes?</token>
            </pattern>
            <message>The name "Ponzi" needs to be capitalized in the noun <suggestion>Ponzi \2</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/Ponzi%20scheme</url>
            <example correction="Ponzi scheme">A <marker>ponzi scheme</marker> is a form of fraud.</example>
        </rule>
        <rule id="GEIGER_COUNTER" name="Geiger counter">
            <pattern>
                <token case_sensitive="yes">geiger</token>
                <token regexp="yes">counters?</token>
            </pattern>
            <message>The name "Geiger" needs to be capitalized in the noun <suggestion>Geiger \2</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/Geiger%20counter</url>
            <example correction="Geiger counter">A <marker>geiger counter</marker> can detect radioactivity.</example>
        </rule>
        <rule id="LA_PAZ" name="La Paz">
            <antipattern case_sensitive="yes">
                <token regexp="yes">La|LA</token>
                <token regexp="yes">Paz|PAZ</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">del?|que</token>
                <token>la</token>
            </antipattern>
            <pattern>
                <token>la</token>
                <token>paz</token>
            </pattern>
            <message>The city name <suggestion>La Paz</suggestion> needs to be capitalized.</message>
            <example correction="La Paz">I live in <marker>la paz</marker>.</example>
            <example>I live in 	San Pedro de la Paz.</example>
        </rule>
        <rulegroup id="LOWERCASE_NAMES" name="harry's (Harry's)">
            <antipattern>
                <token regexp="yes">quotation|exclamation|the</token>
                <token>mark</token>
            </antipattern>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">
                        <exception regexp="yes" scope="previous">the|an?|my|y?our|his|her|their</exception>
                        harry|rob|&given_names_that_are_also_nouns;
                    </token><!-- lowercase names that are also verbs or adjectives -->
                    <token spacebefore="no">'s</token>
                </pattern>
                <message>If you mean the name of a person you should capitalize the name.</message>
                <suggestion><match no="1" case_conversion="startupper" />\2</suggestion>
                <example correction="Harry's">It was <marker>harry's</marker> brother who did it.</example>
                <example>That is no fault of Jack's.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">heya?|hi|hello|bonjour|howdy|salut|dear(est)?</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                </pattern>
                <message>The name <suggestion><match no="2" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Harry">Hey <marker>harry</marker>, how are you?</example>
            </rule>
            <rule>
                <pattern>
                    <token>good</token>
                    <token regexp="yes">evening|day|morning|afternoon</token>
                    <token min="0">,</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                </pattern>
                <message>The name <suggestion><match no="4" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Harry">Good morning <marker>harry</marker>, how are you?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">thanks?</token>
                    <token min="0">you</token>
                    <token min="0">,</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>The name <suggestion><match no="4" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Harry">Thank you <marker>harry</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>The name <suggestion><match no="2" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Harry">I think we should do it because <marker>harry</marker> is happy.</example>
                <example type="triggers_error">Max has explained to me that as the trades are entered into the system we will go in and mark confirmed when we agree.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">think|hope|believe|assume|doubt|know|say|mention</token>
                    <token min="0">that</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>The name <suggestion><match no="3" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Harry">I think <marker>harry</marker> is happy.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re="E-NP.*">name</token>
                    <token regexp="yes">is|'s</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                </pattern>
                <message>The name <suggestion><match no="3" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Rob">My name is <marker>rob</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP">call</token>
                    <token regexp="yes">me|him|her</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            harry|rob|&given_names_that_are_also_nouns;
                        </token>
                    </marker>
                </pattern>
                <message>The name <suggestion><match no="3" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
                <example correction="Rob">They call me <marker>rob</marker>.</example>
            </rule>
            <!-- TODO:
                * Why is john happy?
                * Is john the right guy?
            -->
        </rulegroup>
        <rule id="FILE_EXTENSIONS_CASE" name="Capitalize file extensions"><!-- TODO: maybe picky -->
            <!-- provides a better suggestion than the spell checker -->
            <antipattern>
                <token regexp="yes">[._\/&lt;#]</token>
                <token regexp="yes">[a-z]+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[a-z\/].*</token>
                <token regexp="yes">[_&gt;]</token>
            </antipattern>
            <antipattern>
                <token>?</token>
                <token>php</token>
            </antipattern>
            <antipattern>
                <token>DOCTYPE</token>
                <token>html</token>
            </antipattern>
            <antipattern>
                <token>php</token>
                <token>-</token>
                <token spacebefore="no" regexp="yes">[a-z0-9].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">.*[a-z].*</token>
                <token regexp="yes" spacebefore="no">[_.\[\(\/:]</token>
                <token regexp="yes" spacebefore="no">.*[a-z].*</token>
            </antipattern>
            <pattern>
                <!-- this needs to be in sync with IGNORE_SPELLING_OF_FILE_EXTENSIONS -->
                <token regexp="yes" case_sensitive="yes">pdf|jpe?g|gif|png|svg|docx|xlsx?|pptx|html|php|s?css|jsx?|heif|mpe?g|exe|dmg|xml</token>
            </pattern>
            <message>File types are normally capitalized.</message>
            <suggestion><match no="1" case_conversion="allupper" /></suggestion>
            <example correction="PDF">Please see the attached <marker>pdf</marker>.</example>
        </rule>
        <rulegroup id="ID_CASING" name="id (ID / I'd)">
            <antipattern>
                <token regexp="yes">[_.]|&apostrophe;</token>
                <token spacebefore="no" regexp="yes">ids?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">ids?</token>
                <token regexp="yes" spacebefore="no">[_.]</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern>
                <token spacebefore="no" />
                <token spacebefore="no">:</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">:</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern>
                <token>id</token>
                <token regexp="yes">[=\}\]/]</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">(</token>
                <token>id</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token>id</token>
                <token regexp="yes">&quote;</token>
            </antipattern>
            <antipattern>
                <token>fr</token>
                <token>id</token>
                <token>ay</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">ids?</token>
                <token regexp="yes">.*egos?|psych.*|idems?|pleasure.*|freud|freudian|principles?|primitive|primal|instincts?|impulsive|unconscious.*|personalit(y|ies)?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">.*egos?|psych.*|idems?|pleasure.*|freud|freudian|principles?|primitive|primal|instincts?|impulsive|unconscious.*|personalit(y|ies)?</token>
                <token regexp="yes">ids?</token>
            </antipattern>
            <antipattern>
                <token>id</token>
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token>id</token>
                <token regexp="yes" inflected="yes">satisfy|operate|(pre-?)?dominate</token>
            </antipattern>
            <antipattern>
                <token>part</token>
                <token>of</token>
                <token>the</token>
                <token>id</token>
            </antipattern>
            <antipattern>
                <token>)</token>
                <token spacebefore="no">ids</token>
            </antipattern>
            <antipattern>
                <token>id</token>
                <token>is</token>
                <token>responsible</token>
            </antipattern>
            <antipattern>
                <token>id</token>
                <token>driven</token>
            </antipattern>
            <antipattern><!-- proper noun -->
                <token>id</token>
                <token>software</token>
            </antipattern>
            <rule>
                <antipattern><!-- caught by second rule -->
                    <token regexp="yes" inflected="yes">unique|member|department|job|user|item|e-?mail|coupon|project|product|article|post|resource|report|module|database|book|guest|plugin|hub|element|number|mode|doc(ument)?|page|site|website|instance|device|customer|consumer|client|column|person|widget|name|file|folder|network|app(lication)?|account|phone</token>
                    <token regexp="yes" min="0">'s|&apostrophe;</token>
                    <token>id</token>
                </antipattern>
                <antipattern><!-- caught by second rule -->
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token>id</token>
                </antipattern>
                <antipattern><!-- caught by second rule -->
                    <token regexp="yes">with|by</token>
                    <token>id</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">id</token>
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN" />
                    </token>
                    <token postag="VBN?" postag_regexp="yes">
                        <exception regexp="yes">attribute|label|equal|found|card|number|&uncommon_verbs;|configured?</exception>
                    </token>
                </pattern>
                <message>The abbreviation for "identification" is spelled all-uppercase, or did you mean "I'd" (= I would/had)?</message>
                <suggestion>I'd</suggestion>
                <suggestion><match no="1" regexp_match="(?)id" regexp_replace="ID" /></suggestion>
                <example correction="I'd|ID">I think <marker>id</marker> preferred your solution.</example>
                <example correction="I'd|ID">Well, <marker>id</marker> probably just go home.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>id</token>
                    <token>quod</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">ids?</token>
                </pattern>
                <message>This abbreviation for "identification" is spelled all-uppercase.</message>
                <suggestion><match no="1" regexp_match="(?)id" regexp_replace="ID" /></suggestion>
                <example correction="ID">My <marker>id</marker> proves that I'm over 18 years old.</example>
                <example>Parameter #0: [id:0, scaledConfigurationValue:0, size:1]</example>
                <example>.id is the Internet country code top-level domain for Indonesia.</example>
                <example>2013 – Musa'id bin Abdulaziz Al Saud, Saudi Arabian prince (b. 1923)</example>
                <example>People talked about psychoanalysis - ego and superego and ids and repressed early experiences.</example>
                <example>In 1419, Sultan Abu Sa'id led an army to reconquer the fallen city, and Moroccans brought cannons and used them in the assault on Ceuta.</example>
                <example>The id operates based on the pleasure principle, which demands immediate gratification of needs.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CAPITALIZATION" name="capitalize proper names, geographic terms, historic episodes...">
            <short>Capitalization</short>
            <rule>
                <regexp case_sensitive="yes">\b(((north|south) (Atlantic|American?|African?|Korean?|Carolina|Dakota))|((east|west)(ern)? (Germany?|Europe|Virginia))|(grand [cC]anyon)|(mount Everest)|(great [Bb]ritain)|(great [Bb]ritish))\b</regexp>
                <message>Capitalize specific geographical regions.</message>
                <suggestion><match no="1" regexp_match="(^.)" regexp_replace="$1" case_conversion="startupper"/></suggestion>
                <example correction="South America">She lived several years in <marker>south America</marker>.</example>
                <example correction="East Germany">With the reunification of West and <marker>east Germany</marker>, the Federal Republic of Germany became known simply as 'Germany'.</example>
                <example>The term NATO stands for the <marker>North Atlantic</marker> Treaty Organization.</example>
                <example>Go <marker>south</marker> three blocks and then turn left.</example>
                <example>The <marker>west</marker> coast of Scotland is rainy this time of year.</example>
                <example>Albania is a country in Southeastern Europe.</example>
                <example>The British Isles and North-Western Europe.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Valentine|President|Mother|Father|Patrick|VALENTINE|PRESIDENT|MOTHER|FATHER|PATRICK</token>
                    <token regexp="yes">'s|'S</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">Valentine|President|Mother|Father|Patrick</token>
                    <token>'s</token>
                    <token>day</token>
                </pattern>
                <message>Capitalize holidays.</message>
                <suggestion><match no="1" case_conversion="startupper"/>\2 Day</suggestion>
                <example correction="Valentine's Day">What did you do on <marker>Valentine's day</marker> last year?</example>
                <example>What are your plans for <marker>President's Day</marker>?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">New|NEW</token>
                    <token regexp="yes">Year|YEAR</token>
                    <token regexp="yes">'s|'S</token>
                    <token regexp="yes">Day|Eve|DAY|EVE</token>
                </antipattern>
                <pattern>
                    <token>New</token>
                    <token>Year</token>
                    <token>'s</token>
                    <token regexp="yes">day|eve</token>
                </pattern>
                <message>Capitalize holidays.</message>
                <suggestion>New Year's <match no="4" case_conversion="startupper"/></suggestion>
                <example correction="New Year's Eve">What did you do on <marker>New Year's eve</marker>?</example>
                <example correction="New Year's Eve">What did you do on <marker>New year's eve</marker>?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Veterans|VETERANS</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token>veterans</token>
                    <token>day</token>
                </pattern>
                <message>Capitalize holidays.</message>
                <suggestion><match no="1" case_conversion="startupper"/> Day</suggestion>
                <example correction="Veterans Day">What did you do on <marker>Veterans day</marker> last year?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Singles|SINGLES</token>
                    <token spacebefore="no" regexp="yes">&apostrophe;</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token>singles</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token>day</token>
                </pattern>
                <message>Did you mean the holiday <suggestion>Singles' Day</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
                <url>https://en.wikipedia.org/wiki/Singles'_Day</url>
                <example correction="Singles' Day">The <marker>singles day</marker> is a Chinese unofficial holiday.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">St|ST|SAINT</token>
                    <token min="0">.</token>
                    <token regexp="yes">Martin|MARTIN</token>
                    <token regexp="yes">'s|'S</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">st|saint</token>
                    <token min="0">.</token>
                    <token>martins</token>
                    <token min="0">'s</token>
                    <token>day</token>
                </pattern>
                <message>Did you mean the holiday <suggestion><match no="1" case_conversion="startupper" />\2 Martin's Day</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
                <url>https://en.wikipedia.org/wiki/St._Martin%27s_Day</url>
                <example correction="Saint Martin's Day"><marker>Saint Martins day</marker> is the Funeral day of Saint Martin of Tours.</example>
                <example>St. Martin's Day</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">World|WORLD</token>
                    <token regexp="yes">War|WAR</token>
                    <token regexp="yes">[I12]I?</token>
                </antipattern>
                <pattern>
                    <token>World</token>
                    <token>War</token>
                    <token regexp="yes">[I12]I?</token>
                </pattern>
                <message>Capitalize specific historic events, episodes, and eras.</message>
                <suggestion>World War \3</suggestion>
                <example correction="World War II">How many people died in <marker>world war II</marker>?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Middle|MIDDLE</token>
                    <token regexp="yes">Ages|AGES</token>
                </antipattern>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>Middle</token>
                        <token>Ages</token>
                    </marker>
                </pattern>
                <message>Capitalize specific historic events, episodes, and eras.</message>
                <suggestion>Middle Ages</suggestion>
                <example correction="Middle Ages">The <marker>middle ages</marker> is one of the three major periods in the most enduring scheme for analysing European history.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Cape|CAPE</token>
                    <token regexp="yes">of|OF</token>
                    <token regexp="yes">Good|GOOD</token>
                    <token regexp="yes">Hope|HOPE</token>
                </antipattern>
                <pattern>
                    <token>Cape</token>
                    <token>of</token>
                    <token>Good</token>
                    <token>Hope</token>
                </pattern>
                <message>Capitalize specific geographical places.</message>
                <suggestion>Cape of Good Hope</suggestion>
                <example correction="Cape of Good Hope">The <marker>cape of good hope</marker> is a rocky headland on the Atlantic coast of the Cape Peninsula, South Africa.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Cape|CAPE</token>
                    <token regexp="yes">Cod|Town|COD|TOWN</token>
                </antipattern>
                <pattern>
                    <marker>
                    <token>Cape</token>
                    <token regexp="yes">Cod|Town</token>
                    </marker>
                </pattern>
                <message>Capitalize specific geographical places.</message>
                <suggestion>Cape <match no="2" case_conversion="startupper"/></suggestion>
                <example correction="Cape Cod">Since 1914, <marker>cape cod</marker> has been separated from the mainland by the Cape Cod Canal.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">east|west</token>
                    <token skip="-1">coast</token>
                    <token regexp="yes">north.*|south.*|east.*|west.*|middle|central</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" regexp="yes">north.*|south.*|east.*|west.*|middle|central</token>
                    <token regexp="yes">east|west</token>
                    <token>coast</token>
                </antipattern>
                <antipattern>
                    <token>coast</token>
                    <token>to</token>
                    <token skip="1">the</token>
                    <token>coast</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" regexp="yes">villages?|towns?</token>
                    <token>on</token>
                    <token>the</token>
                    <token regexp="yes">east|west</token>
                    <token>coast</token>
                </antipattern>
                <pattern>
                    <token><exception regexp="yes">along|off|over</exception></token>
                    <token>the</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">east|west</token>
                        <token case_sensitive="yes">coast</token>
                    </marker>
                    <token><exception regexp="yes">off?</exception></token>
                </pattern>
                <message>If you're referring to a specific and known geographical location, the name should be capitalized.</message>
                <suggestion><match no="3" case_conversion="startupper" /> Coast</suggestion>
                <example correction="East Coast">I live on the <marker>east coast</marker>.</example>
                <example correction="West Coast">The <marker>west coast</marker> is the best coast.</example>
                <example correction="East Coast">It happens that my parents are visiting from the <marker>east coast</marker> that weekend.</example>
                <example correction="West Coast">Upon shifting back to the <marker>west coast</marker>, Taney was based at Alameda, California until February 1972.</example>
                <example>The main settlements on the west coast are around Sai Khao, Hat Kai Mook, Hat Kai Bae, Ban Klong Prao and the fishing village of Bang Bao on the south coast.</example>
                <example>August 22 – 3801 traverses Australia from the east coast to the west coast with the Western Endeavour train.</example>
                <example>316 people were killed on the island and islands off the west coast.</example>
                <example>Courtenay, British Columbia, a city on the east coast of Vancouver Island.</example>
                <example>From there went to a town called Maras (Greek name Varosha) on the east coast.</example>
                <example>The A92 was the original southerly road to Aberdeen prior to the building of the A90, and is now used as a tourist route, connecting the towns of Montrose and Arbroath and on the east coast.</example>
                <example>Others will spring up on the east coast off East Anglia and in the mouth of the Thames estuary, further north at Teesside, and in the coastal waters of south Wales in the Severn estuary.</example>
                <example>There is, however, no evidence at all of a Greek presence on the west coast and the Ionians at Aléria on the east coast had been expelled by the Etruscans long before Roman domination.</example>
                <example>1783 – A huge fireball meteor is seen across Great Britain as it passes over the east coast.</example>
                <example>The time zone of the capital (Brasília) and of the most populated part of Brazil along the east coast (UTC-3) is two hours ahead of Eastern Standard Time, except when it is on its own daylight saving time, from October to February.</example>
                <example>It has been read as "together with the Gaels", suggesting either public participation or the presence of Gaels from the western coasts as well as the people of the east coast.</example>
                <example>The flood-prone Yangtze river, which runs from Yunnan in the southwest to Jiangsu and Shanghai on the east coast, has seen a massive increase in water volumes, causing flooding in many of its tributaries and bringing water volumes in the giant Three Gorges reservoir close to record levels.</example>
                <example>Portes is a fishing village on the east coast.</example>
                <example>A cemetery and rubble from earlier settlements are located near the middle of the west coast, where the boat landing area is located.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">the</token>
                    </marker>
                    <token>Hague</token>
                    <token><exception regexp="yes">congress|meeting</exception></token>
                </pattern>
                <message>Capitalize <suggestion>The</suggestion>, if it refers to 'The Hague' (city on the western coast of the Netherlands)</message>
                <example correction="The">Some of the most prosperous neighbourhoods of the Netherlands can be found in <marker>the</marker>  Hague.</example>
                <example>When did <marker>the Hague</marker> Congress take place?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">European|EUROPEAN</token>
                    <token regexp="yes">Union|UNION</token>
                </antipattern>
                <pattern>
                    <token>european</token>
                    <token>union</token>
                </pattern>
                <message>Capitalize the proper noun <suggestion>European Union</suggestion>.</message>
                <example correction="European Union">The <marker>European union</marker> elected a new president.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">United|UNITED</token>
                    <token regexp="yes">States|Kingdom|STATES|KINGDOM</token>
                </antipattern>
                <pattern>
                    <token>united</token>
                    <token regexp="yes">states|kingdom</token>
                </pattern>
                <message>Capitalize the proper noun <suggestion>United <match no="2" case_conversion="startupper" /></suggestion>.</message>
                <example correction="United States">The <marker>united states</marker> elected a new president.</example>
                <example>I AM FROM THE UNITED STATES.</example>
            </rule>
        </rulegroup>
        <rule id="T_BONE" name="t-bone (T-bone)">
            <pattern>
                <token case_sensitive="yes" regexp="yes">t-bon(e|ing|es|ed)</token>
            </pattern>
            <message>The "T" in the word <suggestion><match no="1" regexp_match="t" regexp_replace="T" /></suggestion> needs to be capitalized.</message>
            <url>https://www.merriam-webster.com/dictionary/T-bone</url>
            <example correction="T-bone">He ate a delicious <marker>t-bone</marker> steak.</example>
        </rule>
        <rulegroup id="THIRD_WORLD" name="Third World">
            <url>https://en.wiktionary.org/wiki/Third_World</url>
            <short>Capitalization</short>
            <antipattern case_sensitive="yes">
                <token regexp="yes">Third|THIRD</token>
                <token regexp="yes">World|WORLD</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>third</token>
                        <token>world</token>
                    </marker>
                    <token regexp="yes">country|countries|problems?</token>
                </pattern>
                <message>The term <suggestion>Third World</suggestion> (= developing country) is considered a proper noun and is normally capitalized.</message>
                <example correction="Third World">Children living in <marker>third world</marker> countries deserve better healthcare.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>third</token>
                        <token chunk="E-NP-singular">world</token>
                    </marker>
                </pattern>
                <message>The term <suggestion>Third World</suggestion> is considered a proper noun and is normally capitalized.</message>
                <example correction="Third World">Children living in the <marker>third world</marker>.</example>
            </rule>
        </rulegroup>

        <rule id="PILATES" name="Pilates">
            <pattern>
                <token case_sensitive="yes">pilates</token>
            </pattern>
            <message>The name of this physical fitness system is normally capitalized.</message>
            <suggestion>Pilates</suggestion>
            <url>https://www.merriam-webster.com/dictionary/Pilates</url>
            <short>Capitalization</short>
            <example correction="Pilates">She is doing <marker>pilates</marker> every morning.</example>
        </rule>
        <rulegroup id="CHRISTMAS" name="Christmas">
            <short>Capitalization</short>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Christmas|CHRISTMAS</token>
                    <token regexp="yes">Eve|EVE</token>
                </antipattern>
                <pattern>
                    <token>christmas</token>
                    <token>eve</token>
                </pattern>
                <message>The name of the day before Christmas is normally capitalized.</message>
                <suggestion>Christmas Eve</suggestion>
                <url>https://www.merriam-webster.com/dictionary/Christmas%20Eve</url>
                <example correction="Christmas Eve">We have a dinner with the family on <marker>christmas eve</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">christmas|xmas</token>
                </pattern>
                <message>The name of this holiday is normally capitalized.</message>
                <suggestion><match no="1" case_conversion="startupper" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/Christmas</url>
                <example correction="Christmas">We have a <marker>christmas</marker> tree at home.</example>
            </rule>
        </rulegroup>
        <rule id="PAYPAL" name="PayPal">
            <pattern>
                <token case_sensitive="yes" regexp="yes">Paypal|paypal|payPal</token>
            </pattern>
            <message>The official name of this payment provider is spelled with two capital "P".</message>
            <suggestion>PayPal</suggestion>
            <url>https://en.wikipedia.org/wiki/PayPal</url>
            <short>Capitalization</short>
            <example correction="PayPal">We are using <marker>Paypal</marker> for payments.</example>
        </rule>
        <rule id="YOUTUBE" name="YouTube">
            <pattern>
                <token case_sensitive="yes" regexp="yes">Youtube|you[Tt]ube</token>
            </pattern>
            <message>The official name of this popular video platform is spelled with a capital "T".</message>
            <suggestion>YouTube</suggestion>
            <url>https://en.wikipedia.org/wiki/YouTube</url>
            <short>Capitalization</short>
            <example correction="YouTube">We are using <marker>Youtube</marker> to watch TV.</example>
        </rule>
        <rule id="LINKEDIN" name="LinkedIn">
            <pattern>
                <token case_sensitive="yes" regexp="yes">Linkedin|linked[Ii]n</token>
            </pattern>
            <message>The name of this social business platform is spelled with a capital "I".</message>
            <suggestion>LinkedIn</suggestion>
            <url>https://en.wikipedia.org/wiki/LinkedIn</url>
            <short>Capitalization</short>
            <example correction="LinkedIn">We are using <marker>Linkedin</marker> to run ads.</example>
        </rule>
        <rule id="WECHAT" name="WeChat">
            <pattern>
                <token case_sensitive="yes" regexp="yes">Wechat|wechat</token>
            </pattern>
            <message>The official name of this popular chat service is spelled with a capital "C".</message>
            <suggestion>WeChat</suggestion>
            <url>https://en.wikipedia.org/wiki/WeChat</url>
            <short>Capitalization</short>
            <example correction="WeChat">We are using <marker>Wechat</marker> to communicate.</example>
        </rule>
        <rule id="GITHUB" name="GitHub">
            <pattern>
                <token case_sensitive="yes" regexp="yes">Github|github</token>
            </pattern>
            <message>The official name of this software platform is spelled with a capital "H".</message>
            <suggestion>GitHub</suggestion>
            <url>https://en.wikipedia.org/wiki/GitHub</url>
            <short>Capitalization</short>
            <example correction="GitHub">We are using <marker>Github</marker> for our project.</example>
        </rule>
        <rule id="WORDPRESS" name="WordPress">
            <antipattern>
                <token>wordpress</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">com</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">wordpress|Wordpress</token>
            </pattern>
            <message>The official name of this content management system is spelled with a capital "P".</message>
            <suggestion>WordPress</suggestion>
            <url>https://en.wikipedia.org/wiki/WordPress</url>
            <short>Capitalization</short>
            <example correction="WordPress">We are using <marker>Wordpress</marker> as our blogging software.</example>
            <example>We use <marker>wordpress.com</marker> as our blogging software.</example>
        </rule>
        <rule id="BLACK_SEA" name="Black Sea">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Black|Dead|BLACK|DEAD</token>
                <token regexp="yes">Sea|SEA</token>
            </antipattern>
            <antipattern>
                <token>sea</token>
                <token regexp="yes">bass(es)?|turtles?|bags?|gulls?|grass(es)?|birds?|anchors?|biscuits?|angels?|boats?|beds?|captains?|channels?|coals?|dogs?|eagles?|farers?|fans?|foods?|horses?|m[ea]n|otters?|oats|potato(es)?|shells?|wasps?|creatures?</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token postag="RB" min="0" />
                <token regexp="yes">black|dead</token>
            </antipattern>
            <pattern>
                <token regexp="yes">black|dead</token>
                <token>sea</token>
            </pattern>
            <message>Capitalize if you mean the body of water in southeastern Europe.</message>
            <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" /></suggestion>
            <short>Capitalization</short>
            <example correction="Black Sea">He was living in a town on the coast of the <marker>black sea</marker>.</example>
            <example>The sea was contaminated, a lot of dead sea turtles were found.</example>
            <example>They jumped into a black sea.</example>
        </rule>
        <rulegroup id="THE_FRENCH" name="the french (French)">
            <url>https://www.merriam-webster.com/dictionary/French</url>
            <short>Capitalization</short>
            <antipattern><!-- https://www.merriam-webster.com/dictionary/french%20fries (both lower- and uppercase allowed) -->
                <token>french</token>
                <token regexp="yes">fr(y|ies)</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">pardon|excuse</token>
                    <token>my</token>
                    <token postag="JJ" min="0" />
                    <marker>
                        <token case_sensitive="yes">french</token>
                    </marker>
                </pattern>
                <message><suggestion>French</suggestion> needs to be capitalized in this context.</message>
                <url>https://www.lexico.com/definition/pardon_my_french</url>
                <example correction="French">Please excuse my <marker>french</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">french</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">presidents?|speaking|riviera|expressions?|novels?|bulldogs?|tutors?|individualists?|poetr(y|ies)|protestants?|wars?|versions?|manicures?|websites?|sites?|university|universities|side|governments?|keyboards?|learners?|organi[zs]ations?|associations?|food|restaurants?|tutors?|lessons?|teachers?|students?|residents?|colleagues?|cars?|speakers?|press|translations?|translators?|regions?|military|guys?|toast|country|city|cities|community|towns?|accents?|people|villages?|words?|languages?|states?|citizens?|football|literature|laws?|revolution|\.|\!|\?</token>
                </pattern>
                <message><suggestion>French</suggestion> needs to be capitalized when not used as a verb.</message>
                <example correction="French">The <marker>french</marker> government.</example>
                <example correction="French">Are you <marker>french</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">speak|learn|teach|read|write|translate</token>
                    <token min="0">
                        <exception>to</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes">french</token>
                    </marker>
                </pattern>
                <message><suggestion>French</suggestion> needs to be capitalized when not used as a verb.</message>
                <example correction="French">He's learning <marker>french</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s|in</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token case_sensitive="yes">french</token>
                    </marker>
                </pattern>
                <message><suggestion>French</suggestion> needs to be capitalized when not used as a verb.</message>
                <example correction="French">The <marker>french</marker> won the Soccer World Cup in 2018.</example>
                <example>Don't eat my french fries.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token>polish</token>
                    <token regexp="yes">it|this|that|them</token>
                </antipattern>
                <pattern>
                    <token skip="-1" regexp="yes">german|russian|english|spanish|catalan|arabic|turkish|ukrainian|italian|chinese|czech|dutch|portuguese|canadian|swiss|belgian|belgium|canada|france|poland|morocco|switzerland|monaco|swedish|european|american|usa|paris|warsaw</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">polish|french</token>
                    </marker>
                </pattern>
                <message><suggestion><match no="2" case_conversion="startupper" /></suggestion> needs to be capitalized when you are referring to the language or country.</message>
                <example correction="Polish">He's having english and <marker>polish</marker> lessons.</example>
                <example>Belgium is famous for beer, chocolate, waffles and french fries with mayonnaise.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>polish</token>
                    <token regexp="yes">your|my|up</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>polish</token>
                    <token regexp="yes">it|this|that|them</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" skip="-1" regexp="yes">polish|french</token>
                    </marker>
                    <token regexp="yes">german|russian|english|spanish|catalan|arabic|turkish|ukrainian|italian|chinese|czech|dutch|portuguese|canadian|swiss|belgian|belgium|canada|france|poland|morocco|switzerland|monaco|swedish|european|american|usa|paris|warsaw</token>
                </pattern>
                <message><suggestion><match no="1" case_conversion="startupper" /></suggestion> needs to be capitalized when you are referring to the language or country.</message>
                <example correction="Polish">He's having <marker>polish</marker> and English lessons.</example>
                <example>Contrary to their name, french fries are claimed to have originated in Belgium, although their exact place of origin is uncertain.</example>
                <example>I have to polish my English.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>polish</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <token inflected="yes">be</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">polish|french</token>
                    </marker>
                </pattern>
                <message>This word needs to be capitalized in this context.</message>
                <suggestion><match no="3" case_conversion="startupper" /></suggestion>
                <example correction="Polish">I am <marker>polish</marker> too.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_CHINA" name="china (China)">
            <url>https://www.merriam-webster.com/dictionary/china</url>
            <short>Capitalization</short>
            <antipattern>
                <token regexp="yes">white|antique|impeccable|porcelain|glass|fine|breakfast</token>
                <token>china</token>
            </antipattern>
            <antipattern>
                <token skip="1">china</token>
                <token regexp="yes">cups?|porcelain|plates?|(dish|table)ware|closets?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">in|from|to|across|through</token>
                    <marker>
                        <token case_sensitive="yes">china</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the country, not white porcelain.</message>
                <suggestion><match no="2" case_conversion="startupper" /></suggestion>
                <example correction="China">I was born in <marker>china</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" skip="2">visit|conquer|travel|holiday|vacation|fight|outside|fly|(re)?negotiate|war|country|asia|government|capital|peking|shanghai</token>
                    <marker>
                        <token case_sensitive="yes">china</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the country, not white porcelain.</message>
                <suggestion><match no="2" case_conversion="startupper" /></suggestion>
                <example correction="China">I always wanted to visit <marker>china</marker></example>
            </rule>
        </rulegroup>
        <rule id="IN_QUEENS" name="queens (Queens)">
            <pattern>
                <token regexp="yes">in|from|to|at</token>
                <marker>
                    <token case_sensitive="yes">queens</token>
                </marker>
            </pattern>
            <message>Capitalize this word if you mean the New York borough.</message>
            <suggestion><match no="2" case_conversion="startupper" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/Queens</url>
            <short>Capitalization</short>
            <example correction="Queens">I'm from <marker>queens</marker></example>
            <example>Queens shed their wings after the nuptial flight, leaving visible stubs, a distinguishing feature of queens.</example>
        </rule>
        <rule id="BAY_AREA" name="bay area (Bay Area)">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Bay|BAY</token>
                <token regexp="yes">Area|AREA</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">tampa|winyah|chesapeake|turtle|monterey</token>
                <token>bay</token>
                <token>area</token>
            </antipattern>
            <pattern>
                <token>bay</token>
                <token>area</token>
            </pattern>
            <message>Capitalize this word if you mean the region in California.</message>
            <suggestion>Bay Area</suggestion>
            <url>https://en.wikipedia.org/wiki/San_Francisco_Bay_Area</url>
            <short>Capitalization</short>
            <example correction="Bay Area">The <marker>bay area</marker> is home to many technology companies.</example>
        </rule>
        <rulegroup id="IN_LONG_BEACH" name="long beach (Long Beach)">
            <url>https://en.wikipedia.org/wiki/Long_Beach,_California</url>
            <short>Capitalization</short>
            <antipattern case_sensitive="yes">
                <token regexp="yes">Long|LONG|Palm|PALM|South|SOUTH</token>
                <token regexp="yes">Beach|BEACH</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">in|from|to|of|at</token>
                    <marker>
                        <token regexp="yes">long|palm|south</token>
                        <token>beach</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the city in California.</message>
                <suggestion><match no="2" case_conversion="startupper" /> Beach</suggestion>
                <example correction="Long Beach">I was born in <marker>long beach</marker></example>
                <example>Wow, that's a long beach.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes">long|palm|south</token>
                        <token>beach</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the city in California.</message>
                <suggestion><match no="2" case_conversion="startupper" /> Beach</suggestion>
                <example correction="Long Beach"><marker>Long beach</marker> is a city in California.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_LONG_ISLAND" name="long island (Long Island)">
            <url>https://en.wikipedia.org/wiki/Long_Island</url>
            <short>Capitalization</short>
            <antipattern case_sensitive="yes">
                <token regexp="yes">Long|LONG</token>
                <token regexp="yes">Island|ISLAND</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">in|on|from|to|of|at</token>
                    <marker>
                        <token>long</token>
                        <token>island</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the island near New York City.</message>
                <suggestion>Long Island</suggestion>
                <example correction="Long Island">I was born in <marker>long island</marker></example>
                <example>Japan is a long island chain between the Sea of Okhotsk, the Sea of Japan and the Philippine Sea.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>long</token>
                        <token>island</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the island near New York City.</message>
                <suggestion>Long Island</suggestion>
                <example correction="Long Island"><marker>Long island</marker> is an island near New York City.</example>
            </rule>
        </rulegroup>
        <rule id="THE_DUTCH" name="the dutch (Dutch)">
            <antipattern>
                <token>old</token>
                <token>dutch</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">dutch</token>
            </pattern>
            <message>Capitalize this word if you are referring to the Netherlands.</message>
            <suggestion><match no="2" case_conversion="startupper" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/dutch</url>
            <short>Capitalization</short>
            <example correction="Dutch">The <marker>dutch</marker> people are the tallest in the world.</example>
        </rule>
        <rulegroup id="THE_POLISH" name="the polish (polish)">
            <url>https://www.merriam-webster.com/dictionary/Polish</url>
            <short>Capitalization</short>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">polish</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">presidents?|versions?|manicures?|weather|sausages?|websites?|sites?|diasporauniversit(y|ies)|side|governments?|keyboards?|learners?|organi[zs]ations?|associations?|food|restaurants?|tutors?|lessons?|teachers?|students?|residents?|colleagues?|speakers?|press|translations?|translators?|regions?|military|guys?|country|city|cities|communit(y|ies)|towns?|accents?|people|villages?|words?|languages?|states?|citizens?|football|literature|laws?|revolution|politician|politics?|political|players?|wife|husband|bands?|currency|population|populists?|radio|citizenship|majesty|liberals?|judge|celebrations?|flag|bishops?|companys?|news(paper)?|familys?|movies?|film|administration|tradition|travel|holidays?|team|capital|ambassadors?|tv|academy|institutes?|elections?|minister|presidential|center|education|society|national(ists?)?|immigrants?|place|judiciary|wars?|agency|history|party|friends?|heritages?|schools?|roots|m[ea]n|wom[ea]n|childs|children|recipes?|girl(friend)?|boy(friend)?|grandmother|grandfather|grandparents?|counterpart</token>
                </pattern>
                <message><suggestion>Polish</suggestion> needs to be capitalized when not used as a verb.</message>
                <example correction="Polish">The <marker>polish</marker> government.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">speak|learn|teach|read|write|translate</token>
                    <token min="0">
                        <exception>to</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes">polish</token>
                    </marker>
                </pattern>
                <message><suggestion>Polish</suggestion> needs to be capitalized when not used as a verb.</message>
                <example correction="Polish">He's learning <marker>polish</marker>.</example>
                <example>Learn to polish a car.</example>
            </rule>
        </rulegroup>
        <rule id="NEW_GUINEA" name="New guinea (New Guinea)">
            <antipattern case_sensitive="yes">
                <token>New</token>
                <token>Guinea</token>
            </antipattern>
            <pattern>
                <token>New</token>
                <token>
                    Guinea
                    <exception scope="next" regexp="yes">pigs?|grass(es)?|fowls?|hens?|peppers?</exception>
                </token>
            </pattern>
            <message>Did you mean the proper noun <suggestion>New Guinea</suggestion> (= large island)?</message>
            <url>https://en.wikipedia.org/wiki/New_Guinea</url>
            <short>Capitalization</short>
            <example correction="New Guinea"><marker>New guinea</marker> is a large island separated by the shallow Torres Strait from the rest of the Australian continent.</example>
        </rule>
        <rule id="JAPAN" name="proper noun 'Japan'">
            <antipattern><!-- japan used as a verb -->
                <token postag="MD|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" max="2" />
                <token>japan</token>
            </antipattern>
            <antipattern><!-- japan used as a verb -->
                <token regexp="yes">does|did|do</token>
                <token>n't</token>
                <token>japan</token>
            </antipattern>
            <antipattern>
                <token skip="1">black</token>
                <token>japan</token>
            </antipattern>
            <antipattern>
                <token>japan</token>
                <token>black</token>
            </antipattern>
            <antipattern><!-- japan used as an adjective -->
                <token regexp="yes">a|the|my|your|their</token>
                <token>japan</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>#</token>
                <token spacebefore="no">japan</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">japan</token>
            </pattern>
            <message>This noun needs to be capitalized if you mean the country <suggestion>Japan</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/japan</url>
            <short>Capitalization</short>
            <example correction="Japan">I lives in <marker>japan</marker>.</example>
            <example>Only japan black would dry fast enough.</example>
        </rule>
        <rule id="TURKEY" name="proper noun 'Turkey' (country)">
            <antipattern>
                <token skip="-1">turkey</token>
                <token regexp="yes">thanksgivings?|breasts?|stuffings?|stuff(ed|s)?|wings?|eats?|ate|eaten|eating|meat|animals?|bones?|fill|cooks?|cooked|cooking|dinner|christmas|xmas|recipes?|menus?|slices?|feast|pounds?|lbs|kg|sauces?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">thanksgivings?|breasts?|stuffings?|stuff(ed|s)?|wings?|eats?|ate|eaten|eating|meat|animals?|bones?|fill|cooks?|cooked|cooking|dinner|christmas|xmas|recipes?|menus?|slices?|feast|pounds?|lbs|kg|sauces?</token>
                <token>turkey</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token chunk_re="B-NP.*">turkey</token>
                <token chunk_re="[IE]-NP.*" />
            </antipattern>
            <pattern>
                <token regexp="yes">in|to|from|of|across</token>
                <marker>
                    <token case_sensitive="yes">
                        turkey
                    </token>
                </marker>
            </pattern>
            <message>Did you mean the country <suggestion>Turkey</suggestion> (which needs to be capitalized)?</message>
            <short>Capitalization</short>
            <example correction="Turkey">I'm from <marker>turkey</marker>.</example>
            <example>Remove skin and excess fat from turkey breast.</example>
            <example>She's vegetarian, so she ate tofu instead of turkey.</example>
        </rule>
        <rule id="ROYAL_MAIL" name="royal mail (Royal Mail)">
            <antipattern>
                <token case_sensitive="yes">Royal</token>
                <token case_sensitive="yes" regexp="yes">[A-Z].+</token>
            </antipattern>
            <pattern>
                <token>royal</token>
                <token regexp="yes">mail|canin|bank|navy|ballet|army</token>
            </pattern>
            <message>The proper noun <suggestion>Royal <match no="2" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
            <short>Capitalization</short>
            <example correction="Royal Mail">The <marker>royal mail</marker> is a postal service and courier company in the United Kingdom.</example>
            <example correction="Royal Bank">The <marker>Royal bank</marker> of Canada</example>
        </rule>
        <rule id="ROYAL_AIR_FORCE" name="royal air force (Royal Air Force)">
            <antipattern>
                <token case_sensitive="yes">Royal</token>
                <token case_sensitive="yes">Air</token>
                <token case_sensitive="yes" regexp="yes">Force|Maroc</token>
            </antipattern>
            <pattern>
                <token>royal</token>
                <token>air</token>
                <token regexp="yes">force|maroc</token>
            </pattern>
            <message>The proper noun <suggestion>Royal Air <match no="3" case_conversion="startupper" /></suggestion> needs to be capitalized.</message>
            <short>Capitalization</short>
            <example correction="Royal Air Force">The <marker>royal air force</marker> is the United Kingdom's aerial warfare force</example>
        </rule>
        <rule id="FRISBEE" name="frisbee (Frisbee)">
            <pattern>
                <token case_sensitive="yes" regexp="yes">frisbees?</token>
            </pattern>
            <message>The word for this plastic disk used to make sport is normally capitalized because it's a trademark.</message>
            <suggestion><match no="1" case_conversion="startupper" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/Frisbee</url>
            <short>Capitalization</short>
            <example correction="Frisbee">He went to the park to throw his <marker>frisbee</marker>.</example>
        </rule>
        <rule id="PARMESAN" name="parmesan (Parmesan)">
            <pattern>
                <token case_sensitive="yes">parmesan</token>
            </pattern>
            <message>The word for this type of cheese is normally capitalized.</message>
            <suggestion>Parmesan</suggestion>
            <url>https://www.merriam-webster.com/dictionary/Parmesan</url>
            <short>Capitalization</short>
            <example correction="Parmesan">He sprinkled grated <marker>parmesan</marker> over the spaghetti.</example>
        </rule>
        <rule id="LC_AFTER_PERIOD" name="Lowercase word after word and no space in between">
            <!-- PUNT_GEEN_HL in NL, KLEIN_NACH_PUNKT in DE: https://github.com/languagetool-org/languagetool/issues/3655 -->
            <antipattern>
                <token>.</token>
                <token spacebefore="no" regexp="yes">[a-zöüäßA-ZÖÄÜ].+</token>
                <token spacebefore="no">(</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no" regexp="yes">[a-zöüäßA-ZÖÄÜ].+</token>
                <token spacebefore="no" regexp="yes">[\.:_#;]</token>
            </antipattern>
            <antipattern><!-- e.commerce (needs different rule, suggesting "e-commerce") -->
                <token>e</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">commerce|mails?|mobility|bikes?|go</token>
            </antipattern>
            <antipattern>
                <token>fritz</token>
                <token>.</token>
                <token>box</token>
            </antipattern>
            <antipattern>
                <token>notion</token>
                <token>.</token>
                <token>so</token>
            </antipattern>
            <antipattern><!-- @mentions -->
                <token regexp="yes">@.+</token>
                <token>.</token>
                <token regexp="yes">.+</token>
            </antipattern>
            <antipattern>
                <token>cargo</token>
                <token>.</token>
                <token>one</token>
            </antipattern>
            <antipattern>
                <token>java</token>
                <token>.</token>
                <token>util</token>
            </antipattern>
            <antipattern>
                <token>stud</token>
                <token>.</token>
                <token>ip</token>
            </antipattern>
            <antipattern>
                <token>s</token>
                <token>.</token>
                <token>oliver</token>
            </antipattern>
            <antipattern>
                <token>process</token>
                <token>.</token>
                <token>env</token>
            </antipattern>
            <antipattern>
                <token>covet</token>
                <token>.</token>
                <token>pics</token>
            </antipattern>
            <antipattern>
                <token>math</token>
                <token>.</token>
                <token regexp="yes">rand(om)?|sin|radians?|pow|floor|round|ceil|pi|abs|log|sign</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">.*[a-z]$</token>
                <token>.</token>
                <token regexp="yes">&sometlds;</token>
            </antipattern>
            <antipattern><!-- "a.plus team", "SELECT v.voiture, ..."", -->
                <token regexp="yes" case_sensitive="yes">[a-z]</token>
                <token>.</token>
                <token />
            </antipattern>
            <pattern>
                <token spacebefore="yes" regexp="yes" case_sensitive="yes">.*[a-zöäüß]$</token>
                <token spacebefore="no">.</token>
                <marker>
                    <token spacebefore="no" regexp="yes" case_sensitive="yes">[a-zöüäßA-ZÖÄÜ].+
                        <exception postag="UNKNOWN"/>
                        <exception regexp="yes" case_sensitive="no">&file_name_extensions;</exception>
                    </token>
                </marker>
            </pattern>
            <message>If a new sentence starts here, add a space and start with an uppercase letter.</message>
            <suggestion> <match no="3" case_conversion="startupper"/></suggestion>
            <suggestion> \3</suggestion>
            <short>Capitalization</short>
            <example correction=" Just| just">LanguageTool offers spell and grammar checking.<marker>just</marker> paste your text here.</example>
            <example>Double Jeopardy Game on uscourts.gov (archived from the original on 2006-01-10)</example>
            <example>What happens when you enter "emacs index.html"?</example>
            <example>BassRadio.FM in the US</example>
            <example>Have you tried console.log()</example>
            <example>The URL is pep.corp.enron.com.</example>
            <example>For complete details of the Summit, visit wash.cfm.</example>
            <example>Open your newrelic.config file.</example>
            <example>I cannot find it anywhere in my nginx.conf or diaspora.yml.</example>
            <example>My POC application has two node.JS applications.</example>
            <example>Your macro above will not run if I replace textedit with dict.cc, probably because the '.' is a reserved symbol.</example>
            <example>Anyway, I sometimes take a quick searx.me browse for any open source dating sites and, to my disappointment, none turned up.</example>
            <example>My handle is @christopher.hello, feel free to write me.</example>
        </rule>

        <rule id="AI" name="ai (AI)"><!-- #4537 -->
            <antipattern><!-- three-toed sloth -->
                <token skip="-1" postag="SENT_START"/>
                <token regexp="yes">(two|three)-toed</token>
                <token skip="-1" regexp="yes">sloths?</token>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- www.lexico.com/definition/tai_chi -->
                <token>t</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">ai</token>
                <token>chi</token>
            </antipattern>
            <antipattern><!-- Not English: vous ai compris -->
                <token postag="UNKNOWN" regexp="yes">\p{Ll}\p{Ll}+</token>
                <token>ai</token>
                <token postag="UNKNOWN" regexp="yes">\p{Ll}\p{Ll}+</token>
            </antipattern>
            <antipattern><!-- ai+1 -->
                <token>ai</token>
                <token regexp="yes">[\+−]</token>
                <token postag="CD"/>
            </antipattern>
            <antipattern><!-- of ai for all i -->
                <token>of</token>
                <token>ai</token>
                <token>for</token>
                <token>all</token>
                <token regexp="yes">[a-z]</token>
            </antipattern>
            <antipattern><!-- = ai, -->
                <token>=</token>
                <token>ai</token>
                <token>,</token>
            </antipattern>
            <antipattern><!-- dipthong ... ai -->
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1" regexp="yes">diphthong.*</token><!-- Can be a verb or a noun -->
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">&apostrophe;</token>
                <token spacebefore="no">ai</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">ais?
                    <exception scope="next">n't</exception>
                    <exception scope="previous">.</exception>
                </token>
            </pattern>
            <message>For abbreviations such as 'artificial intelligence', use all capital letters. The rare word 'ai' is a synonym for 'three-toed sloth'.</message>
            <suggestion><match no="1" regexp_match="ai(.*)" regexp_replace="AI$1"/></suggestion>
            <url>https://www.lexico.com/definition/ai</url>
            <short>Capitalization</short>
            <example correction="AI">Increasingly good <marker>ai</marker> systems mean we can get more out of robotics.</example>
            <example correction="AIs">These <marker>ais</marker> are good for robotics.</example>
            <example correction="AI">The <marker>ai</marker>'s stun would not wear off.</example>
            <example>This was an <marker>ai</marker> or three-toed sloth.</example>
            <example>This <marker>ain't</marker> a spelling error.</example>
            <example>The Anguilla Government Official website is www.gov.ai and it features the seal with three dolphins.</example>
            <example>Where is the Ai River?</example>
            <example>In 1615, the Dutch invaded Ai with 900 men.</example>
            <example>... morning exercises such as qigong and t'ai chi ch'uan.</example>
            <example>...de Gaulle proclaimed in front of a vast crowd of Pieds-Noirs "Je vous ai compris" ("I have understood you").</example>
            <example>... is no infinite sequence (an) such that ai+1 is an element of...</example>
            <example>... is an element of ai for all i.</example>
            <example>I.e. if p is one of the pi then νp(n) = ai, otherwise it is zero.</example>
            <example>In Syriac and some other variants this ending is diphthongized to -ai.</example>
            <example>There were no diphthongs; ai and au are treated as *ay and *av (or *aw).</example>
            <example type="triggers_error">The ai has a small head, tiny eyes and ears, and a small tail hidden in its fur.</example>
            <example type="triggers_error"> – ai – joining, unifying, combining, fit.</example>
            <example type="triggers_error">AI, A.I., Ai, or ai may refer to:</example>
            <example>Géographie de l'Éthiopie, ce que j'ai entendu, faisant suite à ce que j'ai vu.</example>
            <example type="triggers_error">Formulas for the functions listed in this article are given in terms of n and the corresponding pi, ai, ω, and Ω.</example>
            <example>... ibn Murrah ibn Ka'ab ibn Lu'ai ibn Ghalib ibn Fihr al-Quraishi.</example>
            <example type="triggers_error">Air batu campur, also known as ais kacang, a Malaysian dessert...</example>
        </rule>

    </category>

    <!-- ====================================================================== -->
    <!-- Possible typo -->
    <!-- ====================================================================== -->
    <category id="TYPOS" name="Possible Typo" type="misspelling">
        <rule id="LOOK_DOOR" name="look (lock) the door">
            <antipattern>
                <token>look</token>
                <token>door</token>
                <token min="0" postag=","/>
                <token>get</token>
                <token>key</token>
            </antipattern>
            <pattern>
                <marker>
                <token chunk_re=".-VP.*" regexp="yes">look(s|ed|ing)?</token>
                </marker>
                <token min="0" max="-1" chunk_re="[BI]-NP.*"/>
                <token chunk_re="E-NP.*">door
                    <exception scope="next" postag="VB." postag_regexp="yes"/>
                    </token>
            </pattern>
            <message>Possible typo: Did you mean <suggestion><match no="1" regexp_match="oo" regexp_replace="oc"/></suggestion>?</message>
            <example correction="lock">please <marker>look</marker> door</example>
            <example correction="locks">He never <marker>looks</marker> the front door.</example>
            <example correction="locking">Do not forget <marker>looking</marker> your door at night.</example>
            <example correction="locked">Are you sure you <marker>looked</marker> the garage door before leaving?</example>
            <example correction="Lock"><marker>Look</marker> the door behind you, please.</example>
            <example>He never <marker>looks</marker> at the front door.</example>
            <example>Look door, get key.</example>
            <example>look door viewer</example>
            <example>Look the door is open.</example>
        </rule>
        <rulegroup id="EN_SPLIT_WORDS_HYPHEN" name="wrongly split words with hyphen">
            <antipattern>
                <token inflected="yes">prefix</token>
                <token></token>
                <token spacebefore="no">-</token>
            </antipattern>
            <antipattern>
                <token>-</token>
                <token spacebefore="no"></token>
                <token spacebefore="no">-</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">-</token>
                <token regexp="yes">and|n?or|&amp;</token>
                <token/>
                <token spacebefore="no">-</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">-</token>
                <token regexp="yes">and|n?or|&amp;</token>
                <token regexp="yes">.*-.*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[a-z]</token>
                <token spacebefore="no">-</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">-</token>
                <token regexp="yes">[a-z]</token>
            </antipattern>
            <antipattern>
                <token postag="NN.*" postag_regexp="yes"/>
                <token spacebefore="no">-</token>
                <token regexp="yes">a[ns]?|its?</token>
            </antipattern>
            <antipattern>
                <token>-</token>
                <token>to</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="UNKNOWN|CD" negate_pos="yes" postag_regexp="yes" regexp="yes">\w{3,10}</token>
                    <token spacebefore="no">-</token>
                    <token postag="UNKNOWN|CD|TO|CC" negate_pos="yes" postag_regexp="yes" regexp="yes" spacebefore="yes">\w{2,10}</token>
                </pattern>
                <filter class="org.languagetool.rules.en.EnglishSuppressMisspelledSuggestionsFilter" args="suppressMatch:true"/>
                <message>This word seems to be formatted incorrectly. Consider fixing the spacing or removing the hyphen completely.</message>
                <suggestion>\1-\3</suggestion>
                <suggestion>\1 - \3</suggestion>
                <suggestion>\1\3</suggestion>
                <example correction="break-up|break - up|breakup">The <marker>break- up</marker> was painful.</example>
                <example>The <marker>seco- ndary</marker> school.</example>
                <example>Children are also more susceptible, with two- to four-year-olds having the highest rates of infection.</example>
                <example>Belarusian literature began with 11th- to 13th-century religious scripture, such as the 12th-century poetry of Cyril of Turaw.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="UNKNOWN" regexp="yes">\p{L}+</token>
                    <token spacebefore="no">-</token>
                    <token regexp="yes" spacebefore="yes">\p{L}+
                        <exception case_sensitive="yes" regexp="yes">[A-Z]</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.EnglishSuppressMisspelledSuggestionsFilter" args="suppressMatch:true"/>
                <message>This word seems to contain an unnecessary hyphen.</message>
                <suggestion>\1\3</suggestion>
                <example correction="secondary">The <marker>seco- ndary</marker> school.</example>
                <example>This -and not this- is the thing.</example>    
                <example>However in nature DNA can form three structures, A-, B- and Z-DNA.</example>
                <example>That's why a C- is still acceptable.</example>
                <example>An A- why no A+? You're an embarassment!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">\p{L}+</token>
                    <token spacebefore="no">-</token>
                    <token postag="UNKNOWN" regexp="yes" spacebefore="yes">\p{L}+
                        <exception case_sensitive="yes" regexp="yes">[A-Z]</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.EnglishSuppressMisspelledSuggestionsFilter" args="suppressMatch:true"/>
                <message>This word seems to contain an unnecessary hyphen.</message>
                <suggestion>\1\3</suggestion>
                <example correction="pianist">The <marker>pia- nist</marker> plays classic jazz.</example>
                <example>This -and not this- is the thing.</example>
                <example>The salts that result are called alkoxides, with the general formula RO- M+.</example>
                <example>That's why a C- is still acceptable.</example>
                <example>An A- why no A+? You're an embarassment!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">\p{L}+
                        <exception case_sensitive="yes" regexp="yes">[A-Z]</exception>
                    </token>
                    <token spacebefore="no">-</token>
                    <token regexp="yes" spacebefore="yes">\p{L}+
                        <exception case_sensitive="yes" regexp="yes">[A-Z]</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.EnglishSuppressMisspelledSuggestionsFilter" args="suppressMatch:true"/>
                <message>This word seems to contain an unnecessary hyphen.</message>
                <suggestion>\1\3</suggestion>
                <example correction="pianist">The <marker>pia- nist</marker> plays classic jazz.</example>
                <example>This -and not this- is the thing.</example>
                <example>However in nature DNA can form three structures, A-, B- and Z-DNA.</example>
                <example>the Symbolics L- and G-machines.</example>
                <example>the prefix a- in both Greek and Sanskrit </example>
                <example>a ten- or eleven-year-old girl </example>
                <example>parallel to the x- or y-axis</example>
                <example>The salts that result are called alkoxides, with the general formula RO- M+.</example>
                <example>I won't be able to defend the person- as I will be unavailable that day.</example>
                <example>Dad- a person who goes missing can show up again, right?</example>
            </rule>
        </rulegroup>
        <rule id="HELLOS" name="Hellos (Hello)">
            <pattern>
                <token postag="SENT_START" />
                <marker>
                    <token case_sensitive="yes">Hellos</token>
                </marker>
                <token case_sensitive="yes" regexp="yes">you|,|world|folks|guys|friends?|again|kitty|mates|my|all|there|[A-Z][a-zäöü]+</token>
            </pattern>
            <message>Did you mean <suggestion>Hello</suggestion>?</message>
            <example correction="Hello"><marker>Hellos</marker> Christian.</example>
        </rule>
        <rule id="A3FT" name="a3ft (a 3ft elephant)">
            <pattern>
                <token case_sensitive="yes" postag="UNKNOWN" regexp="yes">[Aa]\d{1,2}(ft|in|yd|[kcm]?m)
                    <exception scope="next" postag="UNKNOWN|PCT|," postag_regexp="yes"/>
                </token>
            </pattern>
            <message>There might be a space missing here.</message>
            <suggestion><match no="1" regexp_match="(?iu)(a)(\d{1,2})(ft|in|yd|[kcm]?m)" regexp_replace="$1 $2$3"/></suggestion>
            <example correction="a 3ft">We saw <marker>a3ft</marker> elephant.</example>
            <example correction="A 15in"><marker>A15in</marker> plasma screen is not big enough.</example>
            <example>Kaga carried a total of 18 Mitsubishi A6M Zero fighters.</example>
        </rule>
        <rule id="HIPAA" name="HIPPA (HIPAA)">
            <pattern>
                <token>hippa
                    <exception scope="previous" regexp="yes">heikki|gen(us|era)</exception>
                    <exception scope="next" regexp="yes">island|archipelago|shore</exception>
                </token>
            </pattern>
            <message>Did you mean 'HIPAA', the "Health Insurance Portability and Accountability Act"?</message>
            <suggestion>HIPAA</suggestion>
            <url>https://en.wikipedia.org/wiki/Health_Insurance_Portability_and_Accountability_Act#HIPAA_acronym</url>
            <example correction="HIPAA">This is not a <marker>HIPPA</marker> violation.</example>
            <example>Do you know about Heikki Hippa, the Swedish entomologist and arachnologist?</example>
            <example>Did you know that Hippa Island was in British Columbia?</example>
        </rule>
        <rulegroup id="TYPO_AN_AND" name="I was going to drop by an (and) see what's up" default="temp_off">
            <antipattern>                                 <!-- catches some cases we don't catch already -->
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                <token>an</token>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token>an</token>
                    <token regexp="yes">[aeiou].*</token>
                </antipattern>
                <antipattern>
                    <token>where</token>
                    <token>an</token>
                </antipattern>
                <antipattern>
                    <token skip="1">an</token>
                    <token>add-on</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <token skip="-1" chunk="I-VP">
                        <exception scope="next" postag="V.*" postag_regexp="yes"/>
                    </token>
                    <marker>
                        <token case_sensitive="yes">an
                            <exception postag="NNP" />
                        </token>
                    </marker>
                    <token chunk="B-VP" />
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <short>Possible typo detected</short>
                <example correction="and">I was going to drop by <marker>an</marker> see what's up.</example>
                <example correction="and">Do I need to leave this guild <marker>an</marker> join another?</example>
                <example correction="and">Please feel free to call Mike <marker>an</marker> discuss this with him.</example>
                <example correction="and">I just wanted to be provocative <marker>an</marker> see where we're at.</example>
                <example correction="and">It does allow me to walk away from my computer <marker>an</marker> do other things.</example>
                <example>There is no place to put an offset in a fixed deal.</example>
                <example>He is going to put an add in the houston chronicle.</example>
                <example>I just wanted to give you an up date on the review with Heather.</example>
                <example>I was actually trying to give you an out so you could save face.</example>
                <example>The final passage that refers to ummah in the Qur'an refers to the Muslims as the "best community" and accordingly led to ummah as an exclusive reference to Islam.</example>
                <example>Not to mention earlier she ■■■■■■ with an alter really badly.</example>
                <example>One ledge seems to include an overlook with small holes in the wall to see the rest of the village below.</example>
                <example>Use the request URI to see the exact page where an has error occured and identify and view errors that are common across multiple page groups.</example>
                <example>It'd be a nice extra feature to have, but an exploit trap if it gave any reward.</example>
                <example>Thereafter, Emperor Xuanzong refused to believe any suggestions that An was plotting rebellion, despite Li Heng agreeing with Yang's assessment on this issue.</example>
                <example>I am going to send both you and James an update each night that we send something out, but only you guys make changes to the Investor List.</example>
                <example>I realise that there are issues with the same domain origin policy, but I'd like to write an connect add-on containing links back into bitbucket.</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token>an</token>
                    <token regexp="yes">[aeiouh].*|FAQ</token>
                </antipattern>
                <antipattern>
                    <token><exception postag="NNS" /></token>
                    <token>an</token>
                    <token postag="NNS" />
                </antipattern>
                <pattern>
                    <token chunk_re=".-VP">
                        <exception inflected="yes">be</exception>
                    </token>
                    <token postag="P?DT" postag_regexp="yes" />
                    <token chunk_re="E-NP.*" />
                    <marker>
                        <token>an</token>
                    </marker>
                    <token chunk_re="E-NP.*" />
                    <token><exception postag="JJR" /></token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <short>Possible typo detected</short>
                <example correction="and">He took the cards <marker>an</marker> chips and ran off.</example>
                <example correction="and">The eMTR Training course will provide an overview <marker>an</marker> demonstration of the eMTR application.</example>
                <example correction="and">Is it possible to limit the finder <marker>an</marker> view settings only to this specific path?</example>
                <example>Time to make this thread an FAQ!</example>
                <example>I did this using an Arduino.</example>
                <example>You only started this job an hour ago.</example>
                <example>In this way, you could keep an eye an details, without leaving out all the other stuff.</example>
                <example>While Khanna received a role soon after, Ghai received a role an year later.</example>
                <example>The noumenon was what Kant called the Ding an Sich (the Thing in Itself), the reality that is t...</example>
            </rule>
        </rulegroup>
        <rule id="TYPO_ID_IF" name="I want to know id (if) you'll be there" default="off">
            <pattern>
                <token chunk_re=".-VP">
                    <exception postag="IN|RP|TO" postag_regexp="yes" />
                    <exception>install</exception>
                </token>
                <marker>
                    <token case_sensitive="yes">id</token>
                </marker>
                <token chunk_re="B-NP.*">
                    <exception postag="V.*" postag_regexp="yes" />
                    <exception regexp="yes" inflected="yes">post|'s|[0-9].*</exception>
                </token>
            </pattern>
            <message>Did you mean to write 'if' instead of 'id'?</message>
            <suggestion>if</suggestion>
            <short>Possible typo detected</short>
            <example correction="if">I want to know <marker>id</marker> you'll be there.</example>
            <example correction="if">Find a body shop that can determine <marker>id</marker> the car was flooded and give you a written report.</example>
            <example correction="if">I wanted to know <marker>id</marker> we can do custom instrumentation on a free account?</example>
            <example>The Unreal game engine, simply called Unreal Engine, was seen as a major rival to id Software's Id Tech.</example>
            <example>Is there a regular event per app install id that could be hooked into?</example>
            <example>For example, if your app has id 9999999 and is currently called “My app name”, then its URL would be...</example>
            <example>So I thought id post an update.</example>
        </rule>
        <rulegroup id="TYPO_OR_OF" name="A couple or (of) them went the other way" default="off">
            <rule>
                <pattern>
                    <token regexp="yes">&plural_gray_areas;</token>
                    <marker>
                        <token>or</token>
                    </marker>
                    <token postag="PRP_O.*" postag_regexp="yes">
                        <exception regexp="yes">me|you|it</exception>
                    </token>
                </pattern>
                <message>Did you mean to write 'of' instead of 'or'?</message>
                <suggestion>of</suggestion>
                <short>Possible typo detected</short>
                <example correction="of">A couple <marker>or</marker> them went the other way.</example>
                <example>Do not idle away your youth or you will regret it later.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="J.*" postag_regexp="yes" />
                    <token regexp="yes">&plural_gray_areas;</token>
                    <token>or</token>
                    <token><match no="0" />s</token>
                </antipattern>
                <antipattern>
                    <token><exception>number</exception></token>
                    <token>or</token>
                    <token postag="NNS" />
                    <token regexp="yes">that|which|who</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&plural_gray_areas;</token>
                    <token>or</token>
                    <token regexp="yes">(&plural_gray_areas;)s</token>
                </antipattern>
                <antipattern>
                    <token>or</token>
                    <token postag="VBZ">
                        <exception>trues</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token>parking</token>
                    <token>lot</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">&plural_gray_areas;
                        <exception regexp="yes">all|staff|.*-.*</exception>
                    </token>
                    <marker>
                        <token>or</token>
                    </marker>
                    <token regexp="yes" postag="NNS">.*s
                        <exception postag="NN:UN|RB" postag_regexp="yes" />
                        <exception regexp="yes">chassis|others|&plural_gray_areas;</exception>
                    </token>
                    <token>
                        <exception postag="C[CD]|MD|PCT|SENT_END|V.*" postag_regexp="yes" />
                        <exception regexp="yes">of|to</exception>
                    </token>
                </pattern>
                <message>Did you mean to write 'of' instead of 'or'?</message>
                <suggestion>of</suggestion>
                <short>Possible typo detected</short>
                <example correction="of">Below is a list <marker>or</marker> guidelines on how to handle the different situations.</example>
                <example correction="of">Hushi's actions caused a great increase in the number <marker>or</marker> workers who were associated with different labor organizations.</example>
                <example correction="of">Then just count the number <marker>or</marker> trues by summing the attribute values.</example>
                <example correction="of">Number <marker>or</marker> inhabitants per residential area:</example>
                <example>If you want all then add fields=*all or fields=all, I forget.</example>
                <example>This information is for our subscribers who are on our mailing list or lists that the publisher purchased that have individuals requesting this information.</example>
                <example>But there were so few staff or groups that they could not repeat experiments to check results.</example>
                <example>The presentation of backlit posters is done in display boxes or street furniture components like mega-displays or billboards.</example>
                <example>It can be also defined as "an irrational belief in the superiority or dominance of one's own group or people".</example>
                <example>How many hosts are we talking about? Handful or thousands?</example>
                <example>Or that one's body or actions are being acted on or manipulated by some outside force (delusions of control).</example>
                <example>A biological neural network is composed of a group or groups of chemically connected or functionally associated neurons.</example>
                <example>The game will take an entirely different structure depending on whether Black gives up the bishop pair or tries to keep it.</example>
                <example>In 1946, he wrote "No AA group or members should ever, in such a way as to implicate AA, express any opinion on outside controversial issues -- particularly those of politics, alcohol reform or sectarian religion.</example>
                <example>Can anyone from the Atlassian team or vendors who integrated their hooks to the Bitbucket online editor confirm if it is a missing a feature or if I'm missing on something?</example>
                <example>Behavioral traces are pieces of evidence that indicate behavior occurred, but the actor is not present (e.g., litter in a parking lot or readings on an electric meter).</example>
                <example>Mekda (female, rockshaper, deceased) - Part of an ancient group of elves (second generation or thereabouts), she was captured by trolls and used for her rockshaping skills, with dismemberment serving as punishment for disobedience.</example>
                <example>One of the interesting things about the new requirement is that any Z wave plus device (fifth generation or series 500, it's all the same thing) could have its firmware updated to use the S2 framework.</example>
                <example>The Panhard bar is a simple device, consisting of a rigid bar running sideways in the same plane as the axle, connecting one end of the axle to the car body or chassis on the opposite side of the vehicle.</example>
                <example>...t dancers as the 1's (the active couple or actives); the other couple are 2's (or ...</example>
                <example>Often an arranger will divide each violin section in half or thirds to achieve a denser texture.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP" />
                    <token regexp="yes">&plural_gray_areas;
                        <exception regexp="yes">all|.*-.*</exception>
                    </token>
                    <marker>
                        <token>or</token>
                    </marker>
                    <token>the</token>
                    <token><exception postag="J.*" postag_regexp="yes" /></token>
                    <token><exception>of</exception></token>
                </pattern>
                <message>Did you mean to write 'of' instead of 'or'?</message>
                <suggestion>of</suggestion>
                <short>Possible typo detected</short>
                <example correction="of">Injuries are part <marker>or</marker> the sport.</example>
                <example>I am not sure this is all or the most current, but I found it quickly.</example>
                <example>As soon as we started using E-85 or the 10% mixture the gas mileage dropped about 10%.</example>
            </rule>
        </rulegroup>
        <rule id="TYPO_AS_HAS_WAS" name="My life as (has|was) gotten a lot busier in the last month" default="temp_off">
            <antipattern>
                <token postag="VBN" />
                <token postag="IN|R[BP]|TO" postag_regexp="yes">
                    <exception>as</exception>
                </token>
            </antipattern>
            <antipattern>
                <token>seen</token>
                <token postag="JJ" />
            </antipattern>
            <pattern>   <!-- catches some cases besides 'as been' -->
                <token chunk_re="E-NP.*" />
                <marker>
                    <token>as</token>
                    <token regexp="yes" postag="VBN">.*en
                        <exception postag="JJ" />
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*|given|spoken|swollen|.*written</exception>
                    </token>
                </marker>
                <token><exception regexp="yes">and|,</exception></token>
            </pattern>
            <message>Did you mean to write 'has' or 'was'?</message>
            <suggestion>has \3</suggestion>
            <suggestion>was \3</suggestion>
            <short>Possible typo detected</short>
            <example correction="has gotten|was gotten">My life <marker>as gotten</marker> a lot busier in the last month.</example>
            <example correction="has taken|was taken">Colonel Muammar Qadhafi <marker>as taken</marker> this tragedy as an opportunity to cooperate in the war against terrorism.</example>
            <example correction="has seen|was seen">Though Marley was not in favor of politics, through his lyrics he <marker>as seen</marker> as a political figure.</example>
            <example correction="has seen|was seen">Actually Al doesn't believe that Lee <marker>as seen</marker> any draft of the breakout contract for Fountain Valley.</example>
            <example>European Portuguese sounds like Spanish as spoken by a Russian.</example>
            <example>Our support of EISB has resulted in some good changes at NERC as seen last week.</example>
            <example>He described them as unseen friends, unseen watchers, strange beings, and the Great School of Masters that had been guarding him, and who maintain a "school of wisdom".</example>
            <example>Tom Yewell as Frozen Prospector 2</example>
            <example>Please talk with Mark Taylor on who should handle this in our group as given my situation, I will probably not be able to take this on.</example>
            <example>Is there such a thing as swollen lug nuts?</example>
            <example>Godawful song, but worth keeping as rewritten.</example>
            <example>...erno-English" for the "English language as spoken and written in Ireland".</example>
            <example>British and American English are the reference norms for English as spoken, written, and taught in the rest of the world.</example>
            <example>The term "British English" is sometimes used as a synonym for "Commonwealth English"; that is, English as spoken and written in the Commonwealth of Nations.</example>
            <example>In a simple model, often referred to as the transmission model or standard view of communication, information or content (e.g. a message in natural language) is sent in some form (as spoken language) from an emisor/ sender/ encoder to a destination/ receiver/ decoder.</example>
        </rule>
        <rule id="NUMBERS_IN_WORDS" name="Numbers in words">
            <antipattern><!-- Short words, abbreviations and proper nouns such as t3n, k3b etc.  -->
                <token regexp="yes">\p{L}\d\p{L}</token>
            </antipattern>
            <antipattern><!-- proper nouns -->
                <token regexp="yes">bids4me|edge2net|go2net|kars4kids|media1st|mp3s?|sports4kids|treats4pets|work2gether|ed2k|co2e|md5sums|log4php|planet3dnow|people4project|brands4friends|md5sum|video2brain|log4j|ext2fs|ext3fs|win2k|blender3d|ogre4j|ogre3d|exchange4linux|dom4j|gpg4win|linux4afrika|log4net|fax2mail|mp3tag|neo4j|ip6tables|win9x|train4you|.+2go|.+4(all|ever|you|u)|cat5e|unity3d|seq2seq</token>
            </antipattern>
            <antipattern><!-- June1st -->
                <token regexp="yes">(&months;|&abbrevMonths;)\d{1,2}(st|nd|rd|th)</token>
            </antipattern>
            <antipattern>
                <token />
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">&sometlds;</token>
            </antipattern>
            <antipattern><!-- Hashtags -->
                <token>#</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no" regexp="yes" case_sensitive="yes">[\p{Ll}\p{Lu}]\p{Ll}*[0-9]\p{Ll}+</token>
            </antipattern>
            <pattern>
                <token regexp="yes" postag="UNKNOWN" case_sensitive="yes">[\p{Ll}\p{Lu}]\p{Ll}*[0-9]\p{Ll}+</token>
            </pattern>
            <filter class="org.languagetool.rules.en.EnglishNumberInWordFilter" args="word:\1"/>
            <message>Possible typo detected.</message>
            <example correction="Good|God"><marker>Go0d</marker> morning!</example>
            <!-- Better suggestion: A 3 ft elephant -->
            <example correction="Aft"><marker>A3ft</marker> elephant</example>
            <!-- Better suggestion: America's -->
            <example correction="Americas">of <marker>America1s</marker> real religion.</example>
            <example>Use dev.copy2eps and then the graphicx package in latex.</example>
            <example>FYI Alice's first day at Enron will be this Friday, June1st.</example>
        </rule>
        <rule id="TYPO_A_RE" name="There a re (are) a few items missing">
            <pattern>
                <marker>
                    <token case_sensitive="yes">a</token>
                    <token case_sensitive="yes">re</token>
                </marker>
                <token chunk_re="B-NP.*" />
            </pattern>
            <message>Possible typo detected: Did you mean to write 'are'?</message>
            <suggestion>are</suggestion>
            <example correction="are">There <marker>a re</marker> a few items missing.</example>
        </rule>
        <rulegroup id="YOURE" name="youre vs your"><!-- similar to EN_CONTRACTION but offers a better suggestion -->
            <rule>
                <pattern>
                    <token chunk_re=".-[PV]P" postag="IN|VB.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">hope|think|doubt|assume|guess</exception>
                    </token>
                    <marker>
                        <token>youre</token>
                    </marker>
                    <token postag="JJ.*|NN.*|CD" postag_regexp="yes" chunk_re=".-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="IN|RB|W.*|CC|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Please update the sheets with <marker>youre</marker> results.</example>
                <example correction="your">Please provide <marker>youre</marker> results.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>youre</token>
                    </marker>
                    <token postag="JJ.*|NN.*|CD" postag_regexp="yes" chunk_re=".-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="IN|RB|W.*|CC|PRP.*" postag_regexp="yes" />
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="Your"><marker>Youre</marker> car seems broken.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">think|hope|doubt|assume|guess</token>
                    <marker>
                        <token>youre</token>
                    </marker>
                    <token postag="JJ.*|NN.*|CD" postag_regexp="yes" chunk_re=".-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="IN|RB|W.*|CC|PRP.*" postag_regexp="yes" />
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">I think <marker>youre</marker> car is broken.</example>
            </rule>
        </rulegroup>
        <rule id="YOUR_E" name="your'e (you're) it">
            <pattern>
                <token>your</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">e</token>
            </pattern>
            <message>The apostrophe seems to be misplaced here. Did you mean "you're" (as in 'you are')?</message>
            <suggestion><match no="1" regexp_match="(?iu)r$" regexp_replace="" case_conversion="preserve"/>\2<match no="3" regexp_match="(?iu)e" regexp_replace="re" case_conversion="preserve"/></suggestion>
            <example correction="you're">Sorry, but <marker>your'e</marker> insufferable today.</example>
            <example correction="You're"><marker>Your'e</marker> absolutely right, that's because you were mean to me yesterday.</example>
            <example correction="YOU'RE"><marker>YOUR'E</marker> THE ONE FOR ME!</example>
            <example>I said your 'e equals mc squared' kind of wisdom impresses no one here.</example>
            <example>She said 'I was unconvinced by your' e values.</example>
        </rule>
        <rule id="PRP_AREA" name="they area (are)">
            <antipattern>
                <token postag="IN|VB.*" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">think|hope</exception>
                </token>
                <token>you</token>
            </antipattern>
            <pattern>
                <token regexp="yes">they|you|we</token>
                <marker>
                    <token>area</token>
                </marker>
                <token postag="RB" min="0">
                    <exception postag="IN" />
                </token>
                <token postag="VBG|JJ.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>are</suggestion>?</message>
            <example correction="are">I'm not sure what you <marker>area</marker> speaking about.</example>
        </rule>
        <rule id="FORT_THE" name="fort the (for the)">
            <antipattern>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>fort</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Ff]ort</token>
                <token case_sensitive="yes">the</token>
            </pattern>
            <message>Did you mean <suggestion>for the</suggestion>?</message>
            <example correction="for the">This is the best solution <marker>fort the</marker> company.</example>
            <example>Initially the 500 men stationed at the Ogdensburg fort refused to surrender; however, when British troops entered the fort the Americans evacuated the fort and retreated fourteen miles.</example>
        </rule>
        <rule id="LOOK_SLIKE" name="this look slike (looks like) an error" default="temp_off"><!-- too many FPs ("He nods his <marker>head slowly</marker>.")-->
            <pattern raw_pos="yes">
                <token chunk_re="..N.*"/>
                <token min="0" max="3" chunk="B-ADVP"/>
                <marker>
                    <token postag="VB" regexp="yes">\p{Ll}+<exception regexp="yes">be|chop|cypher|gas|stack|can|go|narrow|screen|will|word</exception></token>
                    <token postag="UNKNOWN" regexp="yes" case_sensitive="yes">s\p{Ll}+<exception regexp="yes">sql|skue</exception></token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">Possibly misplaced space found. Does the 's' belong to the word before?</message>
            <suggestion><match no="3" postag="VBZ"/> <match no="4" regexp_match="^s(?iu)" regexp_replace=""/></suggestion>
            <example correction="sounds like">This <marker>sound slike</marker> an error.</example>
            <example correction="looks for">He always <marker>look sfor</marker> challenges.</example>
        </rule>
        <rule id="YAL_YALL" name="y'al (y'all)">
            <pattern>
                <token>y</token>
                <token regexp="yes">&apostrophe;</token>
                <token>al</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" case_conversion="preserve"/>'<match no="3" case_conversion="preserve" regexp_match="(?iu)(.)(l)" regexp_replace="$1$2$2"/></suggestion>, a regional version of 'you' (plural pronoun)?</message>
            <example correction="y'all">What songs have <marker>y'al</marker> been vibing to lately?</example>
            <example correction="Y'ALL">The water tower says "FLORENCE <marker>Y'AL</marker>" now, but it used to say "FLORENCE MALL".</example>
        </rule>
        <rule id="TYPO_CONTRACTION" name="isn'r (isn't)">
            <antipattern>
                <token regexp="yes">can|don|doesn|ha[ds]n|haven|[cw]ouldn|shouldn|wasn|weren|mustn|aren|isn</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </antipattern>
            <antipattern>
                <token>Don</token><!-- name -->
                <token regexp="yes">&apostrophe;</token>
                <token>s</token>
            </antipattern>
            <pattern>
                <token regexp="yes">can|don|doesn|ha[ds]n|haven|[cw]ouldn|shouldn|wasn|weren|mustn|aren|isn</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">[a-z]</token>
            </pattern>
            <message>Did you mean <suggestion>\1\2t</suggestion>?</message>
            <example correction="can't">Sorry, we <marker>can'r</marker> reproduce the problem.</example>
        </rule>
        <rulegroup id="UNITE_STATES" name="Unite State -> United States">
            <antipattern>
                <token>united</token>
                <token>states</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?|one|another</token>
                <token postag="JJ.*|RB" postag_regexp="yes" min="0" />
                <token>united</token>
                <token>state</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>united</token>
                        <token>state</token>
                        <token>'s</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" />
                </pattern>
                <message>Consider changing the position of the possessive apostrophe.</message>
                <suggestion>United States'</suggestion>
                <example correction="United States'">As late as 1959, Anne Cole, one of the <marker>United State's</marker> largest swimsuit designers, said, "It's nothing more than a G-string.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>state</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">united?</token>
                    <token regexp="yes">states?</token>
                </pattern>
                <message>Did you mean <suggestion>United States</suggestion>?</message>
                <example correction="United States">I live in the <marker>united state</marker>.</example>
                <example>I live in a united state.</example>
            </rule>
        </rulegroup>
        <rule id="UNITE_KINGDOM" name="Unite Kingdom -> United Kingdom">
            <pattern>
                <token>unite</token>
                <token>kingdom</token>
            </pattern>
            <message>Did you mean <suggestion>United Kingdom</suggestion>?</message>
            <example correction="United Kingdom">I live in the <marker>unite kingdom</marker>.</example>
        </rule>
        <rulegroup id="DIED_IN_THE_WOOL" name="died-in-the-wool -> dyed-in-the-wool">
            <url>https://www.merriam-webster.com/dictionary/dyed-in-the-wool</url>
            <rule>
                <pattern>
                    <token regexp="yes">die[td]</token>
                    <token>in</token>
                    <token>the</token>
                    <token>wool</token>
                </pattern>
                <message>Did you mean the phrase <suggestion>dyed in the wool</suggestion>?</message>
                <example correction="dyed in the wool">He's a <marker>died in the wool</marker> Knicks fan.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">die[dt]-in-the-wool</token>
                </pattern>
                <message>Did you mean the phrase <suggestion>dyed-in-the-wool</suggestion>?</message>
                <example correction="dyed-in-the-wool">He's a <marker>died-in-the-wool</marker> Knicks fan.</example>
            </rule>
        </rulegroup>
        <rule id="FAIR_SURE" name="fair sure → fairly sure">
            <antipattern>
                <token>sure</token>
                <token>as</token>
                <token>hell</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>fair
                        <exception case_sensitive="yes">Fair</exception>
                    </token>
                    <token>sure</token>
                </marker>
            </pattern>
            <message>The words '\1 \2' may not fit in this context.</message>
            <suggestion>fairly sure</suggestion>
            <suggestion>fair share</suggestion>
            <suggestion>for sure</suggestion>
            <suggestion>fair, sure,</suggestion>
            <example correction="fairly sure|fair share|for sure|fair, sure,">I'm <marker>fair sure</marker>.</example>
            <example correction="fairly sure|fair share|for sure|fair, sure,">I have had my <marker>fair sure</marker> of it.</example>
            <example correction="fairly sure|fair share|for sure|fair, sure,">This isn't <marker>fair sure</marker> but that's just how it is.</example>
            <example>things aren't fair sure as hell aren't going to do it either</example>
            <example>Vanity Fair sure didn't play favorites</example>
        </rule>
        <rulegroup id="WE_APOSTROPHE_ARE" name="we'are → we're">
            <rule>
                <pattern>
                    <token regexp="yes">we|you|they|there</token>
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                    <token spacebefore="no">are</token>
                </pattern>
                <message>This contraction seems to be incorrect.</message>
                <suggestion>\1\2re</suggestion>
                <suggestion>\1 \3</suggestion>
                <example correction="We're|We are"><marker>We'are</marker> happy.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                    <token spacebefore="no">am</token>
                </pattern>
                <message>This contraction seems to be incorrect.</message>
                <suggestion>\1\2m</suggestion>
                <suggestion>\1 \3</suggestion>
                <example correction="I'm|I am"><marker>I'am</marker> happy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                    <token spacebefore="no">is</token>
                </pattern>
                <message>This contraction seems to be incorrect.</message>
                <suggestion>\1\2s</suggestion>
                <suggestion>\1 \3</suggestion>
                <example correction="She's|She is"><marker>She'is</marker> happy.</example>
            </rule>
        </rulegroup>
        <rule id="WERE_RE" name="were're → we're">
            <pattern>
                <token>were</token>
                <token>'re</token>
            </pattern>
            <message>Did you mean <suggestion>we\2</suggestion>?</message>
            <example correction="we're">While <marker>were’re</marker> at it</example>
            <example correction="we're">Trying to figure-out if <marker>were're</marker> going to Swansboro</example>
            <example correction="We're"><marker>Were're</marker> making a big deal out of nothing.</example>
        </rule>
        <rule id="HAS_IT_NNS__IT_ITS" name="has it advantages → has its advantages">
            <antipattern><!-- There we have it -->
                <token regexp="yes">t?here</token>
                <token postag="PRP">
                    <exception case_sensitive="yes" regexp="yes">[Ii]t</exception>
                </token>
                <token>have</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token postag_regexp="yes" postag="VB.*" />
                <token regexp="yes">those|ones|all|people|others|kids|children|women|men</token>
                <token>who</token>
                <token>have</token>
                <token>it</token>
            </antipattern>
            <!-- Copied antipattern from MAKE_PRP_VBZ -->
            <antipattern><!-- For every room I have it bundles all lights. -->
                <token>for</token>
                <token skip="-1" postag="DT" regexp="yes">each|every|all|both|most|some|either|neither</token>
                <token postag_regexp="yes" postag="VBN?" />
                <!-- Ideally insert a comma -->
                <token postag="PRP" />
            </antipattern>
            <pattern>
                <token inflected="yes">have
                    <exception scope="previous" postag="SENT_START" />
                    <exception scope="previous">that</exception><!-- TODO: overzealous -->
                    <exception scope="previous">nor</exception>
                    <exception scope="previous" regexp="yes">(?:rumou?r|legend|tradition)s?|buzz|word|wisdom|folklore</exception>
                </token>
                <marker>
                    <token case_sensitive="yes">it</token>
                </marker>
                <!-- moments origins beginnings roots quirks charms benefits strengths positives advantanges privileges ups upsides pros virtues perks
                flaws limitations shortcomings problems negatives cons downs downsides drawbacks disadvantages weaknesses perils pitfalls
                risks failings repercussions issues disappointments frustrations difficulties consequences
                peculiarities nuances ways motives setbacks supporters proponents defenders detractors advocates similarities resemblances -->
                <!-- Disambiguation rule PRP_VBZ removes NNS -->
                <token postag_regexp="yes" postag="NNS|VBZ">
                    <exception regexp="yes" inflected="yes">be|have|seem|make</exception>
                    <exception regexp="yes">(?:ass-b|bass-|b)ackwards</exception><!-- RB -->
                    <exception>his</exception><!-- PRP$ -->
                    <exception>things</exception>
                    <exception>thanks</exception>
                    <exception regexp="yes">hours|days|weeks|months|years|ages</exception>
                    <exception scope="next" spacebefore="no" regexp="yes">&apostrophe;.*</exception><!-- UPS'd -->
                </token>
            </pattern>
            <message>The word '\2' may not fit between '\1' and the plural noun '\3'. Did you mean <suggestion>its</suggestion>?</message>
            <example correction="its">Living on your own has <marker>it</marker> advantages.</example>
            <example correction="its">Trying to navigate two computer systems has <marker>it</marker> challenges.</example>
            <example correction="its">It has <marker>it</marker> moments.</example>
            <example correction="its">It has had <marker>it</marker> moments.</example>
            <example correction="its">It has <marker>it</marker> ups and downs.</example>
            <example correction="its">Every Card has <marker>it</marker> drawbacks.</example>
            <example correction="its">It has <marker>it</marker> charms.</example>
            <example correction="its">It has <marker>it</marker> flaws.</example>
            <example correction="its">It has <marker>it</marker> pitfalls.</example>
            <example correction="its">It has <marker>it</marker> downs.</example>
            <example correction="its">It has <marker>it</marker> limitations.</example>
            <example correction="its">It has <marker>it</marker> origins in something.</example>
            <!-- Basic exceptions -->
            <example>that have IT pros smiling</example>
            <example>still having IT problems</example>
            <example>Rumour has it things</example>
            <example>Has it feet like water-lilies? Has it feathers like a bird?</example>
            <example>So there you have it pros</example>
            <example>There you have it folks</example>
            <example>but if you had it UPS'd to you,</example>
            <example>but now that we have it things start getting easier</example>
            <example>I'm starting to think if we all had it things might be somewhat different.</example>
            <example>and She's Gotta Have It benefits from an eroticism</example>
            <example>nor has it the necessary knowledge, nor has it motives to acquire that knowledge</example>
            <example>but if 'leave' has it things will be so much worse.</example>
            <example>For every room I have it bundles all lights</example>
            <example>You have it ass-backwards.</example>
            <example>They have it thanks to you.</example>
            <example>I had it years ago.</example>
            <!-- Complex exceptions -->
            <example>only triggers if the troop that has it deals the skull damage</example>
            <example>For all the advantages of wealth, it can also make those who have it targets.</example>
        </rule>
        <rulegroup id="LOOKS_LIKES" name="looks likes → looks like">
            <!-- This rule has nothing to do with the (extremely rare) incorrect usage of 'look likes' (etc.)
            for 'look-alikes' (as in doppelganger). -->

            <!-- In 527 sentences from iWeb, no actual usages of 'look' or 'looks' or 'looking' as a noun were found,
            but a defensive antipattern might not hurt. -->
            <antipattern>
                <token postag="PRP$" />
                <token regexp="yes">look\w+</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">looks|looked|looking</token>
                    <token>likes</token>
                </pattern>
                <message>Did you mean <suggestion>\1 like</suggestion>?</message>
                <example correction="looks like">So far it <marker>looks likes</marker> this.</example>
                <example correction="looked like">It <marker>looked likes</marker> this.</example>
                <example correction="looking like">The districts can end up <marker>looking likes</marker> giant ink blots</example>
            </rule>
            <rule>
                <!-- In case 'looks like' and 'look like' suggestions are split into two sub-rules, <antipattern>s might include:
                to look, E-NP-plural look, non-third-person pronoun look, causative make|have|let -->
                <pattern>
                    <token>look</token>
                    <token>likes</token>
                </pattern>
                <message>Did you mean <suggestion>\1s like</suggestion> or <suggestion>\1 like</suggestion>?</message>
                <example correction="looks like|look like">It <marker>look likes</marker> this.</example>
                <example correction="looks like|look like">the controls <marker>look likes</marker> you'd find</example>
                <example correction="looks like|look like">I couldn't have made them <marker>look likes</marker> bars</example>
                <example correction="looks like|look like">The gym workouts he lists <marker>look likes</marker> ones</example>
                <example correction="looks like|look like">we had it painted up to <marker>look likes</marker> Roy's</example>
                <example correction="looks like|look like">We <marker>look likes</marker> this.</example>
            </rule>
        </rulegroup>
        <rule id="KIN_REGARDS" name="Kin (kind) regards">
            <antipattern>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token regexp="yes">kid|kin</token>
            </antipattern>
            <pattern>
                <token regexp="yes">kin|kid</token>
                <token regexp="yes">regards|wishes|reminders?</token>
            </pattern>
            <message>Did you mean <suggestion>kind \2</suggestion>?</message>
            <example correction="Kind regards"><marker>Kid regards</marker>, Carl.</example>
        </rule>
        <rule id="PERPETUUM_MOBILE" name="perpetuum mobile">
            <pattern>
                <token regexp="yes">p[aei]rp[aei]t(ue?|eu)m</token>
                <token regexp="yes">mobil[eèé]?</token>
            </pattern>
            <message>Did you mean the Latin phrase <suggestion>perpetuum mobile</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/perpetuum%20mobile</url>
            <example correction="perpetuum mobile">Tito's <marker>perpetuem mobile</marker> kept rotating during the stagnant 1970s.</example>
        </rule>
        <rulegroup id="WELL_SUITING" name="well suiting, well suitable → well suited">
            <!-- TODO add 'regard' -->
            <rule>
                <pattern>
                    <marker>
                        <token>well</token>
                        <token regexp="yes">(?:suit|adapt|cater|tailor|respect|advis|connect|position|prepar|recogniz|dispos|defin|match|demonstrat|situat|accustom|deserv)(?:ing|able)</token>
                    </marker>
                    <token><exception postag_regexp="yes" postag="IN|DT" /></token>
                </pattern>
                <message>The accepted phrasing is <suggestion>\1 <match no="2" regexp_match="^(.+)(?:ing|able)$" regexp_replace="$1" />ed to</suggestion>.</message>
                <example correction="well suited to">I found it to be <marker>well suiting</marker> my needs.</example>
                <example>I found it to be well suited my needs.</example><!-- TODO -->
                <example>The exit is well situated for visitors.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>well</token>
                        <token regexp="yes">(?:suit|adapt|cater|tailor|respect|advis|connect|position|prepar|recogniz|dispos|defin|match|demonstrat|situat|accustom|deserv)(?:ing|able)</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>The accepted phrasing is <suggestion>\1 <match no="2" regexp_match="^(.+)(?:ing|able)$" regexp_replace="$1" />ed</suggestion>.</message>
                <example correction="well suited">This makes applets <marker>well suitable</marker> for demonstration.</example>
                <example type="triggers_error">a river and well suitable for investigations of stream bacterial ecology.</example>
                <example type="triggers_error">Is your well suitable for controlled pressure drilling?</example>
                <example>I found it to be well suited to my needs.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">well-(?:suit|adapt|cater|tailor|respect|advis|connect|position|prepar|recogniz|dispos|defin|match|demonstrat|situat|accustom|deserv)(?:ing|able)</token>
                    </marker>
                    <token negate_pos="yes" postag="IN" />
                </pattern>
                <message>The accepted phrasing is <suggestion><match no="1" regexp_match="^(.+)(?:ing|able)$" regexp_replace="$1" />ed to</suggestion>.</message>
                <example correction="well-suited to">I found it to be <marker>well-suiting</marker> my needs.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">well-(?:suit|adapt|cater|tailor|respect|advis|connect|position|prepar|recogniz|dispos|defin|match|demonstrat|situat|accustom|deserv)(?:ing|able)</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>The accepted phrasing is <suggestion><match no="1" regexp_match="^(.+)(?:ing|able)$" regexp_replace="$1" />ed</suggestion>.</message>
                <example correction="well-suited">The human brain is not particularly <marker>well-suiting</marker> for thinking analytically</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>well</token>
                        <token regexp="yes">(?:qualif)[yi](?:ing|able)</token>
                    </marker>
                    <token><exception postag_regexp="yes" postag="IN|DT" /></token>
                </pattern>
                <message>The accepted phrasing is <suggestion>\1 <match no="2" regexp_match="^(.+)[yi](?:ing|able)$" regexp_replace="$1" />ied to</suggestion>.</message>
                <example correction="well qualified to">I found it to be <marker>well qualifying</marker> my needs.</example>
                <example>She is very well qualified for a management position.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>well</token>
                        <token regexp="yes">(?:qualif)[yi](?:ing|able)</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>The accepted phrasing is <suggestion>\1 <match no="2" regexp_match="^(.+)[yi](?:ing|able)$" regexp_replace="$1" />ied</suggestion>.</message>
                <example correction="well qualified">This makes applets <marker>well qualifiable</marker> for demonstration.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">well-(?:qualif)[yi](?:ing|able)</token>
                    </marker>
                    <token negate_pos="yes" postag="IN" />
                </pattern>
                <message>The accepted phrasing is <suggestion><match no="1" regexp_match="^(.+)[yi](?:ing|able)$" regexp_replace="$1" />ied to</suggestion>.</message>
                <example correction="well-qualified to">I found it to be <marker>well-qualifying</marker> my needs.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">well-(?:qualif)[yi](?:ing|able)</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>The accepted phrasing is <suggestion><match no="1" regexp_match="^(.+)[yi](?:ing|able)$" regexp_replace="$1" />ied</suggestion>.</message>
                <example correction="well-qualified">The human brain is not particularly <marker>well-qualifiable</marker> for thinking analytically</example>
            </rule>
        </rulegroup>
        <rule id="PEE_INSTALLED" name="pee-configured (pre-configured)">
            <pattern>
                <token regexp="yes">(pee|per)-(.{2,30}ed)</token>
            </pattern>
            <message suppress_misspelled="yes">Did you mean <suggestion><match no="1" regexp_match="(?i)(p)(ee|er)" regexp_replace="$1re" /></suggestion>?</message>
            <example correction="pre-configured">The tool came <marker>pee-configured</marker>.</example>
        </rule>
        <rule id="ADD_NO" name="add-no (add-on)">
            <pattern>
                <token regexp="yes">add-nos?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="no" regexp_replace="on" /></suggestion>?</message>
            <example correction="add-on">LanguageTool is available as a browser <marker>add-no</marker>.</example>
            <example correction="add-ons">The <marker>add-nos</marker> for Firefox extend its feature set.</example>
        </rule>
        <rule id="SON_T" name="son't (don't)">
            <pattern>
                <token>son</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Did you mean <suggestion>don\2t</suggestion>?</message>
            <example correction="don't">I <marker>son't</marker> know what you mean!</example>
        </rule>
        <rule id="T_HE" name="t he (the)">
            <antipattern>
                <token regexp="yes">&apostrophe;|isn|wasn|weren|hasn|hadn|haven|shouldn|[wc]ouldn|mustn|needn</token>
                <token>t</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>T</token>
                <token>He</token>
            </antipattern>
            <antipattern>
                <token />
                <token />
                <token spacebefore="no">t</token>
            </antipattern>
            <antipattern>
                <token>he</token>
                <token regexp="yes">&apostrophe;</token>
            </antipattern>
            <antipattern>
                <token>he</token>
                <token regexp="yes">is|was</token>
            </antipattern>
            <pattern>
                <token>t</token>
                <token>he</token>
            </pattern>
            <message>Did you mean <suggestion>the</suggestion>?</message>
            <example correction="the">I'm <marker>t he</marker> best.</example>
            <example>He kissed you, didn't he?</example>
        </rule>
        <rule id="CONTRACTION_CASE" name="inconsistent case in contraction (e.g. I'Ve)">
            <pattern case_sensitive="yes" raw_pos="yes">
                <token></token>
                <token spacebefore="no">'</token>
                <token spacebefore="no" regexp="yes">Ll|Re|Ve|lL|rE|vE</token>
            </pattern>
            <message>Please check your upper/lowercase spelling.</message>
            <suggestion>\1\2<match no="3" case_conversion="alllower"/></suggestion>
            <example correction="I've">Maybe <marker>I'Ve</marker> seen this before.</example>
            <example correction="I'll">Maybe <marker>I'Ll</marker> do so tomorrow.</example>
        </rule>
        <rule id="MAH" name="mah (my)">
            <antipattern>
                <token regexp="yes">Mrs?|Dr|Prof(essor)?</token>
                <token min="0">.</token>
                <token>Mah</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- name -->
                <token postag="NNP|UNKNOWN" postag_regexp="yes" />
                <token>Mah</token>
            </antipattern>
            <antipattern>
                <token>mah</token>
                <token regexp="yes">jongg?</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Mm]ah</token>
            </pattern>
            <message>"\1" is an abbreviation for "mahogany". Did you maybe mean <suggestion>my</suggestion>?</message>
            <example correction="my">You are <marker>mah</marker> brother.</example>
            <example>12 mAh</example>
        </rule>
        <rule id="MI" name="mi (me)">
            <antipattern>
                <token postag="CD" />
                <token>mi</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">.*\d.*</token>
                <token>mi</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">/|\?|=</token>
                <token>mi</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[;,:]</token>
                <token>mi</token>
                <token regexp="yes">[;,:]</token>
            </antipattern>
            <antipattern>
                <token>mi</token>
                <token regexp="yes">=|\/</token>
            </antipattern>
            <antipattern>
                <token skip="1">do</token>
                <token skip="1">re</token>
                <token skip="1">mi</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="2">sq(uare)?</token>
                <token>mi</token>
            </antipattern>
            <antipattern><!-- spanish -->
                <token>mi</token>
                <token regexp="yes">estas|amig[ao]|rancho|casa</token>
            </antipattern>
            <antipattern>
                <token>Mi</token>
                <token>Home</token>
            </antipattern>
            <antipattern>
                <token>mi</token>
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
                <token>mi</token>
            </antipattern>
            <antipattern>
                <token>xiaomi</token>
                <token>mi</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>mi</token>
            </antipattern>
            <antipattern>
                <token>mi</token>
                <token>familia</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">mi</token>
            </pattern>
            <message>Did you mean <suggestion>me</suggestion> or <suggestion>my</suggestion>?</message>
            <example correction="me|my">Can you feel <marker>mi</marker>?</example>
        </rule>
        <rule id="HING" name="hing (thing / hang)">
            <antipattern>
                <token regexp="yes">shun|lew|donald|john</token>
                <token regexp="yes">hings?</token>
            </antipattern>
            <antipattern>
                <token>hing</token>
                <token>tong</token>
            </antipattern>
            <antipattern>
                <token skip="-1">asafoetida</token>
                <token>hing</token>
            </antipattern>
            <antipattern>
                <token skip="-1">hing</token>
                <token>asafoetida</token>
            </antipattern>
            <pattern>
                <token regexp="yes" case_sensitive="yes">hings?</token>
            </pattern>
            <message>Did you really mean "\1" (= noun, another word for asafoetida)?</message>
            <suggestion><match no="1" regexp_match="(?i)hing" regexp_replace="thing" /></suggestion>
            <suggestion><match no="1" regexp_match="(?i)hing" regexp_replace="hang" /></suggestion>
            <example correction="thing|hang">The <marker>hing</marker> is, I really don't understand what you want.</example>
        </rule>
        <rule id="HEP" name="hep (help / hip)">
            <antipattern>
                <token>hep</token>
                <token regexp="yes">house|stars|A|B|C|D|E|F|G2?|Cahill|Cats?|Jazz|locks?|neutrinos?|Five|Navio|Group|riots|T</token>
            </antipattern>
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Hh]eps?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="ep" regexp_replace="elp" /></suggestion> or <suggestion><match no="1" regexp_match="ep" regexp_replace="ip" /></suggestion> ("hep" is old-fashioned for "hip")?</message>
            <example correction="helps|hips">He <marker>heps</marker> you to save lifes.</example>
            <example>The Hootenanny Singers and The Hep Stars sometimes crossed paths while touring.</example>
            <example>They also set up Hep House, their equivalent of Apple Corps.</example>
        </rule>
        <rule id="NEED_HELPS" name="I need helps (help)">
            <pattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token postag="NN.*|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">need|want</token>
                <token postag="PRP$" min="0" />
                <marker>
                    <token regexp="yes">helps|supports</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="6" regexp_match="s$" regexp_replace="" /></suggestion>?</message>
            <example>The one I need helps others.</example>
            <example correction="help">I need <marker>helps</marker>.</example>
            <example correction="help">He wants your <marker>helps</marker>.</example>
        </rule>
        <rule id="PAPUA_NEW_GUINEA" name="Misspellings of 'Papua New Guinea'">
            <antipattern case_sensitive="yes">
                <token>Papua</token>
                <token>New</token>
                <token regexp="yes">Guinean?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Papp?u?au?</token>
                <token>New</token>
                <token regexp="yes">(Guinea|Gunea|Guinae|Gunae|Guniea)n?</token>
            </pattern>
            <message>Did you mean <suggestion>Papua New <match no="3" regexp_match="(?i)(Guinea|Gunea|Guinae|Gunae|Guniea)(n?)$" regexp_replace="Guinea$2" /></suggestion> (= country in Oceania)?</message>
            <example correction="Papua New Guinea">He was born in <marker>Papa New Guinea</marker>.</example>
            <example correction="Papua New Guinean"><marker>Papa New Guinean</marker> Australians are the citizens and residents of Australia who were born in Papua New Guinea.</example>
        </rule>
        <rule id="LIGATURES" name="Word contains a ligature">
            <antipattern case_sensitive="yes"><!-- Assume that ligatures in text about Old English are correct -->
                <token skip="-1" postag="SENT_START"/>
                <token regexp="yes">Old|Middle</token>
                <token skip="-1">English</token>
                <token postag="SENT_END"/>
            </antipattern>
            <pattern><!-- Don't add all known ligatures. Wait for real errors reported by users. -->
                <token regexp="yes">.*(æ|ﬀ|ﬁ|ﬂ).*
                    <exception regexp="yes">.</exception><!-- Ignore a token that is a single ligature -->
                    <exception postag_regexp="yes" postag="NNPS?"/>
                    <exception scope="previous">nihilque</exception><!-- Add to this list when an FP is found, but only if the word is clearly not English. This is not an ideal solution, but it works.(The spell checker still finds the target word and this word.) -->
                    </token>
            </pattern>
            <message>The word '\1' contains a ligature (joined letters). Modern English does not usually use ligatures. A ligature in a word causes a spelling error. If the word is an English word, write it with standard characters.</message><!-- A ligature can also cause a disambiguation error, but the average reader does not need to know that. -->
            <url>https://en.wikipedia.org/wiki/Typographic_ligature</url><!-- Refer also to https://en.wikipedia.org/wiki/List_of_words_that_may_be_spelled_with_a_ligature -->
            <short>Ligature</short>
            <example correction="">LanguageTool <marker>ﬁnds</marker> spelling errors. [The word 'finds' contains a ligature, not the characters f i.]</example>
            <example correction="">An <marker>æon</marker> is a technical term. [ae]</example>
            <example correction="">This <marker>eﬀects</marker> many rules. [ef]</example>
            <example correction="">Her <marker>inﬂuence</marker> is strong. [fl]</example>
            <example>LanguageTool <marker>finds</marker> spelling errors.</example>
            <example>LanguageTool <marker>【Upgraded</marker> version...</example><!-- Not a ligature. Need a different rule. -->
            <example>The correct spelling of the proper noun '<marker>Encyclopædia Britannica</marker>' uses a ligature (https://corporate.britannica.com/contact/).</example>
            <example>The Danish and Norwegian alphabets end with <marker>æ</marker>—ø—å, whereas the Icelandic...</example>
            <example>... from its Old English meaning, dægesege, from dæges eage meaning "day's eye," and this was...</example>
            <example>... accensum ardeat donec totum consumatur, nihilque fæcum aut phlegmatis in fundo remaneat.</example>
        </rule>

       <rulegroup id="IN_LAWS" name="brother-in-laws (brothers-in-law)">
           <rule>
               <pattern>
                   <marker>
                       <token regexp="yes">(brother|daughter|father|mother|relative|sister|son)s-in-laws</token>
                   </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="s$" regexp_replace=""/></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="brothers-in-law">How many <marker>brothers-in-laws</marker> do you have?</example>
            </rule>
            <rule>
               <pattern>
                   <marker>
                       <token regexp="yes">(brother|daughter|father|mother|relative|sister|son)-in-laws</token>
                   </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="-in-laws$" regexp_replace="s-in-law"/></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="brothers-in-law">How many <marker>brother-in-laws</marker> do you have?</example>
            </rule>
        </rulegroup>
       <rulegroup id="COMPERE_COMPARE" name="compere (compare)">
           <rule>
               <pattern case_sensitive="yes">
                   <marker>
                       <token inflected="yes">compere</token>
                   </marker>
                   <token regexp="yes">to|with</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="pe" regexp_replace="pa"/></suggestion> (compare = view in relation) instead of 'compère' (act as a compère)?</message>
                <short>Possible typo</short>
                <example correction="compared">She is tall <marker>compered</marker> to him.</example>
                <example>She is tall <marker>compared</marker> to him.</example>
                <example>This year's show will be compered by the famous actress Sharon.</example><!-- The usual BrE spelling is 'compère', but www.merriam-webster.com/dictionary/compere allows 'compere'. COMPERE finds 'compere', thus do not show the example to the users. -->
            </rule>
        </rulegroup>
        <rule id="SHOULD_VS_SHOULDER" name="looked over her should (shoulder)">
            <pattern>
                <token inflected='yes'>look</token>
                <token>over</token>
                <token postag='PRP$'/>
                <marker><token>should</token></marker>
            </pattern>
            <message>Did you mean <suggestion>shoulder</suggestion>?</message>
            <example correction='shoulder'>He looked over his <marker>should</marker>.</example>
        </rule>
        <rule id="TRUE_TO_WORD" name="true to her words (word)">
            <pattern>
                <token>true</token>
                <token>to</token>
                <token postag="PRP$"></token>
                <marker><token>words</token></marker>
            </pattern>
            <message>Did you mean the idiom 'true to one's word' (=keep one's promise)?</message>
            <suggestion>word</suggestion>
            <url>https://www.merriam-webster.com/dictionary/true%20to%20word</url>
            <example correction="word">She was true to her <marker>words</marker>.</example>
        </rule>
        <rule id="DEGREE_CHANGE" name="360 (180) degree change">
            <pattern>
                <marker><token regexp="yes">360(-degree)?</token></marker>
                <token inflected="yes" min="0">degree</token>
                <token regexp="yes">change|turn</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="360" regexp_replace="180"/></suggestion>? (360 degrees leads to the starting point)</message>
            <example correction="180">She made a <marker>360</marker> degree change in her life.</example>
            <example correction="180-degree">She made a <marker>360-degree</marker> change in her life.</example>
        </rule>
        <rule id="TOW_THE_LINE" name="tow (toe) the line">
            <antipattern>
                <token inflected="yes">be</token>
                <token>towed</token>
            </antipattern>
            <pattern>
                <marker><token inflected="yes">tow</token></marker>
                <token>the</token>
                <token>line</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag="VB.*">toe</match></suggestion>?</message>
            <url>https://www.lexico.com/definition/toe_the_line</url>
            <example correction="toe">We'll <marker>tow</marker> the line.</example>
            <example correction="toes">Make sure everyone <marker>tows</marker> the line!</example>
            <example>We'll <marker>toe</marker> the line.</example>
            <example>Missing comma. While the boat was <marker>towed</marker> the line broke.</example>
        </rule>
        <rule id="RACK_BRAIN" name="wrack (rack) one's brain about">
            <pattern>
                <marker><token inflected="yes">wrack</token></marker>
                <token/>
                <token>brain</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="w" regexp_replace=""/></suggestion>?</message>
            <example correction="racked">He <marker>wracked</marker> his brain about it.</example>
        </rule>
        <rule id="HALO_HALLO" name="Halo (Hallo)">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token>Halo</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>Hallo</suggestion>, the greeting? A halo is an optical phenomenon.</message>
            <short>Possible typo</short>
            <example correction="Hallo"><marker>Halo</marker> John!</example>
        </rule>
        <rulegroup id="APOS_RE" name="we'Re' (we're) etc">
          <rule>
            <antipattern>
              <token regexp="yes">\p{Lu}+</token>
              <token case_sensitive="yes">'RE</token>
            </antipattern>
            <pattern>
              <token regexp="yes">you|we|they|who</token>
              <token min="0" regexp="yes">&apostrophe;</token>
              <token case_sensitive="yes" regexp="yes">'?(Re|RE)</token>
            </pattern>
            <message>Did you mean <suggestion>\1're</suggestion>?</message>
            <short>Possible typo</short>
            <example correction='We&apos;re'><marker>We'Re</marker> looking forward to our meeting.</example>
            <example correction='We&apos;re'><marker>We'RE</marker> looking forward to our meeting.</example>
            <example correction='WE&apos;re'><marker>WE'Re</marker> here!</example><!-- The correction is not correct -->
            <example><marker>We're</marker> looking forward to our meeting.</example>
            <example>He's sad, but <marker>WE'RE</marker> happy.</example>
          </rule>
          <rule>
            <pattern>
              <marker>
                <!--<token regexp="yes">isn|ain|aren|wasn|weren|don|doesn|didn|can|couldn|mayn|mightn|mustn|needn|oughtn|shan|shouldn|usedn|won|wouldn|haven<exception regexp="yes">\p{Lu}+</exception></token>
                <token regexp="yes">&apostrophe;</token>-->
                <token></token>
                <token case_sensitive="yes" spacebefore="no">n</token>
                <token spacebefore="no">'</token>
                <token case_sensitive="yes" spacebefore="no">T</token>
              </marker>
            </pattern>
            <message>Did you mean <suggestion>\1n't</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="don't">We <marker>don'T</marker> need this.</example>
            <example>We <marker>don't</marker> need this.</example>
            <example>We <marker>DON'T</marker> need this.</example>
          </rule>
          <rule>
            <pattern case_sensitive="yes">
              <marker>
                <token postag_regexp="yes" postag="PRP|NN(:UN?)?|WP|WDT"><exception regexp="yes">\p{Lu}+</exception></token>
                <token>'S</token>
              </marker>
            </pattern>
            <message>Did you mean <suggestion>\1's</suggestion>?</message>
            <short>Possible typo</short>
            <example correction='it&apos;s'>… because <marker>it'S</marker> an example.</example>
            <example correction='document&apos;s'>If the <marker>document'S</marker> too long, people won't read it.</example>
            <example correction='Example&apos;s'>This <marker>Example'S</marker> not correct.</example>
            <example correction='that&apos;s'>... and <marker>that'S</marker> not correct.</example>
            <example>… because <marker>it's</marker> an example.</example>
            <example>… but <marker>IT'S</marker> AN EXAMPLE!</example>
          </rule>
        </rulegroup>
        <rule id="AS_FOLLOW_AS_FOLLOWS" name="'as follow' (as follows)">
         <pattern>
          <marker>
          <token>as</token>
          <token>follow</token>
          </marker>
          <token regexp='yes'>[\.:,—\-–]</token>
         </pattern>
         <message>Did you mean <suggestion>as follows</suggestion>?</message>
         <short>Possible typo</short>
         <example correction='as follows'>We can elaborate this distinction <marker>as follow</marker>.</example>
        </rule>
        <rule id="BY_PASSIVE_PARTICIPLE_BE" name="'by' + passive participle (be)">
         <pattern>
          <token postag='MD'></token>
          <marker>
          <token>by</token>
          </marker>
          <token postag='JJ.?|VBN' postag_regexp='yes'><exception postag='DT'></exception><exception>morning</exception></token>
         </pattern>
         <message>Did you mean <suggestion>be</suggestion>?</message>
         <short>Possible typo</short>
         <example correction='be'>This can <marker>by</marker> consistent  with usability constraints.</example>
         <example>George isn't going to lose any votes that he already lost by trying to ban gay marriage, but Kerry might by supporting it.</example>
         <example>He may still do it if its deal with Gov. Gray Davis is OK'd by state legislators.</example>
        </rule>
        <rulegroup id="MISS_VERB" name="miss use (misuse)">
            <rule>
                <pattern>
                    <token>miss</token>
                    <token regexp="yes" inflected="yes" postag="VB[DNPZ]?" postag_regexp="yes">understand|spell|use|place|lead|hear|behave|interpret|evaluate|govern|connect|conceive|calculate|print|advise|date|dial</token>
                </pattern>
                <message>Possible spelling error: Did you mean <suggestion>mis\2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="misunderstand">Did I <marker>miss understand</marker> you?</example>
                <example correction="misused">These words are <marker>miss used</marker>.</example>
                <example>I did not miss using an Android phone.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BEE_BEEN" name="bee (been)">
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes">have</token>
                    <token min="0" regexp="yes">not|n't</token>
                    <marker><token>bee</token></marker>
                    <token postag="RB" min="0"></token>
                    <token postag="JJ|VBN" postag_regexp="yes"></token>
                </pattern>
                <message>Did you mean <suggestion>\3n</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="been">She has <marker>bee</marker> severely injured in the accident.</example>
                <example correction="been">She has not <marker>bee</marker> severely injured in the accident.</example>
                <example correction="been">She has <marker>bee</marker> injured in the accident.</example>
                <example correction="been">She has not <marker>bee</marker> injured in the accident.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes">have</token>
                    <token min="0" regexp="yes">not|n't</token>
                    <marker><token>bee</token></marker>
                    <token postag="RB">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\3n</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="been">She hasn't <marker>bee</marker> there.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes">have</token>
                    <token min="0" regexp="yes">not|n't</token>
                    <marker><token>bee</token></marker>
                    <token postag="IN" />
                </pattern>
                <message>Did you mean <suggestion>\3n</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="been">She hasn't <marker>bee</marker> to Germany yet.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SEE_SEEN" name="see (seen)">
            <rule>
                <antipattern>
                    <token>to</token>
                    <token postag="VB"/>
                    <token regexp="yes">is|was</token>
                    <token regexp="yes">(after|be|fore|over)?seem?</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token min="0">not</token>
                    <marker><token regexp="yes">(after|be|fore|over)?see</token></marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="see" regexp_replace="seen"/></suggestion>?</message>
                <example correction="seen">In this video, an armored vehicle can be <marker>see</marker> driving into a group of demonstrators.</example>
                <example correction="seen">Riverdance has since been <marker>see</marker> by over 25 million people.</example>
                <example>The last thing Tom wants to do is see Mary.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WORD_WORLD" name="word (world)">
            <rule>
                <pattern>
                    <token case_sensitive="yes">Word</token>
                    <token regexp="yes">Cup|War</token>
                </pattern>
                <message>Possible spelling error: Did you mean <suggestion>World \2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="World War">He was a member of the anti-aircraft artillery during <marker>Word War</marker> II</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <marker><token case_sensitive="yes">word</token></marker>
                    <token case_sensitive="yes">'s</token>
                    <token postag="JJS"><exception>truest</exception></token>
                    <token postag="NN.*" postag_regexp="yes"></token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="r" regexp_replace="rl"/></suggestion>?</message>
                <example correction="world">This is the <marker>word</marker>'s largest cat.</example>
                <example>That's stupid in the word's truest sense.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="JJS"></token>
                    <token postag="NN.*" postag_regexp="yes"></token>
                    <token>in</token>
                    <token>the</token>
                    <token regexp="yes" min="0">entire|whole</token>
                    <marker><token>word</token></marker>
                </pattern>
                <message>Did you mean <suggestion><match no="6" regexp_match="r" regexp_replace="rl"/></suggestion>?</message>
                <example correction="world">This is the best cake in the <marker>word</marker>.</example>
                <example correction="world">This is the best game in the entire <marker>word</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="WONT_CONTRACTION" name="wont (won't)">
            <pattern>
                <marker>
                <token>wont<exception scope="previous" postag="PRP$"/></token>
                </marker>
                <token><exception>to</exception></token>
            </pattern>
            <message>Please make sure you mean 'wont' (a habit), not <suggestion>won't</suggestion>/<suggestion>won’t</suggestion> (short for 'will not')?</message>
            <example correction="won't|won’t">No, I <marker>wont</marker> do that.</example>
            <example>We were wont to meet at that pleasant spot.</example>
            <example>As is his wont, Tourneur shows us only parts of the set, in logical sequence, each at the moment when, and not before, we need to see it.</example>
        </rule>
        <rulegroup id="DONT_T" name="I dont't (don't)">
            <rule>
                <pattern>
                    <token regexp="yes">(do|did|does|wo|was|were|ca|have|has|[cw]ould|should|must|had|ai|are|is)nt</token>
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                    <token spacebefore="no">t</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(i?)nt" regexp_replace="n't" /></suggestion>?</message>
                <example correction="didn't">He <marker>didnt't</marker> know about it.</example>
                <example correction="Didn't"><marker>Didnt't</marker> you do it?</example>
            </rule>
        </rulegroup>
        <rule id="WANT_BE" name="want be (won't be)">
            <pattern>
                <token>want</token>
                <token>be</token>
            </pattern>
            <message>Did you mean <suggestion>won't \2</suggestion> or <suggestion>want to \2</suggestion>?</message>
            <suggestion>won't \2</suggestion>
            <example correction="won't be|want to be">He <marker>want be</marker> mad.</example>
        </rule>
        <rule id="DELETE_SPACE" name="does n't (doesn't)">
            <pattern>
                <token/>
                <token spacebefore="yes">n't</token>
            </pattern>
            <message>Please check whether the space between '\1' and '\2' is correct.</message>
            <suggestion>\1\2</suggestion>
            <example correction="doesn't">He <marker>does n't</marker> like her.</example>
        </rule>

      <rulegroup id="INCORRECT_CONTRACTIONS" name="Contraction errors: e.g. did'nt (didn't)">
          <url>https://en.wikipedia.org/wiki/Wikipedia:List_of_English_contractions</url>
          <rule>
            <pattern>
                <token regexp="yes">does|is|are|was|were|did|do|has|have|had|should|would|could|must</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes" case_sensitive="yes">n?t</token>
            </pattern>
            <message>Did you mean <suggestion>\1n\2t</suggestion>?</message>
            <example correction="isn't">This <marker>is'nt</marker> true!</example>
            <example correction="didn't">It <marker>did' t</marker> work.</example>
          </rule>
          <rule>
            <pattern>
                <token regexp="yes">doesn|isn|ain|aren|wasn|weren|didn|hasn|hadn|shouldn|wouldn|couldn|mustn</token>
                <token case_sensitive="yes">'s</token>
            </pattern>
            <message>Did you mean <suggestion>\1't</suggestion>?</message>
            <example correction="hasn't">This <marker>hasn's</marker> happened!</example>
            <example>New Haven's principal commerical corrdiors</example>
            <example>Have you seen Don's new car?</example>
          </rule>
          <rule><!-- The dos and don'ts -->
            <antipattern>
                <token>do</token>
                <token>'s</token>
                <token regexp="yes">and|&amp;</token>
                <token>don</token>
                <token regexp="yes">&apostrophe;</token>
                <token>ts</token>
            </antipattern>
            <antipattern>
                <token>dos</token>
                <token regexp="yes">and|&amp;</token>
                <token>don</token>
                <token regexp="yes">&apostrophe;</token>
                <token>ts</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&apostrophe;</token>
                <token spacebefore="no" regexp="yes">won|don</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">doesn|isn|ain|aren|wasn|weren|don|won|didn|hasn|hadn|shouldn|wouldn|couldn|mustn</token>
                    <token regexp="yes">&apostrophe;</token>
                </marker>
                <token><exception regexp="yes">t|s</exception></token>
            </pattern>
            <message>Did you mean <suggestion>\1\2t</suggestion>?</message>
            <example correction="hasn't">This <marker>hasn'</marker> happened!</example>
            <example>The dos and don'ts.</example>
            <example>Facebook 'won' social</example>
          </rule>
          <rule>
            <pattern>
                <token regexp="yes">doesnt|isnt|arent|wasnt|werent|didnt|dont|wont|hasnt|hadnt|shouldnt|wouldnt|couldnt|mustnt</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="t$" regexp_replace="'t" /></suggestion>?</message>
            <example correction="hasn't">This <marker>hasnt't</marker> happened.</example>
          </rule>
          <rule>
            <pattern>
                <marker>
                    <token regexp="yes">doesnt|isnt|arent|wasnt|werent|didnt|dont|wont|hasnt|hadnt|shouldnt|wouldnt|couldnt|mustnt</token>
                    <token regexp="yes">&apostrophe;</token>
                </marker>
                <token><exception>t</exception></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="(?i)t$" regexp_replace="'t" /></suggestion>?</message>
            <example correction="hasn't">This <marker>hasnt'</marker> happened.</example>
          </rule>
        </rulegroup>
        <rulegroup id="PERS_PRON_CONTRACTION" name="I'l (I'll) etc.">
            <rule>
                <pattern>
                    <token regexp="yes">I|you|s?he|it|we|they</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>l</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2ll</suggestion>?</message>
                <example correction="I'll">Yes, <marker>I'l</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|we|they</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">r|er</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2re</suggestion>?</message>
                <example correction="we're">Yes, <marker>we'r</marker> over here.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">v</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2ve</suggestion>?</message>
                <example correction="we've">Yes, <marker>we'v</marker> discussed that.</example>
            </rule>
        </rulegroup>
        <rule id="IVE_CONTRACTION" name="Ive -> I've">
            <antipattern case_sensitive="yes">
                <token regexp="yes">\p{Lu}.*|by<exception>What</exception></token>
                <token>Ive</token>
            </antipattern>
            <antipattern>
                <token skip="1" postag="NNP" />
                <token case_sensitive="yes">Ive</token>
                <token postag="MD" />
            </antipattern>
            <pattern case_sensitive="yes">
                <token>Ive</token>
            </pattern>
            <message>Possible spelling mistake found.</message>
            <suggestion>I've</suggestion>
            <short>Spelling mistake</short>
            <example correction="I've">That's what <marker>Ive</marker> said.</example>
            <example correction="I've"><marker>Ive</marker> been doing that.</example>
            <example correction="I've">What <marker>Ive</marker> said.</example>
            <example>Jonathan Ive left Apple</example>
            <example>Jony Ive left Apple.</example>
            <example>Browse Titles by IVE</example>
            <example>Articles by Ive Mažuran</example>
            <example>Former CEO Andrew D. Ive will remain with the company as vice president of business development.</example>
        </rule>
        <rule id="BEAT_REGARDS" name="beat (best) regards">
            <pattern>
                <marker>
                    <token regexp="yes">bea?t</token>
                </marker>
                <token>regards</token>
            </pattern>
            <message>Did you mean <suggestion>best</suggestion>?</message>
            <example correction="Best"><marker>Beat</marker> Regards, Daniel</example>
        </rule>
        <rule id="LING" name="ling (long)">
            <pattern>
                <token case_sensitive="yes">ling</token>
            </pattern>
            <message>Did you mean <suggestion>long</suggestion>?</message>
            <example correction="long">See you all there - this is <marker>ling</marker> overdue.</example>
        </rule>
        <rule id="WAN_T" name="wan't (want)">
            <!-- hunspell gets this right, but LT works a bit differently, so we need a rule -->
            <pattern>
                <token>wan</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">t|ted</token>
            </pattern>
            <message>Did you mean <suggestion>\1\3</suggestion>?</message>
            <example correction='want'>But I <marker>wan't</marker> to suggest something else.</example>
            <example correction='wanted'>But I <marker>wan'ted</marker> to suggest something else.</example>
        </rule>
        <rule id="RE_CENT" name="re cent (recent)">
            <pattern>
                <token>re</token>
                <token>cent</token>
            </pattern>
            <message>Did you mean <suggestion>recent</suggestion>?</message>
            <example correction='recent'>The country has so far not changed its <marker>re cent</marker> five-year plan.</example>
        </rule>
        <rule id="IF_WHICH" name="if which (if, which)">
            <pattern>
                <token>if</token>
                <token>which</token>
            </pattern>
            <message>One of these words is redundant, or a comma is missing.</message>
            <suggestion>which</suggestion>
            <suggestion>if</suggestion>
            <suggestion>if, which</suggestion>
            <example correction='which|if|if, which'>We cannot know <marker>if which</marker> functionality gets tested.</example>
            <example correction='which|if|if, which'>If and only <marker>if which</marker> direction is which?</example>
        </rule>
        <rule id="LOT_S" name="lot's of (lots of)">
            <pattern>
                <marker>
                    <token>lot</token>
                    <token>'s</token>
                </marker>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>lots</suggestion>?</message>
            <example correction="lots">There was <marker>lot's</marker> of stuff.</example>
        </rule>
        <rule id="GOOD_NEWS" name="the good new (news) is ...">
            <pattern>
                <token>the</token>
                <token regexp="yes">good|bad</token>
                <marker>
                    <token>new</token>
                </marker>
                <token inflected="yes">be</token>
                <token>that</token>
            </pattern>
            <message>Did you mean <suggestion>news</suggestion>?</message>
            <example correction="news">The bad <marker>new</marker> is that it doesn't work.</example>
        </rule>
        <rulegroup id="A_BUT" name="a but (a bit / about)">
            <rule>
                <pattern>
                    <token regexp="yes">what|how</token>
                    <marker>
                        <token case_sensitive="yes">a</token>
                        <token case_sensitive="yes" regexp="yes">bo?ut</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>about</suggestion>?</message>
                <example correction="about">What <marker>a but</marker> your car?</example>
            </rule>
            <rule>
                <pattern>
                    <token>a</token>
                    <token>but</token>
                </pattern>
                <message>Did you mean <suggestion>a bit</suggestion>?</message>
                <example correction="a bit">So I confused things <marker>a but</marker> and it was Kai who had planned that.</example>
            </rule>
        </rulegroup>
        <rule id="TOOL_LONG" name="tool long (too long)">
            <pattern>
                <marker>
                    <token>tool</token>
                    <token>long</token>
                </marker>
                <token negate="yes">ago</token>
            </pattern>
            <message>Did you mean <suggestion>too long</suggestion>?</message>
            <example correction="too long">I was away for <marker>tool long</marker>.</example>
            <example>They opened their tool long ago.</example>
        </rule>
        <rule id="AN_THEN" name="an then (and then)">
            <pattern>
                <token>an<exception postag='NNP'/></token>
                <token regexp="yes">th(en|is|at|[eo]se|ere)</token>
            </pattern>
            <message>Possible typo. Did you mean <suggestion>and \2</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="and then">Tonight I'm going to eat dinner at Alyssa's <marker>an then</marker> go to Christina's.</example>
            <example>Tonight I'm going to eat dinner at John's and then go home.</example>
        </rule>
        <rule id="AH_HA" name="ah ha (aha)">
            <pattern>
                <token>ah</token>
                <token>ha</token>
            </pattern>
            <message>This word is usually spelled as one word.</message>
            <suggestion>aha</suggestion>
            <url>http://www.whichenglish.com/Better-English-Grammar/Online-Usage-Letter-A.html</url>
            <short>Possible typo</short>
            <example correction="aha">After that we had an "<marker>ah ha</marker>" moment and that was it.</example>
            <example>We had an aha moment.</example>
        </rule>
        <rule id="A_WAS" name="a was (way)">
            <pattern case_sensitive="yes">
                <token>a</token>
                <marker>
                    <token>was</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>way</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="way">But is there a <marker>was</marker> to work around the problem?</example>
        </rule>
        <rulegroup id="ALLTHOUGH" name="all though (although)">
            <rule>
                <pattern>
                    <marker>
                        <token>all<exception scope="previous" regexp="yes">in|of|not|at</exception></token>
                        <token>though</token>
                    </marker>
                    <token>the</token>
                    <token regexp="yes">day|night|week|month|year</token>
                </pattern>
                <message>Did you mean <suggestion>all through</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="All through"><marker>All though</marker> the day: a song by Anita O'Day.</example>
                <example>I enjoyed this all through the night.</example>
            </rule>
            <rule>
                <pattern>
                    <token>all<exception scope="previous" regexp="yes">in|of|not|at</exception></token>
                    <token>though</token>
                </pattern>
                <message>Did you mean <suggestion>although</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="Although"><marker>All though</marker> I liked the book, I had to stop reading it.</example>
                <example>Best of all though, the review will be great.</example>
            </rule>
        </rulegroup>
        <rule id="ALSO_KNOW" name="also know (known)">
            <pattern>
                <token>also</token>
                <token postag="RB.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>know</token>
                </marker>
                <token regexp="yes">as|by|for</token>
            </pattern>
            <message>Did you mean <suggestion>known</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Possible typo</short>
            <example correction="known">He is also <marker>know</marker> as the first Chechen writer.</example>
            <example correction="known">He is also best <marker>know</marker> for his work around architecture.</example>
            <example>He is also known for his beautiful mustache.</example>
        </rule>
        <rule id="AS_OPPOSE_TO_AS_OPPOSED_TO" name="as oppose to (as opposed to)">
            <pattern>
                <token>as</token>
                <token>oppose</token>
                <token>to</token>
            </pattern>
            <message>Did you mean the common phrase/idiom <suggestion>as opposed to</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/as%20opposed%20to</url>
            <short>Possible typo</short>
            <example correction="as opposed to">Professional sports, <marker>as oppose to</marker> amateur sports , are sport s in which athletes receive payment for their performance</example>
        </rule>
        <rulegroup id="WHAT_HOW" name="How (What) is he like?">
            <rule>
                <pattern case_sensitive="yes">
                    <marker><token>How</token></marker>
                    <token regexp="yes">is|'s</token>
                    <token skip="3"/>
                    <token>like</token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>What</suggestion>?</message>
                <url>https://dictionary.cambridge.org/de/grammatik/britisch-grammatik/how-is-or-what-is-like</url>
                <example correction="What"><marker>How</marker> is your new teacher like?</example>
                <example correction="What"><marker>How</marker>'s your new car like?</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker><token>How</token></marker>
                    <token>is</token>
                    <token>it</token>
                    <token>like</token>
                    <token skip="-1">to</token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>What</suggestion>?</message>
                <url>https://dictionary.cambridge.org/de/grammatik/britisch-grammatik/how-is-or-what-is-like</url>
                <example correction="What"><marker>How</marker> is it like to live in New York?</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_GONG_GOING" name="gong/going">
            <antipattern>
                <token>Gong</token>
                <token regexp="yes">li|yoo|hyo.*|seung.*|byeon.*|myu.*</token>
            </antipattern>
            <antipattern>
                <token>Gong</token>
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
                <token spacebefore="no" />
            </antipattern>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[a-z].*</token>
                    <token regexp="yes">Gong|GONG|Dong|DONG</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token regexp="yes">gong|dong</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="ng" regexp_replace="ing" /></suggestion>?</message>
                <example correction="going">I'm <marker>gong</marker> to the city.</example>
                <example correction="doing">I think we are <marker>dong</marker> ok.</example>
                <example>It was Gong.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token />
                    <marker>
                        <token>gong</token>
                    </marker>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>going</suggestion>?</message>
                <example correction="going">Are you <marker>gong</marker> to the city?</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_THEN_THAN" name="then (than)">
            <rule>
                <antipattern>
                    <token postag="CC" />
                    <token>then</token>
                </antipattern>
                <pattern>
                    <token>more</token>
                    <token postag="JJ" skip="-1"><exception scope="next" regexp="yes">,|than|–|;|:</exception></token>
                    <marker><token>then</token></marker>
                    <token><exception postag_regexp="yes" postag="CC|SENT_END"/></token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">It may be more expensive on some file systems <marker>then</marker> others.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>then</token>
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_END">then</token>
                </antipattern>
                <pattern>
                    <token>more</token>
                    <marker><token>then</token></marker>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">She knows more <marker>then</marker> her colleagues.</example>
                <example>We should know more then.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJR" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>then</token>
                    </marker>
                    <token regexp="yes">before|after|ever|now|yesterday|today|tomorrow</token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">Everyone and everything moved much faster now <marker>then</marker> before.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJR" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>then</token>
                    </marker>
                    <token regexp="yes">previous|last|next</token>
                    <token regexp="yes">minute|hour|day|week|month|year|weekend|&months;|&weekdays;</token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">Everyone and everything moved much faster now <marker>then</marker> last week.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="JJR" />
                    <token postag="VBN" />
                    <marker>
                        <token>then</token>
                    </marker>
                    <token>
                        <exception>than</exception>
                    </token>
                    <token />
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">Some things are better suited <marker>then</marker> others.</example>
                <example correction="than">I know everything is easier said <marker>then</marker> done but just my 2 cents.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="JJR" />
                    <token postag="VBN" />
                    <token postag="IN" />
                    <token regexp="yes">this|that|th[oe]se</token>
                    <marker>
                        <token>then</token>
                    </marker>
                    <token>
                        <exception>than</exception>
                    </token>
                    <token />
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">Some things are better suited for this <marker>then</marker> others.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>then</token>
                    <token skip="1" />
                    <token inflected="yes" regexp="yes">start|begin</token>
                </antipattern>
                <antipattern>
                    <token>then</token>
                    <token postag="VBZ?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token>while</token>
                    <token>then</token>
                </antipattern>
                <antipattern>
                    <token postag="CD" />
                    <token regexp="yes">or|and|&amp;|but</token>
                    <token postag="JJR" />
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token postag="PRP" />
                    <token>then</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="JJR">
                        <exception>stranger</exception>
                    </token>
                    <token postag="IN">
                        <exception>than</exception>
                    </token>
                    <token chunk="B-NP-singular" min="0" />
                    <token chunk="E-NP-singular" />
                    <marker>
                        <token>then</token>
                    </marker>
                    <token>
                        <exception>than</exception>
                    </token>
                    <token />
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>? Please check.</message>
                <example correction="than">This steering wheel is better for the car <marker>then</marker> the other.</example>
                <example correction="than">For some reason Thorns seems scarier on paper <marker>then</marker> in practice.</example>
                <example correction="than">You made more in 1 year <marker>then</marker> I have made in my career with Enron.</example>
                <example type="triggers_error">Perhaps if I get stronger at this exercise then I would enjoy it a lot more.</example>
                <example>As long as they are rated a 3 or higher in PRC then they did not need to have it approved.</example>
                <example>It seemed fine earlier in the day then it started to shake and make noise by the evening.</example>
                <example>Or if you feel it happens more in Ranked PVP then do 10-15 or so of those and record them.</example>
                <example>Medication is your best bet even if its temporary, when you feel better for a while then you can consider that.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|I|we|they|you</token>
                    <token>later</token>
                    <marker>
                        <token>than</token>
                    </marker>
                    <token postag="VBD" />
                </pattern>
                <message>It seems that <suggestion>then</suggestion> is the correct adverb in this context.</message>
                <example correction="then">He later <marker>than</marker> said that he would prefer the second option.</example>
            </rule>
        </rulegroup>
        <rule id="CONFUSION_OF_THESES_THESE" name="theses (these)">
            <pattern>
                <marker><token>theses</token></marker>
                <token postag="NN.*" postag_regexp="yes"/>
            </pattern>
            <message>Did you mean <suggestion>these</suggestion>?</message>
            <example correction="these">Are <marker>theses</marker> scenes from a novel?</example>
            <example correction="these">That's why the two countries look as they do <marker>theses</marker> days.</example>
            <example>There are universities that are dedicated just to this field, thousands of people doing theses on Picasso, for example.</example>
        </rule>
        <rulegroup id="CONFUSION_OF_ME_I" name="me (I)">
            <short>Possible incorrect pronoun</short>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="SENT_START|RB_SENT"/><!-- 2019-12-16 RB_SENT refer to #2213 -->
                    <token/>
                    <token>and</token>
                    <marker><token regexp="yes">me|myself</token></marker>
                    <token postag="VB.?|MD" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>I</suggestion>?</message>
                <url>https://languagetool.org/insights/post/you-i-versus-you-me/</url>
                <example correction="I">Tim and <marker>me</marker> work together.</example>
                <example correction="I">Digitization and <marker>me</marker> don't agree.</example><!-- Anthropomorphism. -->
                <example correction="I">Mary and <marker>me</marker> would often walk in the park.</example>
                <example correction="I">However, Tim and <marker>me</marker> work well together.</example>
                <example correction="I">First of all, digitization and <marker>me</marker> don't agree.</example>
                <example correction="I">Whenever possible, Mary and <marker>me</marker> would walk in the park.</example>
                <example correction="I">On the other hand, she and <marker>me</marker> would walk in the park.</example>
                <example correction="I">Mary and <marker>myself</marker> are going to the beach later.</example><!-- Premium #2629 -->
                <example>Tim and <marker>I</marker> work together.</example>
                <example>Let Fred and me know what works.</example>
                <example>I think you should let Tom and me go to Australia by ourselves.</example>
                <example>She says that the company has hired a car to take Rose, another person and me home on Thursday after the big party.</example>
                <example>Driving out to Brookhaven, LI, to meet with Steve and me was really beyond the call of duty.</example>
                <example>Our service management folk and myself included really dislike seeing red alerts.</example><!-- "I included" is not correct -->
                <example>Please could Carolyn, Kay or Greg let Kent and me know if the Turbine Contract will be dated a date other than May 2?</example>
                <example>You and me forever, my love.</example>
            </rule>
            <rule default="off"><!-- We have a better rule: I_ME -->
                <pattern>
                    <token postag="IN"/>
                    <token/>
                    <token>and</token>
                    <marker><token regexp="yes">I|myself</token></marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion><match no="4" regexp_match="I" regexp_replace="me" case_conversion="startlower"/></suggestion>?</message>
                <url>https://data.grammarbook.com/blog/pronouns/tis-i-or-tis-me/</url>
                <example correction="me">He gave it to Tim and <marker>I</marker>.</example>
                <example>We need to talk, just you and I.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>Him</token>
                    <token skip="2">and</token>
                    <token postag="SENT_END"/>
                 </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker><token>Him</token></marker>
                    <token>and</token>
                 </pattern>
                 <message>Please check whether the nominative <suggestion>He</suggestion> should be used.</message>
                 <url>https://languagetool.org/insights/post/you-i-versus-you-me/</url>
                 <example correction='He'><marker>Him</marker> and I cheated on the test.</example>
                 <example>Him alone did she love.</example>
                 <example>She has just lost the only two male loves she had in her life. Him and her husband.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>Her</token>
                    <token skip="2">and</token>
                    <token postag="SENT_END"/>
                 </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker><token>Her</token></marker>
                    <token>and</token>
                 </pattern>
                 <message>Please check whether the nominative <suggestion>She</suggestion> should be used.</message>
                 <url>https://languageandgrammar.com/2008/11/09/is-it-him-and-i-or-him-and-me/</url>
                 <example correction='She'><marker>Her</marker> and I cheated on the test.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"></token>
                    <token regexp="yes">My|Your|H(er|is)|The(ir)?|Our</token>
                    <token/>
                    <token>and</token>
                    <marker><token>me</token></marker>
                    <token postag="VB.?|MD" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>I</suggestion>?</message>
                <example correction="I">My mother and <marker>me</marker> went to California.</example>
                <example correction="I">My brother and <marker>me</marker> would often go to the cinema.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>tag</token>
                    <token inflected="yes">team</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Myself|Me|I</token>
                        <token regexp="yes">and|&amp;</token>
                        <token regexp="yes" chunk_re="B-NP.*">my|his|her|their|the|y?our|this|an?</token>
                        <token postag="NN.*|JJ.*" postag_regexp="yes" min="0" chunk_re="I-NP.*">
                            <exception>other</exception>
                        </token>
                        <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
                            <exception regexp="yes">others?|more</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DP]?|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>When referring to yourself and somebody else, put their name first. Also the nominative form "I" is more likely in this context.</message>
                <suggestion><match no="4" case_conversion="startupper" /> \5 \6 \3 I</suggestion>
                <example correction="Your dad and I"><marker>Me and your dad</marker> are now a couple.</example>
                <example correction="My wife and I"><marker>Me and my wife</marker> were honeymooning in Kabylie.</example>
                <example correction="A good colleague and I"><marker>Me and a good colleague</marker> have made a webstore platform in Laravel 5.8.</example>
                <!-- Chunking issue: -->
                <example>Me and my mom tag teamed on making a penne and plant sausage macaroni and cheese.</example>
                <example>Me and a few others have looked into it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>tag</token>
                    <token inflected="yes">team</token>
                </antipattern>
                <antipattern>
                    <token postag="DT" chunk_re=".-NP.*" />
                    <token regexp="yes">me|myself|I</token>
                </antipattern>
                <antipattern>
                    <token postag="DT">
                        <exception>that</exception>
                    </token>
                    <token regexp="yes">me|myself|I</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">all|.*one</token>
                    <token>but</token>
                    <token regexp="yes">me|myself|I</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|DT" postag_regexp="yes">
                        <exception regexp="yes">and|&amp;|n?or|for|\.</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Mm]yself|[Mm]e|I</token>
                        <token regexp="yes">and|&amp;</token>
                        <token regexp="yes" chunk_re="B-NP.*">my|his|her|their|the|y?our|this|an?</token>
                        <token postag="NN.*|JJ.*" postag_regexp="yes" min="0" chunk_re="I-NP.*">
                            <exception>other</exception>
                        </token>
                        <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
                            <exception regexp="yes">others?|more</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DP]?|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>When referring to yourself and somebody else, put their name first. Also the nominative form "I" is more likely in this context.</message>
                <suggestion><match no="4" case_conversion="startlower"/> \5 \6 \3 I</suggestion>
                <example correction="your dad and I">I mentioned to him that <marker>me and your dad</marker> are now a couple.</example>
                <example correction="my fiancé and I">I’m currently living with my mum but <marker>me and my fiancé</marker> are saving up to get a house in about 18 months time.</example>
                <example correction="my brother and I">I promised that <marker>I and my brother</marker> would do the groceries.</example><!-- putting only \4 in the suggestion will make the test fail -->
                <example>One of those days where It was iron vs. me and the iron kicked my ass.</example>
                <example>Or rather it seems, Kensuke arrived at the studio at the same that I and the other two were still coming.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Myself|Me|I</token>
                        <token regexp="yes">and|&amp;</token>
                        <token postag="NNP" chunk_re="B-NP.*" />
                        <token postag="NNP" chunk_re="E-NP.*" />
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DP]?|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>When referring to yourself and somebody else, put their name first. Also the nominative form "I" is more likely in this context.</message>
                <suggestion><match no="4" case_conversion="startupper" /> \5 \6 \3 I</suggestion>
                <example correction="Peter Johnson and I"><marker>Me and Peter Johnson</marker> are now a couple.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Myself|Me|I</token>
                        <token regexp="yes">and|&amp;</token>
                        <token postag="NNP" chunk_re="E-NP.*">
                            <exception regexp="yes">II.*</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DP]?|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>When referring to yourself and somebody else, put their name first. Also the nominative form "I" is more likely in this context.</message>
                <suggestion><match no="4" case_conversion="startupper" /> \5 \3 I</suggestion>
                <example correction="Peter and I"><marker>Me and Peter</marker> are now a couple.</example>
                <example correction="Loretta and I"><marker>Me and Loretta</marker> liked living there.</example>
                <example>I and II have a list of Enron employees as officers.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT" chunk_re=".-NP.*" />
                    <token regexp="yes">me|myself|I</token>
                </antipattern>
                <antipattern>
                    <token postag="DT">
                        <exception>that</exception>
                    </token>
                    <token regexp="yes">me|myself|I</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">all|.*one</token>
                    <token>but</token>
                    <token regexp="yes">me|myself|I</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|DT" postag_regexp="yes">
                        <exception regexp="yes">and|&amp;|n?or|for|\.</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Mm]yself|[Mm]e|I</token>
                        <token regexp="yes">and|&amp;</token>
                        <token postag="NNP" chunk_re="E-NP.*">
                            <exception regexp="yes">II.*</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB[DP]?|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>When referring to yourself and somebody else, put their name first. Also the nominative form "I" is more likely in this context.</message>
                <suggestion><match no="4" case_conversion="startupper" /> \5 \3 I</suggestion>
                <example correction="Peter and I">They heard that <marker>me and Peter</marker> are now a couple.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"></token>
                    <marker><token regexp="yes">Myself|Me</token></marker>
                    <token skip="3">and</token>
                    <token postag="VB.?" postag_regexp="yes"></token>
                </pattern>
                <message>When referring to yourself and somebody else, put their name first. Also check whether the nominative form <suggestion>I</suggestion> is required here.</message>
                <example correction="I"><marker>Me</marker> and John work together.</example>
                <example><marker>John</marker> and I work together.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"></token>
                    <token regexp="yes">My|Your|H(er|is)|The(ir)?|Our</token>
                    <token/>
                    <token>and</token>
                    <marker><token>him</token></marker>
                    <token postag="VB.?|MD" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>he</suggestion>?</message>
                <example correction="he">My mother and <marker>him</marker> went to California.</example>
                <example correction="he">My sister and <marker>him</marker> might go to Paris.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"></token>
                    <token regexp="yes">My|Your|H(er|is)|The(ir)?|Our</token>
                    <token/>
                    <token>and</token>
                    <marker><token>her</token></marker>
                    <token postag="VB.?|MD" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>she</suggestion>?</message>
                <example correction="she">My mother and <marker>her</marker> went to California.</example>
                <example correction="she">My brother and <marker>her</marker> would often argue.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">I|me</token>
                    <token regexp="yes">and|or</token>
                    <token>myself</token>
                </antipattern>
                <antipattern><!-- Premium #2629: Mary and myself, found by rule 1 -->
                    <token postag_regexp="yes" postag="SENT_START|RB_SENT"/>
                    <token/>
                    <token>and</token>
                    <token regexp="yes">me|myself</token>
                    <token postag="VB.?|MD" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- Premium #2629. This general AP possibly will cause FN -->
                    <token>I</token>
                    <token min="0" max="3" postag="RB"/>
                    <token skip="-1" postag="MD|VB[PD]" postag_regexp="yes">
                        <exception scope="next" postag="PCT"/>
                        <exception scope="next">that</exception>
                        </token>
                    <token regexp="yes">and|or</token>
                    <token>myself</token>
                </antipattern>
                <antipattern><!-- Premium #2629. I nervously suggested that the engineer and myself take -->
                    <token>I</token>
                    <token min="0" max="3" postag="RB"/>
                    <token postag="VB[PD]" postag_regexp="yes"/>
                    <token>that</token>
                    <token chunk_re="B-NP-.*"/>
                    <token min="0" max="6" chunk_re="I-NP-.*"/>
                    <token chunk_re="E-NP-.*"/>
                    <token regexp="yes">and|or</token>
                    <token>myself</token>
                    <token postag="VB[PD]" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- Premium #2629. and myself included really dislike -->
                    <token>and</token>
                    <token>myself</token>
                    <token>included</token>
                    <token min="0" max="3" postag="RB"/>
                    <token postag="MD|VB[PD]?" postag_regexp="yes"/>
                </antipattern>
                <pattern>
                    <token regexp="yes">and|or</token>
                    <marker><token>myself</token></marker>
                    <token postag="PCT|TO|VB[PD]" postag_regexp="yes"/>
                </pattern>
                <message>Please check whether you should use the pronoun <suggestion>me</suggestion> or <suggestion>I</suggestion>.</message>
                <url>https://languagetool.org/insights/post/you-i-versus-you-me/</url>
                <example correction="me|I">The teacher asked Ben and <marker>myself</marker>.</example>
                <example correction="me|I">The teacher asked Ben and <marker>myself</marker> to go over there.</example>
                <example correction="me|I">Mary, Ben and <marker>myself</marker> went over there.</example><!-- Premium #2629 -->
                <example correction="me|I">The teacher thinks Mary and <marker>myself</marker> are going to the beach later.</example><!-- Premium #2629 -->
                <example correction="me|I">Just between you and <marker>myself</marker>, do you think Peter deserved that award?</example>
                <example correction="me|I">The teacher will be presenting Jim Little and <marker>myself</marker>.</example><!-- Premium #2629 -->
                <example correction="me|I">This is the best chocolate mousse that my guests and <marker>myself</marker> have ever eaten.</example>
                <example correction="me|I">Kortney Brown or <marker>myself</marker> are you credit contacts. </example>
                <example correction="me|I">We met last March when Scott Kominiak and <marker>myself</marker> visited your office.</example>
                <example correction="me|I">Ruth, Stacey, John and <marker>myself</marker> had some further discussion regarding our meeting of last week.</example>
                <example correction="me|I">You can take Michael and <marker>myself</marker> off of the list, as we no longer use this report.</example>
                <example correction="me|I">Carl Carter and <marker>myself</marker> are working with Colleen Sullivan.</example>
                <example correction="me|I">As a test, my coworker and <marker>myself</marker> included this sentence.</example>
                <example correction="me|I">If you wanted to work some holidays and I wasn't able to get you in, talk to Don or <marker>myself</marker>.</example><!-- Premium #2629 -->
                <example correction="me|I">Harvard Commencement Address (1978) I admire the fact that he took almost 30 minutes of his time to show his interest in this project and <marker>myself</marker>.</example><!-- Premium #2629 -->
                <example>The teacher asked Ben and <marker>me</marker>.</example>
                <example>Mary and myself are going to the beach later.</example><!-- Premium #2629 -->
                <example>I will be presenting Jim Little and myself.</example><!-- Premium #2629 -->
                <example>I happily introduced Jim and myself to the new staff.</example><!-- Premium #2629 -->
                <example>I nervously suggested that the engineer and myself take it in turns to do unassigned tasks.</example><!-- Premium #2629 -->
                <example>Our service management folk and myself included really dislike seeing these messages.</example><!-- Neither 'I' nor 'me' is correct -->
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_BEEN_BEING" name="been (being)">
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">St(op|art)</token>
                    <marker><token>been</token></marker>
                </pattern>
                <message>Did you mean <suggestion>being</suggestion>?</message>
                <example correction="being">Stop <marker>been</marker> funny!</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be<exception regexp="yes">'.*</exception></token>
                    <token postag="PRP"/>
                    <marker><token>been</token></marker>
                </pattern>
                <message>Did you mean <suggestion>being</suggestion>?</message>
                <example correction="being">What doctrine are they <marker>been</marker> taught?</example>
                <example>What's it been like seeing your show become such a success?</example>
            </rule>
        </rulegroup>

        <rule id="CONFUSION_OF_OUR_OUT" name="out (our)">
            <pattern>
                <token>we</token>
                <token postag="VB[DP]?" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">dine|fall|find|go|set|spread|strike|take|filter|carry|leave|come</exception><!-- More than 500 phrasal verbs with the particle 'out': https://en.wiktionary.org/wiki/Category:English_phrasal_verbs_with_particle_(out) -->
                     <exception regexp="yes">'d|'ve</exception><!-- #4501 -->
                     </token>
                <marker>
                    <token>out</token>
                </marker>
                <token>
                    <exception postag="IN|RP|DT|PCT|CC|W?RB|PRP\$|WDT" postag_regexp="yes"/>
                </token>
            </pattern>
            <message>Did you mean <suggestion>our</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="our">We evaluated <marker>out</marker> method.</example>
            <example correction="our">Before we test <marker>out</marker> new method...</example>
            <example>We evaluated <marker>our</marker> method.</example>
            <example>If we <marker>take out</marker> India and China...</example>
            <example>We <marker>lay out</marker> our proposal.</example>
            <example>I haven't seen Karen since we <marker>fell out</marker> last month.</example>
            <example>We <marker>fell out with</marker> Karen last month.</example>
            <example>We <marker>dine out</marker> once a week.</example>
            <example>We <marker>spread out</marker> and began to search through the woods.</example>
            <example>When we <marker>spread out</marker> cards on the table...</example>
            <example>We figure out how to solve it.</example><!-- #2664 -->
            <example>We got out fine but our teacher didn't.</example><!-- #2664 -->
            <example>We logged out and back in but it didn't help.</example><!-- #2664 -->
            <example>We checked out its historical castle.</example><!-- #2664 -->
            <example>We moved out here long ago.</example><!-- #2664 -->
            <example>We were out today.</example><!-- #2664 -->
            <example>We've out performed them because we had better risk management skills.</example><!-- #4501 -->
            <example>Because we'd out welcomed our stay, we left.</example><!-- #4501 -->
        </rule>

        <rule id="YOUR_SHOULD" name="your (you) should">
            <pattern case_sensitive="yes">
                <marker>
                    <token>your</token>
                </marker>
                <token regexp="yes">should|could</token>
            </pattern>
            <message>Did you mean <suggestion>you</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="you">If it's running, <marker>your</marker> should deactivate it.</example>
        </rule>
        <rulegroup id="US_USE" name="confusion of 'us' vs. 'use'">
            <rule>
                <pattern>
                    <token inflected="yes">make</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>us</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>use</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="use">He made <marker>us</marker> of the new tools.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token case_sensitive="yes">us</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>use</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="use">The <marker>us</marker> of semicolons is prohibited.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>forward</token>
                    <token>us</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">please|will|can|should|[cw]ould|must|might|we|you|they|i|lets</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>us</token>
                    </marker>
                    <token regexp="yes">the|an?|our|their|my|his|her|that|this|its</token>
                </pattern>
                <message>Did you mean <suggestion>use</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="use">Please <marker>us</marker> the bathroom.</example>
                <example correction="use">Can you please <marker>us</marker> his car?</example>
                <example correction="use">He will <marker>us</marker> their new technique.</example>
                <example>Please <marker>use</marker> an umbrella.</example>
                <example>She did us a favor.</example>
                <example correction="use">Lets <marker>us</marker> this!</example>
                <example>Please forward us that assignment when you receive it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">going|has|have|had|got|need(ed)?|willing|required|permitted|prohibited|recommended|allowed|how|wanted|when</token>
                    <token>to</token>
                    <marker>
                        <token>us</token>
                    </marker>
                    <token regexp="yes">the|an?|our|their|my|his|her|that|this|its</token>
                </pattern>
                <message>Did you mean <suggestion>use</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="use">I'm going to <marker>us</marker> that paycheck for my vacation.</example>
                <example correction="use">She has to <marker>us</marker> the next chance.</example>
                <example correction="use">He is required to <marker>us</marker> a new tool.</example>
                <example correction="use">Learn how to <marker>us</marker> a semicolon.</example>
                <example>We are willing to <marker>use</marker> your old car.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ON_OF_THE" name="on (one) of the most/least/...">
            <rule>
                <pattern>
                    <marker>
                        <token>on</token>
                    </marker>
                    <token>of</token>
                    <token>the</token>
                    <token regexp="yes">mo(re|st)|le(ss|ast)|best|worst</token>
                </pattern>
                <message>Did you mean <suggestion>one</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="one">It's <marker>on</marker> of the most popular songs.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>on</token>
                    </marker>
                    <token>of</token>
                    <token>the</token>
                    <token postag="JJS"/>
                </pattern>
                <message>Did you mean <suggestion>one</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="one">It's <marker>on</marker> of the loudest songs.</example>
            </rule>
        </rulegroup>
        <rulegroup id="APART_A_PART" name="apart of (a part of, apart from)">
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <rule>
                <pattern>
                    <token skip="1" inflected="yes">be<exception scope="next" postag="IN"/></token>
                    <marker>
                        <token>apart</token>
                        <token>of</token>
                    </marker>
                    <token><exception>course</exception></token>
                </pattern>
                <message>Possible typo. Did you mean <suggestion>a part \3</suggestion> or <suggestion>apart from</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="a part of|apart from">I'd like to be <marker>apart of</marker> your team.</example>
                <example correction="a part of|apart from">Nannes is now <marker>apart of</marker> the 89.1FM ABC Grandstand Cricket commentary team.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception inflected="yes">be</exception><exception scope="previous" inflected="yes">be</exception></token>
                    <marker>
                        <token>apart</token>
                        <token>of</token>
                    </marker>
                    <token><exception>course</exception></token>
                </pattern>
                <message>Wrong collocation. Did you mean <suggestion>apart from</suggestion>?</message>
                <short>Non-standard phrase</short>
                <example>Lebanon's freedoms set it apart from other Arab states.</example>
                <example correction="apart from">We set it <marker>apart of</marker> other religions.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <marker>
                        <token>a</token>
                        <token>part</token>
                    </marker>
                    <token>from</token>
                </pattern>
                <message>The adverb or adjective <suggestion>apart</suggestion> (= separated, divided) is spelled as one word.</message>
                <url>https://www.merriam-webster.com/dictionary/apart</url>
                <example correction="apart">And <marker>a part</marker> from that, I have no idea.</example>
                <example>The dealer fixed the problem with a part from a junkyard.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN" />
                    <token>a</token>
                    <token>part</token>
                </antipattern>
                <antipattern>
                    <token>of</token>
                    <token skip="-1">which</token>
                    <token>a</token>
                    <token>part</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">are|'re|were</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>a</token>
                        <token>part</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>The adverb or adjective <suggestion>apart</suggestion> (= separated, divided) is spelled as one word.</message>
                <url>https://www.merriam-webster.com/dictionary/apart</url>
                <example correction="apart">The councilors are still <marker>a part</marker>.</example>
                <example>Section 22.2(z) contemplates the transfer of a project of which the subject units are a part.</example>
                <example>The early Cold War era saw the United States as the most powerful nation in a Western coalition of which Mexico and Canada were also a part.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">tear|stand|far|feet|metre|meter|blow|break|rip</token>
                    <token regexp="yes" min="0">them|it|us|me|that|this|th[eo]se|him|her</token>
                    <marker>
                        <token>a</token>
                        <token>part</token>
                    </marker>
                </pattern>
                <message>The adverb or adjective <suggestion>apart</suggestion> (= separated, divided) is spelled as one word.</message>
                <url>https://www.merriam-webster.com/dictionary/apart</url>
                <example correction="apart">They were torn <marker>a part</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="APART_FORM" name="apart form (apart from)">
            <pattern>
                <token>apart</token>
                <token>form</token>
            </pattern>
            <message>Possible typo. Did you mean <suggestion>apart from</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Possible typo</short>
            <example>Lebanon's freedoms set it apart from other Arab states.</example>
            <example correction="apart from">Christianity was set <marker>apart form</marker> other religions.</example>
        </rule>
        <rule id="UP_TO_DATA" name="up to data (date)">
            <pattern case_sensitive="yes">
                <token>up</token>
                <token>to</token>
                <marker>
                    <token>data</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>date</suggestion>?</message>
            <short>Possible typo</short>
            <example>This is the Carmen up to <marker>Data</marker>.</example>
            <example correction="date">The software is not up to <marker>data</marker>.</example>
        </rule>
        <rulegroup id="COLD_COULD" name="he cold do (he could do)">
            <rule>
                <antipattern><!-- Isn't it cold out there? -->
                    <token inflected="yes">be</token>
                    <token>n't</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- Is it always cold like this?  -->
                    <token inflected="yes">be</token>
                    <token postag="PRP" />
                </antipattern>
                <pattern>
                    <token postag='PRP'/>
                    <token postag="RB" min="0">
                        <exception postag="IN|CC|VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>cold</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|CC|VB.*" postag_regexp="yes" />
                    </token>
                    <token postag='VB'/>
                </pattern>
                <message>Did you mean <suggestion>could</suggestion>?</message>
                <short>Probable typo</short>
                <example correction="could">This is all he <marker>cold</marker> do.</example>
                <example>Isn't it cold out here?</example>
                <example>Is it always cold like this?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag='PRP$'/>
                    <token postag='NNS?' postag_regexp="yes"/>
                    <marker>
                        <token>cold</token>
                    </marker>
                    <token postag='VB'/>
                </pattern>
                <message>Did you mean <suggestion>could</suggestion>?</message>
                <short>Probable typo</short>
                <example correction="could">This is all my father <marker>cold</marker> do.</example>
                <example correction="could">This is all my parents <marker>cold</marker> do.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Cold</token>
                    </marker>
                    <token postag='PRP'/>
                    <token postag="RB" min="0">
                        <exception postag="IN|CC|VB.*" postag_regexp="yes" />
                    </token>
                    <token postag='VBP?' postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>Could</suggestion>?</message>
                <short>Probable typo</short>
                <example correction="Could"><marker>Cold</marker> you hear him?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Cold</token>
                    </marker>
                    <token postag='PRP$'/>
                    <token postag='NNS?' postag_regexp="yes"/>
                    <token postag='VBP?' postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>Could</suggestion>?</message>
                <short>Probable typo</short>
                <example correction="Could"><marker>Cold</marker> her father hear him?</example>
            </rule>
        </rulegroup>
        <rule id="FEEL_TREE_TO" name="feel tree (free) to">
            <pattern>
                <token>feel</token>
                <marker>
                    <token>tree</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>free</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="free">Feel <marker>tree</marker> to add it to the list.</example>
        </rule>
        <rule id="EASIEST_WAS_TO" name="easiest was (way) to">
            <pattern>
                <token postag="JJS"/>
                <marker>
                    <token>was</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>way</suggestion>?</message>
            <example correction="way">What is the fastest <marker>was</marker> to learn Spanish?</example>
            <example correction="way">What is the easiest <marker>was</marker> to learn Spanish?</example>
        </rule>
        <rulegroup id="ET_AL" name="et al (et al.)">
            <url>https://dictionary.cambridge.org/dictionary/english/et-al</url>
            <rule>
                <pattern>
                    <marker>
                        <token>et</token>
                        <token min="0">.</token>
                        <token>
                            al
                            <exception scope="next">.</exception>
                        </token>
                    </marker>
                </pattern>
                <message>A period is misplaced or missing.</message>
                <suggestion>\1 \3.</suggestion>
                <short>Possible typo</short>
                <example correction="et al.">Thelen <marker>et al</marker> 2001</example>
            </rule>
            <rule>
                <pattern>
                    <token>et</token>
                    <token>.</token>
                    <token>al</token>
                    <token>.</token>
                </pattern>
                <message>Misplaced dot.</message>
                <suggestion>\1 \3\4</suggestion>
                <short>Possible typo</short>
                <example correction="et al.">Thelen <marker>et. al.</marker> 2001</example>
            </rule>
        </rulegroup>
        <rule id="ARE_STILL_THE_SOME" name="are still the some (same)">
            <pattern>
                <token regexp="yes">are|is|w(?:as|ere)</token>
                <token>still</token>
                <token>the</token>
                <token>some</token>
            </pattern>
            <message>Did you mean <suggestion>\1 still the same</suggestion> or <suggestion>\1 still some</suggestion>?</message>
            <example correction="are still the same|are still some">That means that tires <marker>are still the some</marker> of the most important components of your vehicle.</example>
            <example correction="is still the same|is still some">But it <marker>is still the some</marker> government.</example>
        </rule>
        <rule id="DE_JURO" name="de juro (jure)">
            <pattern>
                <token>de</token>
                <token>juro</token>
            </pattern>
            <message>This is an incorrect spelling of a Latin phrase. Did you mean <suggestion>de jure</suggestion> (according to law)?</message>
            <short>Possible typo</short>
            <example correction="de jure">There is no <marker>de juro</marker> segregation allowed by law anywhere in the United States.</example>
        </rule>
        <rule id="I_THIN" name="I thin (think)">
            <pattern>
                <token negate="yes" regexp="yes">am|do|can|will</token>
                <token>I</token>
                <marker>
                    <token>thin</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>think</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="think">I <marker>thin</marker> you are right.</example>
            <example>How do I <marker>thin</marker> heavier acrylics for Airbrushing?</example>
            <example>How can I <marker>thin</marker> out my face?</example>
            <example>Am I <marker>Thin</marker> Enough Yet?</example>
        </rule>
        <rule id="ALL_BE_IT" name="all be it (albeit)">
            <pattern>
                <token>all</token>
                <token>be</token>
                <token>it</token>
            </pattern>
            <message>Did you mean <suggestion>albeit</suggestion> (=although)?</message>
            <short>Possible typo</short>
            <example correction="albeit">The good news is that there are several redeeming factors to (<marker>all be it</marker> barely).</example>
            <example>The good news is that there are several redeeming factors to (albeit barely)</example>
        </rule>
        <rule id="ALL_OVER_THE_WORD" name="all over the word (all over the world)">
            <pattern>
                <token>all</token>
                <token>over</token>
                <token>the</token>
                <token>word</token>
            </pattern>
            <message>Did you mean <suggestion>\1 \2 \3 world</suggestion> (=globally)?</message>
            <short>Possible typo</short>
            <example correction="all over the world">The company employs over 25 000 people <marker>all over the word</marker>.</example>
            <example>The company employs over 25,000 people all over the world.</example>
        </rule>
        <rule id="ANOTHER_WORDS" name="another words (in other words)">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token>another</token>
                    <token>words</token>
                </marker>
                <token>,</token>
            </pattern>
            <message>Did you mean <suggestion>in other words</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="In other words"><marker>Another words</marker>, he is an ideal husband.</example>
        </rule>
        <rulegroup id="BEING_BEGIN" name="being (begin)">
            <antipattern>
                <token regexp="yes">human|other|living|higher|outlandish|alien|individual|mortal|supernatural|supreme|well|light|fellow|celestial|primordial|sentient|subhuman|superior|social|world|fairy|in|divine|deficient</token>
                <token>beings</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">it|s?he</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>beings</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>begins</suggestion>?</message>
                <example correction="begins">It <marker>beings</marker> to rain.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>beings</token>
                    </marker>
                    <token>to</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>begins</suggestion>?</message>
                <example correction="begins">So something happens and the macro <marker>beings</marker> to fail.</example>
                <example correction="begins">It happens before it <marker>beings</marker> to rain.</example>
                <example>What is it that allows human beings to think the way we do?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token>To</token>
                    <marker>
                        <token>being</token>
                    </marker>
                    <token>with</token>
                    <token>,</token>
                </pattern>
                <message>Did you mean <suggestion>begin</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="begin">To <marker>being</marker> with, she is a Russian spy.</example>
                <example>To begin with, she's a spy.</example>
            </rule>
            <rule>
                <antipattern><!--  American forces begin sustained air strikes -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>begin</token>
                    <token postag="VBN|JJ" postag_regexp="yes"/>
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token>begin</token>
                    </marker>
                    <token postag="VB[DN]" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>being</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="being">I was willing to risk <marker>begin</marker> interrogated about what I was going to do with the information.</example>
                <example>I was willing to risk <marker>being</marker> interrogated about what I was going to do with the information.</example>
                <example>Vietnam War: Easter Offensive – American forces begin sustained air strikes and naval bombardments.</example>
                <example>If the workers begin prolonged strikes, the company will...</example>
            </rule>
        </rulegroup>
        <rulegroup id="CA_PRP" name="ca I (can I)">
            <antipattern>
                <token>ca</token>
                <token spacebefore="no">n't</token>
            </antipattern>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token>ca</token>
                    </marker>
                    <token postag="PRP"/>
                </pattern>
                <message>Possible typo. Did you mean <suggestion>can</suggestion>?</message>
                <example correction="can">What <marker>ca</marker> I do?</example>
                <example>I live in Los Angeles, CA.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="PRP"/>
                    <marker>
                        <token>ca</token>
                    </marker>
                </pattern>
                <message>Possible typo. Did you mean <suggestion>can</suggestion>?</message>
                <example correction="can">You <marker>ca</marker> do it!</example>
                <example>I live in Los Angeles, CA.</example>
            </rule>
        </rulegroup>

        <rulegroup id="FROM_FORM" name="from/form">
            <rule>
                <pattern>
                    <token>in</token>
                    <token>any</token>
                    <token>from</token>
                </pattern>
                <message>Did you mean <suggestion>in any form</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="in any form">Do not duplicate or redistribute <marker>in any from</marker>.</example>
                <example correction="in any form">You can see <marker>in any from</marker> that the first column's name is ID.</example>
                <example correction="in any form">The data was not redistributed <marker>in any from</marker>.</example>
                <example correction="in any form">The data will not be redistributed <marker>in any from</marker> whatsoever.</example>
                <example correction="in any form">The data she transfers <marker>in any from</marker> must first be approved by the Compliance Department.</example>
                <example>Do not duplicate or redistribute <marker>in any form</marker>.</example>
                <example type="triggers_error">The LEFT JOIN and the similar RIGHT JOIN operators can be used in any FROM clause to combine records from two tables.</example><!-- #2789 -->
                <example type="triggers_error">Please bring in any from home for recycling - PLEASE DON'T THROW THEM AWAY.</example><!-- #2789 -->
                <example type="triggers_error">Students will be given equipment; they must not bring in any from home.</example><!-- #2789 -->
                <example type="triggers_error">In the 103 samples obtained from asymptomatic children, H. pylori was not isolated in any from group I.</example><!-- #2789 -->
                <example type="triggers_error">I believe they connect back to Ebrington so am interested in any from there from 1625 or earlier.</example><!-- #2789 -->
            </rule>
            <rule>
                <pattern>
                    <token>in</token>
                    <token>this</token>
                    <marker>
                        <token>from</token>
                    </marker>
                    <token postag="SENT_END"><exception regexp="yes">[?:]</exception></token>
                </pattern>
                <message>Did you mean <suggestion>form</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="form">Fill in this <marker>from</marker>.</example>
                <example correction="form">There are errors in this <marker>from</marker>!</example>
                <example>Fill in this <marker>form</marker>.</example>
                <example>Where is this from?</example>
                <example>They take that from me</example>
                <example>We should prevent this from happening</example>
                <example>We should prevent this from occurring</example>
                <example>He Gets That from Me</example>
                <example>One company each from:</example>
                <example>12 clubs each from Istanbul</example>
                <example>Harding (2004) contains six species, some from Prosthechea and some from Epidendrum</example>
                <example>Select episodes of Prime Time Wrestling from 1986, 1989; all from 1987-1988</example>
                <example>In an interview, Davis said that her mother was from Italy, she was from California and Africa is where we're all from.</example>
                <example>One company each from:</example>
                <example>Talk to the dealer you bought this from.</example><!-- #2789 -->
                <example>I wonder who Tom got that from.</example><!-- #2789 -->
                <example>I'd like to find out who Tom got that from.</example><!-- #2789 -->
                <example>I was just going to ask him where he was trying to do this from.</example><!-- #2789 -->
                <example>... or if there is another angle you would like us to approach this from.</example><!-- #2789 -->
                <example>... and all the other postings of yours and others that I'm gleaning much from!</example><!-- #2789 -->
                <example>Missing full stop: Reduce the number of delve room also reduce the rewards you get, so it’s a big NO from me</example><!-- #2789 -->
                <example>Missing full stop: ... prevent things like this from happening</example><!-- #2789 -->
                <example>Missing full stop: I have all mythic gnomes, guess no one gets any from me</example><!-- #2789 -->
                <example>Missing full stop: lowercase — learned much feom this —> learned much from this</example><!-- #2789 -->
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token>in</token>
                    <token>this</token>
                    <marker>
                        <token>from</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>form</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="form">In this <marker>from</marker> you can see that the first name is Peter.</example>
                <example>In this <marker>form</marker> you can see that the first name is Peter.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token>from</token>
                    <token/>
                    <token regexp="yes">to|through|thru</token>
                    <token/>
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token>/</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token negate_pos="yes" postag="SENT_START"></token>
                    <token>A</token>
                    <token>from</token>
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token regexp="yes">form|=|_|address|sender|field|note</token>
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token>:</token>
                    <token>field</token>
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token>and</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">FROM</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">a|the</token>
                    <!--most determiners are OK, this way it's shorter-->
                    <marker>
                        <token>from</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>form</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="form">Type in the <marker>from</marker> on the web page.</example>
                <example>Type in the <marker>form</marker> on the web page.</example>
                <example>They sponsored the Lega Basket Series A <marker>from</marker> 2012 through 2016.</example>
                <example>Let A = seven. Take A <marker>from</marker> seventeen to leave ten.</example>
                <example>We recommend Route A <marker>from</marker> Penrith to Carlisle.</example>
                <example>The from/to or to/from is arbitrary.</example><!-- #2789 -->
                <example>The bridge separates city A from city B.</example><!-- #2789 -->
                <example>Can I mix app A from Marketplace and app B from non-Marketplace URL on an instance?</example><!-- #2789 -->
                <example>I wasn't sure what to do to the From Form &amp; Template page.</example><!-- #2789 -->
                <example>They want the Issuer of LC's to maintain a credit rating of A from S&amp;P and A2 from Moody's.</example><!-- #2789 -->
                <example>I confirm I can control device A from the app!</example><!-- #2789 -->
                <example>There you can specify the from= and to= options for date-time.</example><!-- #2789 -->
                <example>So I cannot see the WHERE part nor even the FROM/JOINs.</example><!-- #2789 -->
                <example>Attached is the latest draft C/A from Intergen for their Deweyville plant.</example><!-- #2789 -->
                <example>Update DNS so that www.example.com points to server B instead of server A from now on.</example><!-- #2789 -->
                <example>Like the From: field, many email clients fill this in automatically when sending.</example><!-- #2789 -->
                <example>Dropbox syncs the file, and it appears on my Mac in the From_iPhone folder.</example><!-- #2789 -->
                <example>... that includes the unique statue of A'a from Rurutu Island.</example><!-- #2789 -->
                <example type="triggers_error">Green Purple Venom were last seen April 3rd, 2016 with Sea Troll in the From the Depths event.</example><!-- #2789 -->
                <example>The exhibition appeared at the V &amp; A from 9 December 2017 to 8 April 2018.</example><!-- #2789 -->
                <example>What is there to stop client A from using my app’s web API to...?</example><!-- #2789 -->
                <example>We don’t have to think about how to prevent User A from tagging User B without his permission.</example><!-- #2789 -->
                <example>Have the From sender be from a non-default account.</example><!-- #2789 -->
                <example>Missing quotes (but possibly italicized in the source): ... it saves fine in the from form and works without issue.</example><!-- #2789 -->
                <example>Missing quotes (but possibly italicized in the source): The from address seems to be fine.</example><!-- #2789 -->
                <example>This plugin gets all the commits in a ref change using the commit service and the from and to hashes from the refChange.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>in</token>
                    <token>book</token>
                    <token>form</token>
                </antipattern>
                <pattern>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="JJ"/>
                        <exception>life</exception>
                    </token>
                    <marker>
                        <token chunk="E-NP-singular" postag="NN:UN">form
                            <exception postag="VB"/>
                        </token>
                    </marker>
                    <token postag="PRP\$|DT" postag_regexp="yes"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>from</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="from">I got a letter <marker>form</marker> my friend.</example>
                <example correction="from">Thus, based on the above, in a worst case we may not be able to recognize any income <marker>form</marker> this transaction until Q3.</example>
                <example>I got a letter <marker>from</marker> my friend.</example>
                <example>It may form a raceme or a spike.</example>
                <example>The leaves form a rosette at the base of the plant.</example>
                <example>In full form the theorem was given in 1825.</example>
                <example>These results of Cauchy's still form the core of complex function theory.</example>
                <example>They are a separate life form that renders us invisible.</example>
                <example>Rhenium and technetium form a range of oxyhalides from the halogenation of the oxide.</example>
                <example>Bax and/or Bak form the pore while Bcl-2 Bcl-xL or Mcl-1 inhibit its formation.</example>
                <example>Chemicals obtained from the air soil and water form the basis of all plant metabolism.</example>
                <example>Potassium forms a mixture of potassium peroxide and potassium superoxide while rubidium and caesium form the superoxide exclusively.</example>
                <example>People of considerable Amerindian ancestry form the majority of the population in the Northern Northeastern and Center-Western regions.</example>
                <example>Today the descendants of slaves and free Africans form the majority of the population ; issues related to the slavery years are part of society.</example>
                <example>Lebanese and Syrians form the Arab community on the island.</example>
                <example>Through most of Bulgaria the Balkans form the watershed from which rivers drain...</example>
                <example>1939 - The United Kingdom and Poland form a military alliance in which the UK promises to...</example>
                <example>The Bengalis form the country's predominant ethnic group.</example>
                <example>Areas of southern Nevada, Utah and Colorado <marker>form</marker> a loose northern boundary, while the southern ...</example>
                <example>Darker (denser) regions of chromium form a band at right angles to the equator.</example>
                <example type="triggers_error">The curves of the serpent bench form a number of enclaves creating a more social atmosphere.</example><!-- Caused by disambiguation E_NP_NN_VBP -->
                <example type="triggers_error">In the "exclusive" bound form the span to be searched is ...</example>
                <example type="triggers_error">Typically different types of black tea green tea or even coffee form the basis of this beverage.</example><!-- Caused by disambiguation E_NP_NN_VBP -->
                <example type="triggers_error">If strontium and iodine form a compound, what would be the resulting chemical formula?</example><!-- Caused by disambiguation E_NP_NN_VBP -->
                <!--TODO: check this result <example type="triggers_error">Chlorine, bromine and iodine form a Dobereiner's triad</example>--><!-- Caused by disambiguation E_NP_NN_VBP -->
                <example type="triggers_error"> Just as the automorphisms of an algebraic structure form a group...</example><!-- #2789 -->
                <example type="triggers_error">... the isomorphisms between two algebras sharing a common structure form a heap.</example><!-- #2789 -->
                <example type="triggers_error">It would drive fine due to engine oil helping form a seal when the engine is running.</example><!-- #2789 -->
                <example type="triggers_error">It’s kind of an art form the way they diagnose this illness, to be honest.</example><!-- #2789 -->
                <example type="triggers_error">The states with the same energy form an energy shell Ω, a sub-manifold of the phase space.</example><!-- #2789 -->
                <example type="triggers_error">The first two bytes of the MAC header form a frame control field specifying the...</example><!-- #2789 -->
                <example type="triggers_error">The endomorphisms of a vector space or of a module form a ring.</example><!-- #2789 -->
                <example type="triggers_error">Even in overview form this presentation was too complex for most of the attendees.</example><!-- #2789 -->
                <example type="triggers_error">Functions equivalent in this manner form an equivalence class on [X→X].</example><!-- #2789 -->
                <example type="triggers_error">The patterns in window frost form a fractal with a fractal dimension...</example><!-- #2789 -->
                <example type="triggers_error">The five octahedra defining any given icosahedron form a regular polyhedral compound.</example><!-- #2789 -->
                <example type="triggers_error">... in this way from any given octahedron form a uniform polyhedron compound.</example><!-- #2789 -->
                <example type="triggers_error">The mountainous islands of the Japanese archipelago form a crescent off the eastern coast of Asia.</example><!-- #2789 -->
                <example type="triggers_error">The evening concert on July 10 was recorded and issued in an LP form a week later.</example><!-- #2789 -->
                <example type="triggers_error">The comet and its induced magnetic field form an obstacle to outward flowing solar wind particles.</example><!-- #2789 -->
                <example>Can you put together in draft form a business plan for next year?</example><!-- #2789 -->
                <example type="triggers_error">... and Big Muddy National Fish and Wildlife Refuge form a greenbelt preserving sensitive and rare environments.</example><!-- #2789 -->
                <example type="triggers_error">... such that the elements fixing a point form a copy of the Mathieu group M12.</example><!-- #2789 -->
                <example type="triggers_error">Flinders Reefs (North and South), Herald's Surprise and Dart Reef form a cluster of reefs of 66 by 26 km.</example><!-- #2789 -->
                <example type="triggers_error">The obligations and corresponding rights between lord and vassal concerning the fief form the basis of the feudal relationship.</example><!-- #2789 -->
                <example type="triggers_error">Over one million Taiwanese participate in the 228 Hand-in-Hand rally form a long human chain to commemorate the February 28 Incident in 1947.</example><!-- #2789 -->
                <example type="triggers_error">If the automorphisms of an object form a set (instead of a proper class)...</example><!-- #2789 -->
                <example type="triggers_error">The transformations of the fifteen puzzle form a groupoid (not a group, as not all moves can be composed).</example><!-- #2789 -->
                <example type="triggers_error">... or of an object of a category form a monoid under composition.</example><!-- #2789 -->
            </rule>
            <rule>
                <pattern>
                    <token>where</token>
                    <token chunk_re="E-NP.*" />
                    <token spacebefore="no" regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">is|are|'re|'s|was|were</token>
                    <marker>
                        <token>form</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>from</suggestion>?</message>
                <example correction="from">I want to know where this is <marker>form</marker>.</example>
            </rule>
        </rulegroup>

        <rule id="THERE_EXITS" name="there exits (there exists)">
            <pattern>
                <token>there</token>
                <marker>
                    <token>exits</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>exists</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="exists">There <marker>exits</marker> an α-evaluating homomorphism π.</example>
            <example>Then there exists an α-evaluating homomorphism π.</example>
        </rule>
        <rulegroup id="HE_THE" name="he (the)">
            <antipattern>
                <token>he</token>
                <token postag="RB" min="0" />
                <token regexp="yes">wont|cant</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="IN" />
                <token>he</token>
                <token postag="VB[ZD]" postag_regexp="yes" />
            </antipattern>
            <rule>
                <antipattern>
                    <token>on</token>
                    <token>the</token>
                    <token>way</token>
                    <token>out</token>
                    <token>he</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>deep</token>
                    <token>down</token>
                    <token>he</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- by he getting a ... -->
                    <token postag="IN" />
                    <token>he</token>
                    <token postag="VBG" />
                    <token postag="DT" />
                </antipattern>
                <antipattern>
                    <token>all</token>
                    <token>along</token>
                </antipattern>
                <antipattern><!-- Once woken up he then started to ... -->
                    <token>he</token>
                    <token>then</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>he</token>
                    <token postag="RB" />
                    <token postag="VBZ|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- inside he felt like ... -->
                    <token>inside</token>
                    <token>he</token>
                    <token postag="VB[ZD]" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- he his mother and I -->
                    <token>he</token>
                    <token>his</token>
                </antipattern>
                <pattern>
                    <token postag="IN"><exception regexp="yes">as|while|before|until|till|ago|than|after|since|like|past|despite|unless</exception></token>
                    <marker><token>he</token></marker>
                    <token min="0" postag="JJ"/>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="MD|IN" postag_regexp="yes" />
                        <exception regexp="yes">felt|gets?</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>the</suggestion> or <suggestion>his</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="the|his">At <marker>he</marker> beginning, I was afraid.</example>
                <example correction="the|his">The restaurant closed tonight for <marker>he</marker> first time in years</example>
                <example>But there was a fire burning inside him ever since he saw those pictures on her camera.</example>
                <example>Tom looked like he needed help.</example>
                <example>When they gave up he lost nothing.</example>
                <example>They did it till he lost his energy.</example>
                <example>On the way out he opened one beer and started enjoying his life.</example>
                <example>The past he left behind.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                    <token>be</token>
                    <marker>
                        <token>he</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>the</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="the">He wants to be <marker>he</marker> best one.</example>
                <example correction="the">That seems to be <marker>he</marker> only thing I have seen zero growth with.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" min="2">the|an?|his|my|y?our|their|its</token>
                    <token>fort</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ii]nt|[Ff]ort</token>
                        <token>he</token>
                    </marker>
                    <token postag="JJ.*" min="0" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="IN|MD" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)t$" regexp_replace="" /> the</suggestion>?</message>
                <example correction="in the">Sami is still <marker>int he</marker> bathroom.</example>
                <example correction="in the">The info was hidden <marker>int he</marker> news article.</example>
                <example correction="for the">Thanks <marker>fort he</marker> reply.</example>
                <example correction="in the">I think he's <marker>int he</marker> best position.</example>
                <example>In the fort he was hiding from his enemies.</example>
            </rule>
        </rulegroup>
        <rule id="THE_HOW" name="the how/why (how/why)">
            <antipattern>
                <token>how</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>who</token>
                <token>'s</token>
                <token>who</token>
            </antipattern>
            <pattern case_sensitive='yes'>
                <marker>
                    <token>the</token>
                    <token regexp='yes'>
                        how|why|who|when|what
                        <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                    </token>
                </marker>
                <token><exception regexp='yes'>'s|and|of|[,\.;'\?\!]|macros?|questions?|form</exception></token>
            </pattern>
            <message>Did you mean <suggestion><match no="2"/></suggestion>?</message>
            <short>Probable typo</short>
            <example correction="how">These are also examples of <marker>the how</marker> a woman's perspective can contribute to science.</example>
            <example>Just follow the instructions in the how to article in the community.</example>
            <example>a brief overview of the why's &amp; wherefor's</example>
        </rule>
        <rulegroup id="I_LOWERCASE" name="i vs. I">
            <!-- antipatterns intended for foreign words -->
            <antipattern>
                <token regexp="yes">Bah[aáā]|al-\w+|Shafi|Hawai|Lana|Kaua|Mau|Moloka|ali|ch</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token><!-- unlike apostrophe, the Unicode modifier letters [ʻʼʽʾʿ] are not tokenized separately -->
                <token spacebefore="no" case_sensitive="yes">i</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="3">dot</token>
                <token>i</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>i</token>
                <token skip="2">'s</token>
                <token inflected="yes">dot</token>
            </antipattern>
            <antipattern>
                <token>i</token>
                <token skip="2">'s</token>
                <token>t</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>'</token>
                <token spacebefore="no">i</token>
                <token spacebefore="no">'s</token>
            </antipattern>
            <rule>
                <!-- antipatterns intended for mathematical or scientific usages of the symbol "i" -->
                <antipattern>
                    <token regexp="yes">(row|index|variable|quantit(y|ie)|number|term|symbol|constant|point|element|unit|value|size|equal)s?|sub|negative|minus|lowercase|of|to</token>
                    <token>i
                        <!-- `negate_pos="yes" postag="VB[DP]|MD" postag_regexp="yes"` triggers 'the quantity i ordered' -->
                        <!-- `negate="yes" inflected="yes">be` does not trigger 'unit i is' -->
                        <exception scope="next" negate_pos="yes" postag="VB[DP]|MD" postag_regexp="yes" negate="yes" inflected="yes">be</exception>
                        <!-- does not trigger 'how negative i can be' -->
                        <exception scope="next">can</exception>
                    </token>
                </antipattern>
                <antipattern><!-- mathematical operators and HTML symbols -->
                    <token regexp="yes">\+|×|/|&lt;</token>
                    <token>i</token>
                </antipattern>
                <antipattern>
                    <token>i</token>
                    <token regexp="yes">plus|minus|times|multiplied|divided|equals?|squared|terms?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">for|where</token>
                    <token regexp="yes">each|every</token><!-- TODO: for all i (not for all I know/care) -->
                    <token min="0" regexp="yes">[a-hj-z]</token>
                    <token>i</token>
                </antipattern>
                <antipattern>
                    <token>where</token>
                    <token>i</token>
                    <token>is</token>
                </antipattern>
                <antipattern>
                    <!-- Useful results from ACL Anthology Reference Corpus: https://app.sketchengine.eu/#concordance?corpname=preloaded%2Faclarc_2&tab=advanced&queryselector=cql&page=2&structs=s%2Cg&refs=doc&default_attr=lemma&cql=(meet%20%5Blc%3D%22i%22%5D%20%5Blemma%3D%22let%22%5D%20-10%200)%20%5Bword%3D%22be%22%5D&showresults=1&operations=%5B%7B%22name%22%3A%22cql%22%2C%22arg%22%3A%22(meet%20%5Blc%3D%5C%22i%5C%22%5D%20%5Blemma%3D%5C%22let%5C%22%5D%20-10%200)%20%5Bword%3D%5C%22be%5C%22%5D%22%2C%22active%22%3Atrue%2C%22query%22%3A%7B%22queryselector%22%3A%22cqlrow%22%2C%22cql%22%3A%22(meet%20%5Blc%3D%5C%22i%5C%22%5D%20%5Blemma%3D%5C%22let%5C%22%5D%20-10%200)%20%5Bword%3D%5C%22be%5C%22%5D%22%2C%22default_attr%22%3A%22lemma%22%7D%2C%22id%22%3A891%7D%5D -->
                    <token postag="SENT_START" />
                    <token min="0" max="3" postag_regexp="yes" postag="RB|PCT" />
                    <token min="0">we</token>
                    <token skip="-1">Let</token>
                    <token>i</token>
                    <token>be</token>
                    <token postag_regexp="yes" postag="DT|VBN" />
                </antipattern>
                <antipattern>
                    <token>with</token>
                    <token>index</token>
                    <token>i</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">indexed|multiplied|divided</token>
                    <token>by</token>
                    <token>i</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" postag="SENT_START"/>
                    <token skip="-1">i</token>
                    <token skip="-1">j</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token skip="-1" postag="SENT_START"/>
                    <token skip="-1">x</token>
                    <token skip="-1">y</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token>set</token>
                    <token>of</token>
                    <token>states</token>
                    <token>i</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" postag="SENT_START"/>
                    <token regexp="yes">complex|imaginary</token>
                    <token skip="-1" regexp="yes">numbers?</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <!-- antipatterns intended for other technical uses -->
                <antipattern>
                    <token skip="-1" postag="SENT_START"/>
                    <token skip="-1">guitar</token>
                    <token skip="-1" regexp="yes">finger(?:ing|style)?s?</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">short|long|repeated</token>
                    <token>i</token>
                    <token regexp="yes">sounds?</token>
                </antipattern>
                <antipattern>
                    <token postag="DT" />
                    <token>i</token>
                    <token regexp="yes">is|was|being</token>
                    <token>pronounced</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">i</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="MD|V.+" postag_regexp="yes" />
                </pattern>
                <message>The personal pronoun <suggestion>I</suggestion> should be uppercase.</message>
                <example correction="I">Way back in the day, I had no tonality whatsoever when <marker>i</marker> talked.</example>
                <example correction="I">If <marker>i</marker> only go there, ...</example>
                <example correction="I">No, <marker>i</marker> am not letting you near my kids.</example>
                <example correction="I">If <marker>i</marker> ever would be famous.</example>
                <example>Now I am driving.</example>
                <!-- foreign words containing the token i -->
                <example>Also, in the Baha'i view, souls will be able to recognize the...</example>
                <example>Arabic script entitled Kitab Salat al-Sawa'i intended for the eastern Christian communities</example>
                <example>relationships between the small Bahá'i exile community and the outside world</example>
                <example>Bahāʼi is a religion</example>
                <example>The Shafi'i school of jurisprudence has a long tradition</example>
                <example>Honolulu: University of Hawai'i Press.</example>
                <example>The state of Hawai‘i is developing management options</example>
                <example>ʻŌlelo Hawaiʻi means Hawaiian language</example>
                <example>Chih evolves ch'i, and ch'i condenses to form chih.</example>
                <!-- numbering usages (page numbers, outlines) -->
                <example>The table of contents can be found on page i.</example>
                <example>Items i) and j) support this point of view.</example>
                <example>These are: (i) examples; (ii) case studies; (iii) some other things.</example>
                <!-- scientific and mathematical usages -->
                <example>... the polygon's vertices are grid points: [equation goes here], where i is the number of grid points inside the polygon.</example>
                <example>where i is the number of grid points inside the polygon. [Equation is on the previous line.]</example>
                <example>if these have sizes i and j respectively, the full tree has size i + j + 1.</example>
                <example>The imaginary unit i is defined such that the square of i is -1.</example>
                <example>Wick rotating i times this variable</example>
                <example>the exponential of negative i times energy</example>
                <example>times one over i squared</example>
                <example>The 1 and i terms together can represent rotation</example>
                <example>the ith element contains the sum of the first i terms</example>
                <example>the standard base pay i terms of full time rate</example><!-- false negative, should be 'in terms of' -->
                <example>For each i equals 1 to n,</example>
                <example>Ohm's law says V equals i times R.</example>
                <example>Change of a to <marker>i</marker> in many affixes</example>
                <example>The inner loop is governed by the value of i, which iterates from 1 to i.</example>
                <example>If (m, n) is regular and M and N have i and j prime factors respectively, then</example>
                <example>The dental formula was i. 0/3, c. 1/1, p. 3/3·4, m. 3/3, the upper canines</example>
                <example>so that the element with index i has the address 2000 + 4 × i.</example>
                <example>number of particles Ni / N occupying a set of states i possessing energy Ei is:</example>
                <example>is defined to be the base address incremented by i multiplied by the size of an element that x points to</example>
                <example>the pointer type, the address that x + i points to is not the base address</example>
                <example>yields the sum of the 2n products of the form e1e2 ... e n where each e i is x or y.</example>
                <example>any family of subsets of V indexed by i belonging to some index set I, then</example>
                <example>Here, i is the complex number whose square is t</example>
                <example>Let X be some repeatable process, and i be some point in time after the start</example>
                <example>Finally, let i be the index set of all (i, tag)</example>
                <!-- non-scientific usages adjacent to common scientific words -->
                <example correction="I">This is not the quantity <marker>i</marker> ordered.</example>
                <example correction="I">He didn't understand the point <marker>i</marker> wanted to make.</example>
                <example correction="I">I'll show you how negative <marker>i</marker> can be.</example>
                <example correction="I">If we need to <marker>i</marker> can meet with you.</example><!-- since 'to' can be used as in 'from 1 to i' -->
                <example correction="I">Read the letter <marker>i</marker> sent.</example>
                <example correction="I">In short <marker>i</marker> have now a new outlook at life</example>
                <example correction="I">Long story short <marker>i</marker> have access to the files</example>
                <example correction="I">It was fun though and <marker>i</marker> value your good humour and attitude.</example>
                <!-- other technical usages (linguistic, economic, musical) -->
                <example>usually used the spelling Crist – the i being pronounced either as /i:/, preserved in the names of churches</example>
                <example>The long i sound in some qurans is written with a</example>
                <example>Children who can't learn the short i sound struggle</example>
                <example>distinct social states x and y, if voter i strictly prefers x over y, x is socially</example>
                <example>In acoustic guitar sheet music, the letters p, a, m, and i indicate fingering and derive from the Spanish names for fingers.</example>
                <!-- malformed HTML (common in LT corpus) -->
                <example>The &lt;i&gt;Miami Herald&lt;/i reports that he is still suffering from.</example>
                <example>Tom always crosses his t's and dots his i's.</example>
                <example>dot i's and cross t's</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token>i</token>
                    <token spacebefore="no" regexp="yes">'([md]|ll|ve)</token>
                </pattern>
                <message>The personal pronoun should be uppercase in <suggestion>I\2</suggestion>.</message>
                <short>Possible typo</short>
                <example>Now I'm driving.</example>
                <example correction="I'm">No, <marker>i'm</marker> not letting you near my kids.</example>
            </rule>
            <rule>
                <pattern>
                    <!--<token regexp="yes">wasn?|a?m|didn?|haven?|don?|will|won|can|[cw]ouldn?|shouldn?|mustn?</token>
                    <token regexp="yes" min="0">&apostrophe;</token>-->
                    <token regexp="yes">n't|was|am|did|have|will|can|could|would|should|must</token>
                    <marker>
                        <token case_sensitive="yes">i</token>
                    </marker>
                </pattern>
                <message>The personal pronoun <suggestion>I</suggestion> should be uppercase.</message>
                <short>Possible typo</short>
                <example correction="I">Am <marker>i</marker> happy? Yes I am.</example>
                <example correction="I">Am <marker>i</marker>?</example>
                <example correction="I">Oh, have <marker>i</marker>? Sorry.</example>
                <example correction="I">But, haven't <marker>i</marker>?</example>
                <example correction="I">Will <marker>i</marker>?</example>
            </rule>
        </rulegroup>
        <rule id="IN_JANUARY" name="in January 1 (on January 1)">
            <pattern>
                <marker>
                    <token>in</token>
                    <token regexp="yes">&months;</token>
                </marker>
                <token regexp="yes">([1-3][0-9])|([1-9])</token>
            </pattern>
            <message>Did you mean <suggestion>on \2</suggestion>? This seems to be a day date.</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Possible grammatical error</short>
            <example correction="On February"><marker>In February</marker> 21, we ate the poison.</example>
            <example>Cuba Gooding Jr. was born on January 2, 1968.</example>
            <example>The following events occurred in January 1900.</example>
        </rule>
        <rule id="IN_PARENTHESIS" name="in parenthesis (in parentheses)">
            <pattern>
                <token>in</token>
                <token>parenthesis</token>
            </pattern>
            <message>Did you mean <suggestion>in parentheses</suggestion>? 'parenthesis' is the singular.</message>
            <short>Possible typo</short>
            <example correction="in parentheses">This is indicated by the number not <marker>in parenthesis</marker>.</example>
        </rule>
        <rule id="IN_STEAD_OF" name="in stead of (instead of)">
            <pattern>
                <token>in</token>
                <token>stead</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>\1\2 \3</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="instead of">Can my car really use water <marker>in stead of</marker> gas?</example>
        </rule>
        <rule id="IN_TACT" name="in tact (intact)">
            <pattern>
                <token><exception scope="previous">lacking</exception>in</token>
                <token>tact</token>
            </pattern>
            <message>Did you mean <suggestion>intact</suggestion>?</message>
            <short>Possible typo</short>
            <example>Trendy T-shirts lacking in tact</example>
            <example correction="Intact">Outdoor Activities in Louisiana Remain <marker>In Tact</marker></example>
        </rule>
        <rulegroup id="IT_SELF" name="it self (itself)">
            <rule>
                <pattern>
                    <token>it</token>
                    <token>self</token>
                    <token postag="VB[DZG]" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">be|do|have</exception>
                        <exception postag="CC|IN" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>itself \3</suggestion> or <suggestion>\1 \2-\3</suggestion>?</message>
                <example correction="Itself isolates|It self-isolates"><marker>It self isolates</marker> it from others.</example>
            </rule>
            <rule>
                <pattern>
                    <token>it</token>
                    <token>self</token>
                </pattern>
                <message>Did you mean <suggestion>itself</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="itself">I believe that such advertisements indicate a clear statement about the issue <marker>it self</marker> and they clarify the main cause of the problem.</example>
                <example>Was it self-defense?</example>
            </rule>
        </rulegroup>
        <rule id="VE_GO_TO" name="I've go to (I've got to)">
            <pattern>
                <token>'ve</token>
                <marker>
                    <token>go</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>got</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="got">I've <marker>go</marker> to go.</example>
        </rule>
        <rule id="FOR_ALONG_TIME" name="for along time (for a long time)">
            <pattern>
                <token>for</token>
                <token>along</token>
                <token>time</token>
            </pattern>
            <message>Did you mean <suggestion>for a long time</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="for a long time">I have been interested in Wicca <marker>for along time</marker>.</example>
        </rule>
        <rulegroup id="FOR_AWHILE" name="awhile (a while)">
            <rule>
                <pattern>
                    <token postag="IN"/>
                    <marker>
                        <token>awhile</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>a while</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="a while">I haven't posted in <marker>awhile</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>in</token>
                        <token min="0">quite</token>
                        <token>while</token>
                    </marker>
                    <token postag="CC|PCT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 \2 a \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="in a while">I haven't posted <marker>in while</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN"/>
                    <token>quite</token>
                    <marker>
                        <token>awhile</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>a while</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="a while">I haven't posted in quite <marker>awhile</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="AWAY_FRO" name="away fro (away from)">
            <pattern>
                <token>away</token>
                <token>fro</token>
            </pattern>
            <message>Did you mean <suggestion>away from</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="away from">He is <marker>away fro</marker> the sea.</example>
        </rule>
        <rule id="FOR_FRO" name="fro (for)">
            <antipattern>
                <token>to</token>
                <token>and</token>
                <token>fro</token>
            </antipattern>
            <pattern>
                <token>fro</token>
            </pattern>
            <message>Did you mean <suggestion>for</suggestion> or <suggestion>from</suggestion>?</message>
            <example correction="for|from">I got a voicemail <marker>fro</marker> Ken.</example>
        </rule>
        <rulegroup id="HUMANS_BEINGS" name="humans beings (human beings)">
            <rule>
                <antipattern>
                    <token>a</token>
                    <token>human</token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token>human</token>
                    <token>'s</token>
                    <token postag="NNS"/>
                </pattern>
                <message>Possible typo. Did you mean: <suggestion>\1 \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="human beings">We are all <marker>human's beings</marker>.</example>
                <example>It talks about how a human's morals can help people make the right decisions in life.</example>
            </rule>
            <rule>
                <pattern>
                    <token>humans</token>
                    <token>beings</token>
                </pattern>
                <message>Possible typo. Did you mean: <suggestion>human \2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="human beings">We are all <marker>humans beings</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="LAST_BUT_NOT_LAST" name="last but not last (least)">
            <pattern>
                <token>last</token>
                <token>but</token>
                <token>not</token>
                <token>last</token>
            </pattern>
            <message>Possible typo. Did you mean: <suggestion>\1 \2 \3 least</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="Last but not least"><marker>Last but not last</marker>, I accentuate difficulties that such theories face.</example>
        </rule>
        <rulegroup id="HOUR_OUR" name="half an our (half an hour)">
            <rule>
                <pattern>
                    <token regexp="yes">for|half</token>
                    <token>an</token>
                    <marker>
                        <token>our</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>hour</suggestion> (=60 minutes)?</message>
                <short>Possible typo</short>
                <example correction="hour">It happened half an <marker>our</marker> ago.</example>
            </rule>
        </rulegroup>
        <rule id="ONE_IN_THE_SAME" name="one in the same (one and the same)">
            <antipattern>
                <token regexp="yes">another|no</token>
                <token>one</token>
            </antipattern>
            <pattern>
                <token>one</token>
                <token>in</token>
                <token>the</token>
                <token>same</token>
            </pattern>
            <message>Did you mean <suggestion>one and the same</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="one and the same">Our town is a place where neighbours and friends are <marker>one in the same</marker>.</example>
        </rule>
        <rule id="ONE_THE_ONE_HAND" name="'One the one hand' (On the one hand)">
            <pattern>
                <marker>
                    <token>One</token>
                </marker>
                <token>the</token>
                <token regexp='yes'>one|other</token>
                <token>hand</token>
            </pattern>
            <message>Did you mean <suggestion>on</suggestion>?</message>
            <short>Possible typo</short>
            <example correction='On'><marker>One</marker> the one hand, he was rich.</example>
            <example>On the one hand, he was rich.</example>
        </rule>
        <rule id="PER_SE" name="per say (per se)">
            <pattern>
                <token>per</token>
                <token>say</token>
            </pattern>
            <message>Did you mean <suggestion>per se</suggestion> (=by itself, by themselves)?</message>
            <short>Possible typo</short>
            <example correction="per se">Not a car lover <marker>per say</marker>…</example>
        </rule>
        <rule id="SOME_WHAT_JJ" name="some what (somewhat)">
            <pattern>
                <token>some</token>
                <token>what</token>
            </pattern>
            <message>Did you mean <suggestion>\1\2</suggestion> (= slightly)?</message>
            <url>https://www.merriam-webster.com/dictionary/somewhat</url>
            <short>Possible typo</short>
            <example correction="Somewhat"><marker>Some what</marker> disappointed</example>
        </rule>
        <rule id="STAND_ALONE_NN" name="stand alone (standalone)">
            <antipattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <token postag="RB" min="0" />
                <token>stand</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>stand</token>
                    <token>alone</token>
                </marker>
                <token postag="NN:.*|NNS|NN" postag_regexp="yes">
                    <exception postag="IN|CC|DT|PRP.*|W.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>In this context, this term is usually written with a hyphen or as one word.</message>
            <suggestion>\1-\2</suggestion>
            <suggestion>\1\2</suggestion>
            <url>https://www.ldoceonline.com/dictionary/standalone</url>
            <short>Possible typo</short>
            <example correction="stand-alone|standalone">This is a <marker>stand alone</marker> computer.</example>
            <example>This is a <marker>stand-alone</marker> computer.</example>
            <example>I stand alone at the parking lot.</example>
            <example>As an auxiliary, it cannot stand alone like in ...</example>
        </rule>
        <rule id="INDUSTRY_LEADING_NN" name="industry leading (industry-leading)">
            <pattern>
                <token postag="DT"></token>
                <marker>
                    <token>industry</token>
                    <token>leading</token>
                </marker>
                <token postag="N.+" postag_regexp="yes">
                    <exception postag="IN|CC|DT|PRP.*|W.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>Did you mean <suggestion>\2-\3</suggestion>?</message>
            <example correction="industry-leading">She is an <marker>industry leading</marker> expert in this field.</example>
        </rule>
        <rule id="UNDER_WEAR" name="under wear (underwear)">
            <pattern>
                <token>under</token>
                <token>wear</token>
            </pattern>
            <message>Did you mean <suggestion>underwear</suggestion> (=underclothes)?</message>
            <short>Possible typo</short>
            <example correction="Underwear">Designer's <marker>Under Wear</marker></example>
        </rule>
        <rule id="WHAT_SO_EVER" name="whatsoever → whatsoever">
            <pattern>
                <token>what</token>
                <token>so</token>
                <token>ever</token>
            </pattern>
            <message>Did you mean <suggestion>whatsoever</suggestion>?</message>
            <example correction="whatsoever">I don't like it <marker>what so ever</marker>.</example>
        </rule>
        <rule id="WHERE_AS" name="where as/by (whereas/whereby)">
            <pattern>
                <token>where</token>
                <token regexp="yes">as|by|upon</token>
            </pattern>
            <message>Did you mean <suggestion>\1\2</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="whereas">The northern and urban areas of the state do not generally offer sweet tea in the most restaurants, <marker>where as</marker> it is a staple beverage for the southern part ...</example>
        </rule>
        <rule id="WITHOUT_OUT" name="without out (without)">
            <pattern>
                <token>without</token>
                <token>out</token>
            </pattern>
            <message>Did you mean <suggestion>without</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="Without"><marker>Without out</marker> a doubt, the internet's power is mighty and far-reaching.</example>
        </rule>
        <rule id="YOURS_APOSTROPHE" name="Possessive pronoun with apostrophe" type="typographical">
            <pattern>
                <token postag="SENT_START" skip="-1"><exception scope="next" regexp="yes">&apostrophe;</exception></token>
                <marker>
                    <token postag="PRP$" regexp="yes">.*s</token>
                    <token spacebefore="no" regexp="yes">&apostrophe;</token>
                </marker>
            </pattern>
            <message>An apostrophe is never used to form possessive case pronouns. Did you mean: <suggestion>\2</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="yours">This house is <marker>yours'</marker>.</example>
            <example>My heart is hers.</example>
        </rule>
        <rule id="CD_WEEK_S" name="Number + 'week's time' (weeks' time)">
            <pattern>
                <token postag="CD"><exception regexp="yes">one|1</exception></token>
                <token regexp="yes">week|month|hour</token>
                <token>'s</token>
                <token postag="NN.*" postag_regexp="yes"/>
            </pattern>
            <message>The apostrophe is probably in the wrong place here. Did you mean <suggestion>\1 \2s' \4</suggestion>?</message>
            <url>http://www.quickanddirtytips.com/education/grammar/two-weeks-notice</url>
            <short>Possible typo</short>
            <example>He'll be sailing around the world in two weeks' time.</example>
            <example correction="two weeks' time">"he'll be sailing around the world in <marker>two week's time</marker>.</example>
            <example>It was ready in a week's time.</example>
        </rule>
        <rule id="TOT_HE" name="tot he (to the)">
            <pattern>
                <token>tot</token>
                <token>he</token>
            </pattern>
            <message>Did you mean <suggestion>to the</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="to the">The Hitchhiker's Guide <marker>tot he</marker> Galaxy</example>
        </rule>
        <rulegroup id="TANK_YOU" name="tank (thank) you">
            <antipattern>
                <token postag="IN" />
                <token>Hank</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker><token regexp="yes">tank|hank</token></marker>
                    <token regexp="yes">you|him|her|God|Allah|Jesus</token>
                </pattern>
                <message>Did you mean <suggestion>thank</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Thank"><marker>Tank</marker> you very much!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>tanks</token>
                </antipattern>
                <pattern>
                    <marker><token regexp="yes">tanks|thank|hanks</token></marker>
                    <token>to</token>
                    <token regexp="yes">your?|hi[ms]|her|my|the|our|their</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="thanks">The case went poorly <marker>tanks</marker> to the lawyer's incompetence.</example>
                <example>The only way to find out is to get it on a lift and trace the fuel lines from the tanks to the engine.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token>many</token>
                    <marker>
                        <token regexp="yes">tanks|thank|hanks</token>
                    </marker>
                    <token regexp="yes">\p{P}|for|in</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="thanks">Many <marker>tanks</marker> for your help!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token postag="PRP" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">tanks|thank</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">
                            tanks|thank|hanks
                            <exception scope="previous" regexp="yes">I|you|we|they</exception>
                        </token>
                    </marker>
                    <token>so</token>
                    <token regexp="yes">much|far|lot</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="Thanks"><marker>Tanks</marker> so much for your help!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token postag="PRP" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">tanks|thank</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">
                            tanks|thank|hanks
                        </token>
                    </marker>
                    <token>a</token>
                    <token regexp="yes">lot|mil|million|bunch|ton|heap</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="Thanks"><marker>Tanks</marker> a lot for your help!</example>
                <example>I have to thank a lot.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">thank|tanks|hanks</token>
                    </marker>
                    <token regexp="yes">for|to</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="Thanks"><marker>Tanks</marker> for nothing!</example>
            </rule>
        </rulegroup>
        <rulegroup id="FILED_WITH" name="filed (filled) with">
            <rule>
                <pattern>
                    <marker><token>filed</token></marker>
                    <token>with</token>
                    <token regexp="yes">water|people|love|joy|smoke|hope|tears|sand|stories|hundreds|music|shoe|food|excitement|thousands|books|ice|pride|laughter|pictures|images|photos|blood|hate|children|fear|explosives|emotion|air|family|gratitude|flowers|anger|items|drama|garbage|rage|men|cash|hatred|sadness|dozens|gas|women|memories|students|pain|anxiety|mud|art|fluid|petrol|regret|debris|things|dread|energy|helium|players|uncertainty|happiness|toys|light|plastic|fans|examples|oil|wonder|activities|trash|fun|soil|life|school|grief|money|challenges|surprises|products|information|messages|references|tourists|concrete|confidence|passion|friends|goodies|violence|action|dust|optimism|questions|clothes|rubbish|tension|gold|photographs|gifts|moments</token>
                </pattern>
                <message>Did you mean <suggestion>filled</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="filled">The gallery was <marker>filed</marker> with friends and family.</example>
            </rule>
        </rulegroup>
        <rule id="WITH_OUT" name="with out (without)">
            <pattern>
                <token>with</token>
                <token>out</token>
            </pattern>
            <message>This word is usually spelled as one word. Did you mean <suggestion>without</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="without">We must take the bus before it leaves <marker>with out</marker> us.</example>
        </rule>
        <rulegroup id="IT_IS_NO" name="it is no (not/now)">
            <rule>
                <pattern>
                    <token>it</token>
                    <token regexp="yes">is|was</token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes"><exception regexp="yes">good|better|worse|more|less|longer|different|harder|fun|secret|emergency</exception></token>
                    <token><exception postag="[JN].*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion> or <suggestion>now</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="not|now">It is <marker>no</marker> possible.</example>
                <example>It is no mystical intuition.</example>
                <example correction="not|now">It is <marker>no</marker> hard to make a decision.</example>
                <example>It is no surprise.</example>
                <example>It is no ordinary household shrine.</example>
                <example>There was the slight pain, but it was no different from the throbbing in his head.</example>
                <example>It is no more a united nation than the Equator.</example>
            </rule>
            <rule>
                <pattern>
                    <token>it</token>
                    <token>'s</token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception regexp="yes">longer|different|good|better|worse|fun|secret|more|less|emergency|shock</exception>
                    </token>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion> or <suggestion>now</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="not|now">It's <marker>no</marker> possible.</example>
                <example>It isn't possible.</example>
                <example>It is no surprise.</example>
                <example>It's no longer needed.</example>
                <example>To hit running prey, it's no good to ponder the problem for long.</example>
                <example>You say it's no BIG deal, but to me it is.</example>
                <example>If you count to three, you'll see it's no emergency, you'll see I'm not the enemy.</example>
                <example>It's no shock that even the CEO isn't sure how to describe Enron, for it's a company swept by constant change.</example>
            </rule>
        </rulegroup>
        <rule id="ALLOT_OF" name="allot of (a lot of)">
            <pattern>
                <token>allot</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>a lot of</suggestion> (=plenty)?</message>
            <short>Possible typo</short>
            <example correction="a lot of">I've got <marker>allot of</marker> questions to you.</example>
        </rule>
        <rule id="ALL_MOST" name="all most (almost)">
            <pattern>
                <marker>
                    <token>all</token>
                    <token>most</token>
                </marker>
                <token postag="PDT"/>
            </pattern>
            <message>Did you mean <suggestion>almost</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="Almost"><marker>All most</marker> all the patents were rejected...</example>
        </rule>
        <rule id="ANALYSIS_IF" name="analysis if (of)">
            <pattern>
                <token postag="DT"/>
                <token regexp="yes">analysis|kind</token>
                <marker>
                    <token>if</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>of</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="of">An Analysis <marker>if</marker> Rock Music</example>
            <example correction="of">That's the kind <marker>if</marker> blue I like.</example>
            <example>This is the kind of journalism that I like!</example>
        </rule>
        <rulegroup id="TOW_TWO" name="tow (two)">
            <rule>
                <pattern case_sensitive="yes">
                    <marker><token>tow</token></marker>
                    <token postag="NNS"><exception regexp="yes">trucks|hooks|vehicles|bars|ratings|companies|straps|cars|charges|mirrors|trailers|ropes|cables|boats|points|lines|tractors|operators|dollies|balls|paths|things|services|rigs|sports|packages|fees|chains|shackles|members|lights|planes|drivers|hitches</exception></token>
                </pattern>
                <message>Did you mean <suggestion>two</suggestion>?</message>
                <example correction="two">Sorry for my <marker>tow</marker> kids.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IF_OF" name="if (of)">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>one</token>
                        <token regexp="yes" case_sensitive="yes" min="0">if|off</token>
                    </marker>
                    <token case_sensitive="yes">the</token>
                </pattern>
                <message>Did you mean <suggestion>one of</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="one of">She is <marker>one if</marker> the most talented students I know.</example>
                <example correction="one of">She is <marker>one</marker> the most talented students I know.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <token min="0" regexp="yes">good|extra|rough|nice|great|wonderful|few|last|next|previous|upcoming|following</token>
                    <marker>
                        <token>couple</token>
                        <token regexp="yes" case_sensitive="yes" min="0">if|off</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">days|decades|games|guys|hours|hundreds?|thousands?|minutes|moments|weekends|months|occasions|people|players|points|reasons|seasons|things|times|weeks|years</token>
                </pattern>
                <message>Did you mean <suggestion>couple of</suggestion>? (In formal written English 'of' should follow 'couple'.)</message>
                <url>https://jakubmarian.com/a-couple-vs-a-couple-of-in-english/</url>
                <short>Possible typo</short>
                <example correction="couple of">After a <marker>couple</marker> days, they became bored.</example>
                <example correction="couple of">After a <marker>couple if</marker> days, they became bored.</example>
                <example correction="couple of">After a <marker>couple off</marker> days, they became bored.</example>
                <example correction="couple of">I am not sure where you are, but this is going to be a <marker>couple</marker> hours of your life.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="DT" />
                    <marker>
                        <token regexp="yes">kind|sort</token>
                        <token regexp="yes">if|off</token>
                    </marker>
                    <token postag="JJ.*|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\2 of</suggestion>?</message>
                <example correction="kind of">They didn't like this <marker>kind if</marker> racist treatment.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token regexp="yes">kind|sort</token>
                        <token regexp="yes">if|off</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token regexp="yes">if|that|when|because|\.|\!|\?|to|about|for</token>
                </pattern>
                <message>Did you mean <suggestion>\2 of</suggestion>?</message>
                <example correction="kind of">They were <marker>kind if</marker> happy.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>course</token>
                    <token postag="RB" min="0" />
                    <token>was</token>
                </antipattern>
                <antipattern>
                    <token>course</token>
                    <token postag="RB" min="0" />
                    <token postag="VBZ" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token>if</token>
                    <token>course</token>
                </pattern>
                <message>Did you mean <suggestion>of \2</suggestion>?</message>
                <example correction="of course">I have done that <marker>if course</marker>.</example>
                <example>No idea, apparently, that we face devastation if course is not changed.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IF_IS" name="if it if (is)">
            <rule>
                <pattern>
                    <token skip="2">if<exception scope="next" regexp="yes">,|is|and|but|&amp;|or</exception></token>
                    <marker>
                        <token>if</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="is">I wonder if the context <marker>if</marker> actually important.</example>
                <example>if and only if</example>
                <example>If but only if their assertion were true, then we would lose.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>which</token>
                    <token>if</token>
                    <token>so</token>
                    <token>,</token>
                    <token>is</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">which|who</token>
                    <token>if</token>
                    <token>you</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">which|who(se)?</token>
                    <marker>
                        <token>if</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="is">The rules are tested, which <marker>if</marker> quite fast.</example>
                <example>Development says the issues are going to be fixed in version 4.712, which if so, is great.</example>
                <example>Who if you recall was the best?</example>
            </rule>
        </rulegroup>
        <rule id="BED_ENGLISH" name="bed/bat (bad) English/...">
            <pattern>
                <marker>
                    <token regexp="yes">bed|bat</token>
                </marker>
                <token regexp="yes">English|attitude</token>
            </pattern>
            <message>Did you mean <suggestion>bad</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="bad">Sorry for my <marker>bed</marker> English.</example>
        </rule>
        <rulegroup id="WIFI" name="WiFi (Wi-Fi)">
            <url>https://www.merriam-webster.com/dictionary/wifi</url>
            <rule>
                <pattern>
                    <token>wifi</token>
                </pattern>
                <message>Did you mean <suggestion>Wi-Fi</suggestion>? (This is the officially approved term by the Wi-Fi Alliance.)</message>
                <short>Possible typo</short>
                <example correction="Wi-Fi"><marker>WiFi</marker> is a technology for wireless local area networking with devices based on the IEEE 802.11 standards.</example>
            </rule>
            <rule>
                <pattern>
                    <token>wi</token>
                    <token>fi</token>
                </pattern>
                <message>Did you mean <suggestion>Wi-Fi</suggestion>? (This is the officially approved term by the Wi-Fi Alliance.)</message>
                <short>Possible typo</short>
                <example correction="Wi-Fi"><marker>Wi Fi</marker> is a technology for wireless local area networking with devices based on the IEEE 802.11 standards.</example>
            </rule>
        </rulegroup>
        <rule id="SENT_START_THEM" name="'Them (Then)' at sentence start">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token regexp="yes">Th(em|an)</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>Then</suggestion>?</message>
            <short>Possible typo</short>
            <example>And <marker>then</marker> it became clear.</example>
            <example correction="Then"><marker>Them</marker> it became clear.</example>
            <example correction="Then"><marker>Than</marker> it became clear.</example>
        </rule>
        <rule id="THINK_YOU_A" name="think you a/an (are)">
            <pattern>
                <token regexp="yes">th(inks?|ought)</token>
                <token>you</token>
                <marker>
                    <token regexp="yes">an?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>are</suggestion>?</message>
            <short>Possible typo</short>
            <example>Some would think you <marker>are</marker> a fortunate man.</example>
            <example correction="are">Some would think you <marker>a</marker> fortunate man.</example>
        </rule>
        <rule id="IS_WERE" name="is were (where)">
            <pattern>
                <token>is</token>
                <marker>
                    <token>were</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>where</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="where">Now, this is <marker>were</marker> my ignorance sets in.</example>
        </rule>
        <rule id="ONE_ORE" name="one ore (or)">
            <antipattern>
                <token>ore</token>
                <token regexp="yes">bodies|body|mountains</token>
            </antipattern>
            <pattern>
                <token postag="CD"/>
                <marker>
                    <token>ore</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>or</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="or">Type in one <marker>ore</marker> more words.</example>
            <example>The town owes its existence mainly to two ore bodies that formed about 1.75 billion years ago.</example>
        </rule>
        <rule id="GOING_ONE" name="going one (on)">
            <pattern>
                <token>what</token>
                <token inflected="yes">be</token>
                <token>going</token>
                <marker><token>one</token></marker>
            </pattern>
            <message>Did you mean <suggestion>on</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="on">She knew what was going <marker>one</marker>.</example>
            <example>He is going one step further.</example>
        </rule>
        <rule id="NAIL_ON_THE_HEAD" name="nail on the hat (head)">
            <pattern>
                <token>nail</token>
                <token>on</token>
                <token>the</token>
                <marker><token regexp="yes">h[ia][td]</token></marker>
            </pattern>
            <message>Did you mean <suggestion>head</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="head">She hit the nail on the <marker>hat</marker>.</example>
        </rule>
        <rule id="ON_THE_SHELF" name="sit of (on) the shelf">
            <pattern case_sensitive="yes">
                <token inflected="yes" regexp="yes">sit|be|leave|put|back</token>
                <token min="0">it</token>
                <marker><token regexp="yes">o(ne|[fhr])|in</token></marker>
                <token>the</token>
                <token>shelf</token>
            </pattern>
            <message>Did you mean <suggestion>on</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="on">She likes being <marker>of</marker> the shelf.</example>
        </rule>
        <rule id="COME_THROUGH" name="come threw (through)">
            <pattern>
                <token inflected="yes">come</token>
                <marker><token regexp="yes">thr[eo]w</token></marker>
            </pattern>
            <message>Did you mean <suggestion>through</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="through">They came <marker>throw</marker> the door.</example>
        </rule>
        <rulegroup id="VARY_VERY" name="vary (very)">
            <rule>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>vary</token>
                    </marker>
                    <token>end</token>
                </pattern>
                <message>Did you mean <suggestion>very</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="very">He insisted to do it until the <marker>vary</marker> end.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|of|the|an?|my|his|her|their|our|your</token>
                    <token min="0">so</token>
                    <marker><token>vary</token></marker>
                    <token postag="JJ"/>
                </pattern>
                <message>Did you mean <suggestion>very</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="very">They were <marker>vary</marker> happy.</example>
                <example correction="very">A lot of <marker>vary</marker> happy people live in this town.</example>
                <example correction="very">A <marker>vary</marker> cool project.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|of|the|an?|my|his|her|their|our|your</token>
                    <marker><token>vary</token></marker>
                    <token regexp="yes">top|bottom|right|left</token>
                </pattern>
                <message>Did you mean <suggestion>very</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="very">They were at the <marker>vary</marker> top.</example>
            </rule>
        </rulegroup>

        <rule id="WEATHER_WHETHER" name="weather (whether)">
            <pattern>
                <token inflected="yes" regexp="yes">wonder|ask|know</token>
                <marker><token>weather</token></marker>
            </pattern>
            <message>Did you mean <suggestion>whether</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="whether">She asked <marker>weather</marker> he knew her.</example>
        </rule>
        <rule id="SEE_SEA" name="see (sea)">
            <pattern>
                <token>at</token>
                <marker><token>see</token></marker>
            </pattern>
            <message>Did you mean <suggestion>sea</suggestion> or <suggestion>seeing</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="sea|seeing">We have spent the first night at <marker>see</marker>.</example>
            <example correction="sea|seeing">The lion roared in anger at <marker>see</marker> the hyenas approaching to rob him of his food.</example>
        </rule>
        <rule id="I_IF" name="I (if)">
            <antipattern><!-- https://www.lexico.com/definition/no_longer -->
                <token postag="SENT_START"/>
                <token>I</token>
                <token>no</token>
                <token>longer</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START"/>
                <marker><token>I</token></marker>
                <token postag="DT"><exception>neither</exception></token>
            </pattern>
            <message>Did you mean <suggestion>If</suggestion> or is a comma missing (<suggestion>I,</suggestion>)?</message>
            <short>Possible typo</short>
            <example correction="If|I,"><marker>I</marker> the data confirm my theory, I will be famous.</example>
            <example correction="If|I,"><marker>I</marker> the president, will make America great.</example>
            <example correction="If|I,"><marker>I</marker> no want do to that.</example><!-- The rule finds a problem, but gives an incorrect suggestion. -->
            <example>I neither drink nor smoke.</example>
            <example>I no longer need to do that.</example>
        </rule>
        <rulegroup id="STATIONARY_STATIONERY" name="stationary (stationery)">
            <rule>
                <pattern>
                    <marker>
                        <token>stationary</token>
                    </marker>
                    <token regexp="yes">(store|shop|supplier?|supply|material|cupboard)s?</token>
                </pattern>
                <message>Did you mean <suggestion>stationery</suggestion> (= materials for writing) instead of 'stationary' (= immobile/unchanged)?</message>
                <short>Possible typo</short>
                <example correction="stationery">The office junior is in charge of filling the <marker>stationary</marker> cupboard.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">warehouse|office|school|paper|art|letterpress</token>
                    <marker>
                        <token>stationary</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>stationery</suggestion> (= materials for writing) instead of 'stationary' (= immobile/unchanged)?</message>
                <short>Possible typo</short>
                <example correction="stationery">Save 50% on all office <marker>stationary</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">order</token>
                    <token min="0"/>
                    <marker>
                        <token>stationary</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>stationery</suggestion> (= materials for writing) instead of 'stationary' (= immobile/unchanged)?</message>
                <short>Possible typo</short>
                <example correction="stationery">The office junior is in charge of ordering our <marker>stationary</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|remain|stay</token>
                    <marker>
                        <token>stationery</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>stationary</suggestion> (= immobile/unchanged) instead of 'stationery' (= materials for writing)?</message>
                <short>Possible typo</short>
                <example correction="stationary">The exact word which my doctor used was <marker>stationery</marker>.</example>
                <example correction="stationary">The duckling waddled slowly across the road while the traffic remained <marker>stationery</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="THE_ONLY_ON" name="the only on (one)">
            <pattern>
                <token>the</token>
                <token regexp="yes">only|special|chosen</token>
                <marker>
                    <token>
                        on
                        <exception scope="next" regexp="yes">premise|demand</exception>
                    </token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>one</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="one">The trash folder is the only <marker>on</marker> for me that works.</example>
            <example>The only on demand service that works.</example>
        </rule>
        <rulegroup id="I_A" name="I a/an (am)">
            <antipattern>
                <token regexp="yes">[A-Z]</token>
                <token regexp="yes">[A-Z]</token>
                <token regexp="yes">[A-Z]</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>n't</token>
                <token>I</token>
                <token regexp="yes">an?</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token><exception scope="previous" regexp="yes" inflected="yes">be</exception>I</token>
                        <token>an</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBG" />
                </pattern>
                <message>Did you mean <suggestion>\1 am</suggestion>?</message>
                <short>Possible typo</short>
                <example>Am I An Amazing Guy?</example>
                <example correction="I am"><marker>I an</marker> going home</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token><exception scope="previous" regexp="yes" inflected="yes">be</exception>I</token>
                        <token>an</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token postag="IN|TO" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 am</suggestion>?</message>
                <short>Possible typo</short>
                <example>Am I An Amazing Guy?</example>
                <example correction="I am"><marker>I an</marker> happy to hear that.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception scope="previous" regexp="yes" inflected="yes">be</exception>I</token>
                    <marker>
                        <token>an</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>am</suggestion> (first person of 'to be') or <suggestion>can</suggestion>?</message>
                <short>Possible typo</short>
                <example>Am I An Atheist Or An Agnostic?</example>
                <example>Were I a bird, I would fly to you.</example>
                <example correction="am|can">I <marker>an</marker> not sure.</example>
                <example correction="am|can">I <marker>an</marker> go there.</example>
                <example>Wasn't I an amazing singer?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>and</token>
                    <token>I</token>
                    <token>a</token>
                    <token regexp="yes">lot|little|few</token>
                </antipattern>
                <pattern>
                    <token><exception scope="previous" regexp="yes" inflected="yes">be</exception>I</token>
                    <marker>
                        <token>a</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>am</suggestion> (first person of 'to be')?</message>
                <short>Possible typo</short>
                <example>Am I a good employee?</example>
                <example>Were I a bird, I would fly to you.</example>
                <example correction="am">I <marker>a</marker> not sure.</example>
                <example>M A R I A</example>
                <example>Was I a murderer?</example>
            </rule>
        </rulegroup>
        <rule id="PLEASE_NOT_THAT" name="please not (note) that">
            <pattern>
                <token>please</token>
                <marker>
                    <token>not</token>
                </marker>
                <token regexp="yes">that|there</token>
            </pattern>
            <message>Did you mean <suggestion>note</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="note">Please <marker>not</marker> that saying “Open Source” does not mean very much.</example>
        </rule>
        <rulegroup id="I_AM_NOTE_SURE" name="I'm note (not) sure">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>note</token>
                    </marker>
                    <token>sure</token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">I'm <marker>note</marker> sure.</example>
                <example correction="not">I am <marker>note</marker> sure.</example>
            </rule>
        </rulegroup>
        <rule id="NUT_NOT" name="nut (not)">
            <antipattern>
                <token postag="NN.*" postag_regexp="yes"/>
                <token>'s</token>
                <token>nut</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">areca|beech|betel|brazil|cashew|kola|macadamia|monkey|palm|barrel|cage|clip-on|collar|coupling|flange|hex|split|wing</token><!-- Only a subset that are unlikely to cause false negatives. -->
                <token>nut</token>
            </antipattern>
            <antipattern>
                <token postag="DT"/>
                <token postag="JJ.?" postag_regexp="yes" min="0"/>
                <token>nut</token>
                <token postag="NN.*|IN" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!--- the shell of the nut very hard. -->
                <token postag="NN.*" postag_regexp="yes"/>
                <token>of</token>
                <token postag="DT|PRP\$" postag_regexp="yes"/>
                <token>nut</token>
                <token postag="RB"/>
                <token postag="JJ"/>
                <token postag="PCT"/>
            </antipattern>
            <antipattern><!--- fruit and nut sample showed signs -->
                <token>and</token>
                <token>nut</token>
                <token postag_regexp="yes" postag="NN(:UN)?"/>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[ZD]"/>
            </antipattern>
            <antipattern><!--- http://fruitsandnuts.ucdavis.edu/about_us/contact_us/ -->
                <token>Fruit</token>
                <token regexp="yes">and|&amp;</token><!-- The correct spelling is with ampersand, but do not let an incorrect spelling cause a warning for 'nut' -->
                <token>Nut</token>
                <token>Research</token>
                <token regexp="yes">and|&amp;</token>
                <token>Information</token>
                <token>Center</token>
            </antipattern>
            <antipattern>
                <token>nut</token>
                <token>christmas</token>
                <token regexp="yes">trees?</token>
            </antipattern>
            <antipattern>
                <token>date</token>
                <token>nut</token>
            </antipattern>
            <antipattern>
                <token>butter</token>
                <token>nut</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>nut</token>
                </marker>
                <token postag="(RB|JJ|NN|NN:.*)" postag_regexp="yes"><exception inflected="yes" regexp="yes">the|grass|case|tree|job|butter|mixture|flour|bread|oil|shell|cracker|allergy|cake|may|can</exception></token>
            </pattern>
            <message>Did you mean <suggestion>not</suggestion>?</message>
            <short>Possible typo</short>
            <example>I love nut oil!</example>
            <example correction="not">I'm <marker>nut</marker> sure.</example>
            <example correction="not">This is beef <marker>nut</marker> lamb, and I am sure that I asked you for lamb.</example>
            <example correction="not">But surely, this wine is red <marker>nut</marker> white!</example>
            <example correction="not">Make sure that the template you use is hexagonal <marker>nut</marker> square.</example>
            <example correction="not">This sandwich is beef and <marker>nut</marker> cheese as I specifically requested.</example>
            <example>Since 2007, <marker>Brazil nut</marker> production in the area has increased 20%.</example>
            <example>This new <marker>monkey nut</marker> sampling system is excellent.</example>
            <example>The <marker>barrel nut</marker> test device caused problems.</example>
            <example>It was to be expected … but he reckoned that the faucet’s nut needed only one more turn.</example>
            <example>To maintain a high nut quality...</example>
            <example>...the tree is very productive, the shell of the nut very hard.</example>
            <example>The <marker>fruit and nut sample</marker> is contaminated.</example>
            <example>The <marker>fruit and nut sample</marker> showed signs of contamination.</example>
            <example>University of California Fruit and Nut Research and Information Center</example>
        </rule>
        <rule id="AND_SO_ONE" name="and so one (on)">
            <pattern>
                <marker>
                    <token>and</token>
                    <token>so</token>
                    <token>one</token>
                </marker>
                <token><exception postag_regexp="yes" postag="VB.*"/></token>
            </pattern>
            <message>Did you mean <suggestion>and so on</suggestion> (='etc.')?</message>
            <short>Possible typo</short>
            <example correction="and so on">We think it helps to find bottlenecks <marker>and so one</marker>.</example>
            <example>It’s very peaceful, <marker>and so one</marker> tends to like it.</example>
        </rule>
        <rule id="THROUGH_AWAY" name="through (throw) away">
            <pattern>
                <marker>
                    <token>through</token>
                </marker>
                <token>away</token>
            </pattern>
            <message>Did you mean <suggestion>throw</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="throw">Or we just <marker>through</marker> away all bugs.</example>
        </rule>
        <rule id="OR_WAY_IT" name="or way (was) it">
            <pattern>
                <token>or</token>
                <marker>
                    <token>way</token>
                </marker>
                <token regexp="yes">(it|that|this)</token>
            </pattern>
            <message>Did you mean <suggestion>was</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="was">Or <marker>way</marker> that a very recent change in Qt?</example>
        </rule>
        <rule id="DT_RESPONDS" name="the/a responds (response)">
            <pattern>
                <token postag="DT"><exception case_sensitive="yes">that</exception></token>
                <marker>
                    <token>responds</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>response</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="response">Thanks for the <marker>responds</marker>.</example>
            <example>Is there an audience that <marker>responds</marker> more strongly?</example>
        </rule>
        <rulegroup id="PRP_RESPONSE" name="responds vs. response">
            <rule>
                <pattern>
                    <token>
                        you
                        <exception scope="previous" regexp="yes" inflected="yes">provide|give</exception>
                    </token>
                    <token postag="JJ">
                        <exception>mean</exception>
                    </token>
                    <token>response</token>
                </pattern>
                <message>Did you mean <suggestion>your \2 \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="your kind response">Thanks for <marker>you kind response</marker>.</example>
                <example correction="your quick response">I appreciate <marker>you quick response</marker>.</example>
                <example>Do you mean response instead of JQL?</example>
                <example>But that won’t give you instantaneous response obviously.</example>
            </rule>
            <rule>
                <pattern>
                    <token>you</token>
                    <token>response</token>
                </pattern>
                <message>Did you mean <suggestion>\1 respond</suggestion> or <suggestion>your \2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="You respond|Your response"><marker>You response</marker> within an hour.</example>
                <example correction="you respond|your response">Thanks for <marker>you response</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>your</token>
                    <token>responds</token>
                </pattern>
                <message>Did you mean <suggestion>\1 response</suggestion> or <suggestion>you respond</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="your response|you respond">I have seen <marker>your responds</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>they</token>
                    <token>response</token>
                </pattern>
                <message>Did you mean <suggestion>\1 respond</suggestion> or <suggestion>their \2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="They respond|Their response"><marker>They response</marker> within an hour.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>response</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>respond</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="respond">They <marker>response</marker> within an hour.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="UNKNOWN|VB.*|IN" postag_regexp="yes" />
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP" />
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">responses?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>responds</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="responds">He <marker>response</marker> quickly.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="NN.*|PRP" postag_regexp="yes" />
                    <token postag="MD" />
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>response</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>respond</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="respond">He will <marker>response</marker> quickly.</example>
                <example correction="respond">Otherwise, I will <marker>response</marker> to your message when I get back.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" chunk_re=".-VP">try|want|need|have|like|love|hate</token>
                    <token>to</token>
                    <marker>
                        <token>response</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>respond</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="respond">I want to <marker>response</marker> quickly.</example>
            </rule>
        </rulegroup>
        <rule id="THINK_OFF" name="think/know off (of)">
            <antipattern>
                <token>off</token>
                <token>hand</token>
            </antipattern>
            <pattern>
                <token regexp="yes">think(ing)?|know|thought</token>
                <marker>
                    <token>off</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>of</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="of">It's the only part of KDE I know <marker>off</marker> that uses automasking.</example>
        </rule>
        <rulegroup id="NOT_US1" name="not us (use)">
            <rule>
                <antipattern>
                    <token regexp="yes" skip="2">is|was|'s</token>
                    <token>not</token>
                    <token>us</token>
                    <token><exception>to</exception></token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>us</token>
                    <token>,</token>
                    <token>not</token>
                    <token>us</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token>us</token>
                    <token regexp="yes">who(se)?</token>
                </antipattern>
                <antipattern>
                    <token>they</token>
                    <token>ai</token>
                    <token>n't</token>
                    <token>us</token>
                    <token postag="CC|PCT" postag_regexp="yes" />
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>not</token>
                    <token>US</token>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token>not</token>
                    <token>us</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|but</token>
                    <token>not</token>
                    <token>us</token>
                    <token regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|but|,|–|-</token>
                    <token>not</token>
                    <token>us</token>
                    <token postag="JJ" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">they|who</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">are|were|'re</token>
                    <token inflected="yes">not</token>
                    <token>us</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">not</token>
                    <marker>
                        <token>us</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>use</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="use">Please do not <marker>us</marker> this door.</example>
                <example correction="use">Please don't <marker>us</marker> dispose.</example>
                <example correction="use">It was not <marker>us</marker> to try.</example><!-- A correction triggers another error. -->
                <example correction="use">It was not <marker>us</marker> to them.</example>
                <example>Please do not <marker>use</marker> this door.</example>
                <example>It's not <marker>us</marker> who did it.</example>
                <example>It's them not us.</example>
                <example>They ain't us!</example>
                <example>They aren't us!</example>
                <example>It was them and not us women.</example>
                <example>Our governments belong to us, not <marker>us</marker> to them.</example>
                <example>He would be taxed by the Mexican tax authority, not US.</example>
            </rule>
        </rulegroup>
        <rule id="YOU_THING" name="I/you/... thing (think)">
            <pattern>
                <token regexp="yes">I|you|s?he|they|we</token>
                <marker>
                    <token regexp="yes">things?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>think</suggestion> or <suggestion>thinks</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="think|thinks">I <marker>thing</marker> that's a good idea.</example>
        </rule>

        <rulegroup id="WERE_VBB" name="were (where/we)">
            <!--FIXME: this is a very crude rule, should be refined.-->
            <rule>
                <antipattern><!-- #2555 were people who -->
                    <token chunk="B-VP">were</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2555 "Were I in -->
                    <token>
                        <exception postag_regexp="yes" postag="VB.*"/>
                        </token>
                    <token chunk="B-VP">were</token>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token postag_regexp="yes" postag="IN|JJ"/>
                </antipattern>
                <antipattern><!-- #2555 were anger and rage -->
                    <token chunk="B-NP-singular">were</token>
                    <token chunk="I-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern><!-- #2555 were pain and suffering -->
                    <token>were</token>
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern><!-- both of these were -->
                    <token postag="DT"/>
                    <token>of</token>
                    <token regexp="yes">th[eo]se</token>
                    <token>were</token>
                </antipattern>
                <antipattern>
                    <token>were</token>
                    <token>I</token>
                    <token regexp="yes">you|an?|the|one|this</token>
                </antipattern>
                <antipattern>
                    <token>but</token>
                    <token>were</token>
                    <token>I</token>
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token>both</token>
                    <token>were</token>
                </antipattern>
                <antipattern><!-- xx and xx were hand delivered -->
                    <token chunk="I-NP-singular">and</token>
                    <token chunk="I-NP-singular" min="0" />
                    <token chunk="E-NP-singular" />
                    <token>were</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="VBN" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-plural" />
                    <token postag="IN" />
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token>were</token>
                    <token chunk="B-NP-plural" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" />
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-plural" />
                    <token postag="IN" />
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token>were</token>
                    <token chunk_re="[IE]-NP.*" />
                    <token>,</token>
                    <token chunk_re="[IE]-NP.*" />
                    <token min="0">,</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern><!-- the only species we found were wolf spiders -->
                    <token>the</token>
                    <token chunk="I-NP-plural" min="0" /> 
                    <token chunk="E-NP-plural" /> 
                    <token postag="PRP_S.*|NNPS?" postag_regexp="yes" />
                    <token postag="MD|RB" postag_regexp="yes" min="0" />
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <token>were</token>
                    <token chunk="B-NP-plural" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" />
                </antipattern>
                &multi_word_verbs;
                <pattern>
                    <token><exception postag="CC"/></token>
                    <token><exception postag="WP|NNS|WRB|CD" postag_regexp="yes"/><exception regexp="yes">there|the[ym]|we|you</exception></token>
                    <marker>
                        <token>were</token>
                    </marker>
                    <token postag="VBP?|PRP" postag_regexp="yes">
                        <exception postag="JJR?|VBN|IN|PRP\$|RB.*" postag_regexp="yes"/>
                        <exception regexp="yes">there|they|we|you|'re</exception>
                    </token>
                    <token><exception regexp="yes">not|to</exception></token>
                </pattern>
                <message>Did you mean <suggestion>where</suggestion> or <suggestion>we</suggestion>?</message>
                <short>Possible typo</short>
                <example><marker>We</marker> are in the process of implementing this.</example>
                <example>These relations were long marked by conflict.</example>
                <example correction="where|we">They went <marker>were</marker> he wanted.</example>
                <example>Black peppercorns were found lodged in the nostrils...</example>
                <example>There were stage productions...</example>
                <example>...and both the hedgehogs were out of sight.</example>
                <example>Such mannerisms would be less worthy of remark, were it not that in Great Expectations, as in no other of Dickens' novels, hands serve as a leitmotif of plot and theme -- a kind of unifying symbol or natural metaphor for the book's complex of human interrelationships and the values and attitudes that motivate them.</example>
                <example>Two of them were police radio cars.</example>
                <example>... until March 1970, of which 6 were market towns.</example>
                <example>... who at the time were well behind the West in jet technology.</example>
                <example>Again, people who do this were people who found that the more general solutions.</example><!-- #2555 -->
                <example>"Were I in England now, as once I was, and had but this fish painted, not a holiday fool there but would give a piece of silver"</example><!-- #2555 -->
                <example>... but were he rich, he still would not be happy.</example><!-- #2555 -->
                <example>Alternatively, for some women, the only feelings that could be shown were anger and rage.</example><!-- #2555 -->
                <example>... the problems brought upon the family were pain and suffering.</example><!-- #2978 -->
                <example>I worked for another similar company before that for 7 months (both of these were contract work).</example>
                <example>Shares of Devon were lower, while Anderson traded higher on the news.</example>
                <example>I am not sending the list for 4/5/00 because all of the counterparties on that list were Credit declines.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>were</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="JJR?|VBN" postag_regexp="yes"/>
                        <exception regexp="yes">there|they|we|you</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>where</suggestion> or <suggestion>we</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Where|We"><marker>Were</marker> are in the process of implementing this.</example>
                <example>These relations were long marked by conflict.</example>
                <example>Black peppercorns were found lodged in the nostrils...</example>
                <example>There were stage productions...</example>
            </rule>
        </rulegroup>

        <rule id="VBZ_VBD" name="it (is)">
            <pattern>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Ii]s</token>
                </marker>
                <token regexp="yes">wasn?</token>
            </pattern>
            <message>Did you mean <suggestion>it</suggestion>?</message>
            <short>Possible typo</short>
            <example>...which <marker>it</marker> was the last day.</example>
            <example correction="it">...which <marker>is</marker> wasn't the last day.</example>
            <example correction="it">...which <marker>is</marker> was not the last day.</example>
            <example correction="it">No <marker>is</marker> wasn’t …</example>
            <example>The IS was defeated (Islamic State).</example>
        </rule>

        <rule id="LOOK_ATE" name="look ate (at)">
            <pattern>
                <token inflected="yes" regexp="yes">look|stand</token>
                <marker>
                    <token>ate</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>at</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="at">Although I must admit when I look <marker>ate</marker> the paperback...</example>
        </rule>
        <rule id="A_KNOW_BUG" name="a know (known) bug/problem" type="grammar">
            <pattern>
                <token>a</token>
                <marker>
                    <token>know</token>
                </marker>
                <token regexp="yes">bug|problem</token>
            </pattern>
            <message>Did you mean <suggestion>known</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="known">This is a <marker>know</marker> problem.</example>
        </rule>
        <rule id="MY_BE" name="my (may) be">
            <pattern>
                <token>my</token>
                <token>be</token>
            </pattern>
            <message>Did you mean <suggestion>may be</suggestion> or <suggestion>might be</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="may be|might be">Something that <marker>my be</marker> interesting...</example>
        </rule>
        <rule id="IS_SHOULD" name="is (it) should/could">
            <pattern>
                <marker>
                    <token>is</token>
                </marker>
                <token regexp="yes">(should|could)</token>
            </pattern>
            <message>Did you mean <suggestion>it</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="it">I definitely think <marker>is</marker> should be less than four years.</example>
        </rule>
        <rule default="off" id="CAN_NOT" name="can not (cannot)">
            <pattern>
                <token>can</token>
                <token>not</token>
            </pattern>
            <message>Did you mean <suggestion>cannot</suggestion>?</message>
            <short>Possible typo</short>
            <example>You <marker>cannot</marker> use the keyboard to select an item.</example>
            <example correction="cannot">You <marker>can not</marker> use the keyboard to select an item.</example>
        </rule>
        <rule id="CANT" name="cant (can't)">
            <antipattern>
                <token>cant</token>
                <token chunk="B-VP"/>
            </antipattern>
            <pattern>
                <marker>
                    <token>cant</token>
                </marker>
                <token><exception>to</exception></token>
            </pattern>
            <message>Did you mean <suggestion>can't</suggestion> or <suggestion>cannot</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="can't|cannot">I <marker>cant</marker> view pdf files in Explorer.</example>
            <example correction="can't|cannot">You <marker>cant</marker> usually view these files in a web browser.</example>
            <example>... despite all the modern cant to the contrary.</example>
            <example><marker>William Cant</marker> was born in Morpeth, Northumberland in 1753.</example>
            <example>... and <marker>cant</marker> is the specialty of many politicians.</example>
            <example type="triggers_error"><marker>Cant</marker>, who was born in Morpeth in 1753, is the ...</example>
            <example type="triggers_error">Argot used in this sense is synonymous with <marker>cant</marker>.</example>
            <example type="triggers_error">There is also a prison <marker>cant</marker>, known as soebela or sombela, which is based on...</example>
            <example type="triggers_error">A <marker>cant</marker>, called Shelta, is spoken by Irish Travellers...</example>
        </rule>
        <rulegroup id="HELL" name="hell/shell (he'll, she'll)">
            <antipattern>
                <token>sure</token>
                <token>as</token>
                <token>hell</token>
            </antipattern>
            <antipattern><!-- www.lexico.com -->
                <token regexp="yes">bloody|fucking</token>
                <token>hell</token>
            </antipattern>
            <antipattern>
                <token chunk="B-VP" />
                <token>hell</token>
            </antipattern>
            <antipattern>
                <token postag="JJ" chunk="B-ADJP" />
                <token>as</token>
                <token>hell</token>
            </antipattern>
            <antipattern>
                <token>hell</token>
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token>Dante</token>
                <token>'s</token>
                <token>hell</token>
            </antipattern>
            <antipattern>
                <token skip="1">what</token>
                <token>hell</token>
                <token>felt</token>
            </antipattern>
            <antipattern>
                <token>hell</token>
                <token>devil</token>
            </antipattern>
            <antipattern>
                <token>in</token>
                <token>hell</token>
            </antipattern>
            <antipattern><!-- a hell like experience -->
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token>hell</token>
                <token>like</token>
                <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" />
            </antipattern>
            <antipattern>
                <token>heaven</token>
                <token regexp="yes">and|&amp;|or|\/</token>
                <token>hell</token>
            </antipattern>
            <antipattern><!-- what the hell! -->
                <token>what</token>
                <token>the</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>hell</token>
            </antipattern>
            <antipattern><!-- sexy as hell -->
                <token postag="JJ" chunk_re=".-ADJP" />
                <token>as</token>
                <token>hell</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token><exception scope="previous" regexp="yes">does|did|would|in|the|my|your|their|his|and|be|to|of|from</exception>hell</token>
                    </marker>
                    <token postag="VB">
                        <exception regexp="yes">fire|yes|hole|even|out|cannon|house|hound|will|can</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>he'll</suggestion>?</message>
                <short>Possible typo</short>
                <example>Go to <marker>hell</marker>!</example>
                <example>Everybody in hell knows me.</example>
                <example>Hell yes!</example>
                <example>Does Hell Know Who You Are?</example>
                <example>He scared the hell out of me by popping a balloon right next to my ear.</example>
                <example>Because I sure as hell do.</example>
                <example>That evening turned out to be hell like all the others.</example>
                <example>... one of the four crown Princes of Hell like it is written in the Satanic Bible.</example>
                <example>She makes hell look beautiful.</example>
                <example>Who the bloody hell do you think YOU are, mate?</example>
                <example correction="He'll"><marker>Hell</marker> be there.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception scope="previous">heaven</exception>and</token>
                    <marker>
                        <token>hell</token>
                    </marker>
                    <token postag="VB">
                        <exception regexp="yes">fire|will|can</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>he'll</suggestion>?</message>
                <short>Possible typo</short>
                <example>Heaven and hell exist.</example>
                <example correction="he'll">And <marker>hell</marker> be there.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">an?|the|he|her|his|their|my|y?our</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token>shell</token>
                </antipattern>
                <antipattern>
                    <token regexp='yes'>['‘"“]</token>
                    <token>shell</token>
                    <token/>
                    <token spacebefore='no' regexp='yes'>['’"”]</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="3">Bourne|Unix|Linux|bash|code|electron</token>
                    <token>shell</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">of|from|at|on|for</token>
                    <token>shell</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token regexp="yes">and|&amp;</token>
                    <token case_sensitive="yes">Shell</token>
                    <token postag="VB[DP]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="PRP\$|DT|POS" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>shell</token>
                    <token>prompt</token>
                </antipattern>
                <pattern>
                    <marker><token><exception scope="previous" regexp="yes">to|this|that|coconut</exception>shell</token></marker>
                    <token postag="VB">
                        <exception regexp="yes">people|fish|necklace|shock|script|structure|beach|stitch|will|can</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>she'll</suggestion>?</message>
                <short>Possible typo</short>
                <example>This is an egg <marker>shell</marker>.</example>
                <example>How does the shell know which directory it's in?</example>
                <example>Shell people did not, strictly speaking, breathe.</example>
                <example>… or run programs from the Unix <marker>shell</marker> prompt.</example>
                <example>How to prompt for Yes/No/Cancel input in a Linux <marker>shell</marker> script.</example>
                <example>The renaming is part of a larger plan to reinvigorate the Shell brand in the US and improve financial performance.</example>
                <example>Enron and Shell will each write a guaranty in favor of TBS for their ...</example>
                <example>You should see the Unix command prompt, also known as the "<marker>shell</marker> prompt", appearing at the left side of…</example>
                <example type="triggers_error">Coloring your prompt with tput and <marker>shell</marker> escape code.</example>
                <example correction="She'll"><marker>Shell</marker> be there.</example>
                <example correction="she'll"><!--Mary will prompt the manager. -->Please tell John <marker>shell</marker> prompt the manager.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LETS_LET" name="let's (lets)">
            <url>https://languagetool.org/insights/post/lets-let-to/</url>
            <antipattern>
                <token>let</token>
                <token>'s</token>
                <token>for</token>
                <token>a</token>
                <token>while</token>
            </antipattern>
            <rule>
                <antipattern><!-- He complies and lets ... -->
                    <token chunk_re="E-NP-singular" />
                    <token postag="RB" min="0" />
                    <token postag="VBZ" chunk_re=".-VP" />
                    <token regexp="yes">and|or|&amp;|but</token>
                    <token>lets</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|;" postag_regexp="yes"/>
                    <marker>
                        <token>lets</token>
                    </marker>
                    <token min="0">all</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="VBP?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)s" regexp_replace=""/>'s</suggestion> (let's = let us; lets = 3rd person singular of 'let')?</message>
                <short>Possible typo</short>
                <example correction="Let's"><marker>Lets</marker> go home.</example>
                <example>It lets you sleep all night.</example>
                <example correction="let's">It's up to you three so <marker>lets</marker> hear your ideas</example>
                <example correction="Let's"><marker>Lets</marker> all go home.</example>
                <example correction="Let's"><marker>Lets</marker> just not put anything on here that may be offensive to others in the group.</example>
                <example>It lets you sleep all night.</example>
                <example>... and lets out his anger.</example>
                <example>He complies and lets people pass by.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">['‘"“]</token>
                    <token regexp="yes">Oh|Please|Yes</token>
                    <token min="0" max="1">,</token>
                    <token>let</token>
                    <token>'s</token>
                    <token regexp="yes">\p{P}</token>
                    <token spacebefore="no" regexp="yes">['’"”]</token>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                    <token>you</token>
                    <token regexp="yes">and|&amp;|or</token>
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                    <token>encrypt</token>
                </antipattern>
                <antipattern><!-- let's each go there -->
                    <token>let</token>
                    <token>'s</token>
                    <token regexp="yes">each|all</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>let</token>
                        <token>'s</token>
                    </marker>
                    <token regexp="yes">
                        .*[a-z].*
                        <exception postag="VB|RB?|UNKNOWN" postag_regexp="yes"/>
                        <exception regexp="yes">all|first|just|re|auto|self|pre</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1s</suggestion> or <suggestion>\1</suggestion> (let's = let us; lets = 3rd person singular of 'let')?</message>
                <short>Possible typo</short>
                <example correction="lets|let">It <marker>let's</marker> you quickly search for the product.</example>
                <example>Let's go home!</example>
                <example>Let's all go home!</example>
                <example>Let's first go home!</example>
                <example>Let's just say that I never wanted to kill him.</example>
                <example>It lets you quickly search for the product.</example>
                <example>"Let's have a drink, shall we?" "Yes, let's."</example>
                <example>Let's goooooooo!</example>
                <example>Let's, you and I, get together.</example>
                <example>Let's each get her a birthday present.</example>
                <example>So, Let's Be Radical, ...</example>
                <example>"Oh let's!" said the little black rabbit and with a hop...</example>
                <example>Let's re connect.</example><!-- different error, caught by EN_COMPOUNDS -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>let</token>
                    <token>'s</token>
                    </marker>
                    <token>all</token>
                    <token regexp="yes">
                        .*[a-z].*
                        <exception postag="VB|RB?|CD|UNKNOWN" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1s</suggestion> or <suggestion>\1</suggestion> (let's = let us; lets = 3rd person singular of 'let')?</message>
                <short>Possible typo</short>
                <example correction="lets|let">The system <marker>let's</marker> all students enter the building.</example>
                <example>Let's go home!</example>
                <example>Let's all go home!</example>
                <example>It lets you quickly search for the product,</example>
                <example>Let's all four of us go to that party.</example>
            </rule>
            <rule>
                <antipattern><!-- he lets go of -->
                    <token>lets</token>
                    <token>go</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP-singular" />
                    <token postag="VBZ" />
                    <token regexp="yes">and|or</token>
                    <token>lets</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token postag="RB" chunk_re=".-ADVP" min="0" />
                    <marker>
                        <token>lets</token>
                    </marker>
                    <token postag="RB" chunk_re=".*VP" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)s" regexp_replace=""/>'s</suggestion> (let's = let us; lets = 3rd person singular of 'let')?</message>
                <example correction="let's">Now <marker>lets</marker> go have some fun.</example>
                <example correction="let's">Now <marker>lets</marker> finally have a little party!</example>
                <example>He lets go of it.</example>
                <example>Tom finally lets go of it.</example>
                <example correction="let's">OK, <marker>lets</marker> leave it like that.</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk_re=".-NP.*" />
                    <token postag="RB" min="0" />
                    <token>lets</token>
                    <token>go</token>
                </antipattern>
                <antipattern>
                    <token>lets</token>
                    <token>go</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <token>lets</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token postag="RB" min="0" />
                    <token>lets</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ll]ets</token>
                    </marker>
                    <token min="0" regexp="yes">please|all|always|never|not</token>
                    <token regexp="yes" chunk_re=".-VP" case_sensitive="yes">[tm]ake|have|do|stay|encrypt|go|leave|forget|ensure|explore|assume|find|(for)?get|bring|connect|talk|evaluate|compare|discuss</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)s" regexp_replace=""/>'s</suggestion> (let's = let us; lets = 3rd person singular of 'let')?</message>
                <example correction="let's">But <marker>lets</marker> stay in touch.</example>
                <example>The type of loading involved with injury is usually eccentric, such as when two people are carrying a load and one lets go, forcing the other to maintain force while the muscle elongates.</example>
                <example>He lets go of it.</example>
                <example>Tom finally lets go of it.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IT_SOMETHING" name="if it (is) something else">
            <rule>
                <pattern>
                    <token regexp="yes">but|because|if|when|unless|while|whether</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                        <token regexp="yes">(some|any)(thing|where|one|body)</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2 is \3</suggestion>?</message>
                <example correction="it is something">But <marker>it something</marker> we need.</example>
                <example correction="it is something">If <marker>it something</marker> else, change it to this one.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">but|because|if|when|unless|while|whether</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                        <token regexp="yes">the|my|y?our|his|her|their|an?|many|this</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2 is \3</suggestion>, <suggestion>in \3</suggestion> or <suggestion>\3</suggestion>?</message>
                <example correction="it is the|in the|the">Just wondering if <marker>it the</marker> same hiring supervisor</example>
            </rule>
        </rulegroup>

        <rulegroup id="IT_IS" name="its vs. it's">
            <url>https://www.dictionary.com/e/its-vs-its/</url>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>gonna</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> gonna be great.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token>not</token>
                    <token postag="JJ.*" postag_regexp="yes" min="1" max="2" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>not</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> not working</example>
                <example>Welcome to Google and its not working software.</example>
            </rule>
            <rule>
                <pattern>
                    <token>all<exception scope="previous">after</exception></token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token chunk="B-NP-plural"><exception regexp="yes">all|the|an?|just</exception></token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example>Above all it's important to note they're disgusting.</example>
                <example correction="its">For all <marker>it's</marker> wonderful moments of humor...</example>
                <example>After all it's my birthday weekend.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">along(side)?|amid(st)?|among(st)?</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token chunk="B-NP-plural"/>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example>Above all it's important to note they're disgusting.</example>
                <example correction="its">Amid <marker>it's</marker> wonderful moments of humor...</example>
            </rule>
            <rule>
                <antipattern>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VB[DN]" postag_regexp="yes" />
                    <token regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VB[DN]" postag_regexp="yes" />
                    <token postag="CC" />
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>'s</token>
                    <token />
                    <token>time</token>
                </antipattern>
                <pattern>
                    <token>but</token><!-- add other conjunctions (if, and, or, ...) -->
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="RB" />
                        <exception regexp="yes">now|possible|unlikely|okay|ok</exception>
                    </token>
                    <token postag="NN.*" postag_regexp="yes" min="1" max="2">
                        <exception postag="JJ.*|IN" postag_regexp="yes"/>
                        <exception>backwards</exception><!-- not tagged as JJ (not sure if it should) -->
                        <exception regexp="yes">water|nothing|known|reality|if|okay|ok|doing</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes">
                        <exception postag="NN.*" postag_regexp="yes" />
                        <exception regexp="yes">&hyphen_modifier;|boring</exception>
                    </token>
                </pattern>
                <message>&its;</message>
                <short>Possible word confusion</short>
                <example correction="its">That's great but <marker>it's</marker> privacy policy sure is a lot easier to stomach.</example>
                <example correction="its">Yes, but <marker>it’s</marker> energy content is much less.</example>
                <example correction="its">It is a keypad but <marker>it’s</marker> primary function seems to be to switch between home and away modes.</example>
                <example>I enjoy the heck out of this game, but it’s okay if others don’t.</example>
                <example>I was trying to access your expert report from your web site, but it's password protected.</example>
                <example>I know there are some community solutions, but it’s high time there was a native SmartThings-supported option.</example>
                <example type="triggers_error">Fortunately we don’t load all the documents into memory, but it’s dog slow due to the sorting.</example>
                <example>I’ve tried indoor walking to do the active 10(1000 steps in 10 minutes) x 3 but it’s mind numbingly boring.</example>
                <example>A little smaller and darker, but it’s in much better fundamental shape than the top floor apartment.</example>
                <example>But it's tea time.</example>
                <example>But it's literal brain damage</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">first|second|third</token>
                    <token>of</token>
                    <token>all</token>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                </antipattern>
                <pattern>
                    <token>all<exception scope="previous">after</exception></token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token chunk="B-NP-singular"><exception regexp="yes">all|the|an?|just</exception></token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example>Above all it's important to note they're disgusting.</example>
                <example correction="its">For all <marker>it's</marker> perfection, I could not really like it.</example>
                <example>I mean after all it's just a bandaid.</example>
                <example>But all in all it's all good to be home again.</example>
                <example>Second of all it's nine at night.</example>
                <example>But most of all it's the atmosphere.</example>
                <example>All in all it's just another brick in the wall.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">along(side)?|amid(st)?|among(st)?|during|despite|is</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token chunk="B-NP-singular"/>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example>Above all it's important to note they're disgusting.</example>
                <example correction="its">Alongside <marker>it's</marker> coast, there were boats.</example>
            </rule>
            <rule>
                <pattern>
                    <token>due</token>
                    <token>to</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">Due to <marker>it's</marker> nature, a cat cannot fly.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>,</token>
                    <token postag="JJ" />
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token regexp="yes">and|or</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes" min="0">very|really|pretty|quite|completely|totally|so</token>
                    <token regexp="yes">free|great|wrong|(in)?correct|affordable|useless|annoying|useful|stupid|cheap|expensive|silly|pretty|me|you|new|old|big|huge|large|small|dumb|important|early|low|high|awesome|nice|bad|good|cool|ready|done|beautiful|wonderful|perfect|fantastic|fine|ugly|obvious|ok(ay)?|true</token>
                    <token postag="SENT_END|PCT|TO" postag_regexp="yes" regexp="yes">\p{P}</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="it's">But <marker>its</marker> free!</example>
                <example correction="It's"><marker>Its</marker> me, your old friend from high school.</example>
                <example>Conductor of an abelian variety, a description of its bad reduction.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="JJ" />
                    <token>man</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> cool man!</example>
                <example correction="It's"><marker>Its</marker> awesome man.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token case_sensitive="yes">US</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">you|me|her|him|them|us</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> you!</example>
                <example correction="it's">I can't believe <marker>its</marker> you.</example>
                <example>The album was ready for its US release.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                        <token case_sensitive="yes">u</token><!-- colloquial for "you" -->
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>it's you</suggestion> or <suggestion>it is you</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="It's you|It is you"><marker>Its u</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                        <token case_sensitive="yes" regexp="yes">ur|ya</token><!-- colloquial for "your" -->
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>it's your</suggestion> or <suggestion>it is your</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="It's your|It is your"><marker>Its ur</marker> fault!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJR?" postag_regexp="yes">
                        <exception>own</exception>
                        <exception>wont</exception>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> so good.</example>
                <example correction="It's"><marker>Its</marker> nice.</example>
                <example>Please check its content.</example>
                <example>Its new feature.</example>
                <example>Japan claims the Northern Territories for its own.</example>
                <example correction="it's">Plus <marker>its</marker> awfully slow.</example>
                <example correction="it's">We need some cool refreshments when <marker>its</marker> on.</example>
                <example correction="it's">Or <marker>its</marker> too individual?</example>
                <example correction="it's">Yes, it's hard to remember if <marker>its</marker> not everyday.</example>
                <example correction="it's">Close the garage door once <marker>its</marker> docked.</example>
                <!-- <example correction="It's">Bard hero with orpheus lute (because <marker>its</marker> beautiful).</example> -->
                <example correction="it's">Purely to save money - always smoked so dunno whether <marker>its</marker> beneficial.</example>
                <example>Not mine but its own.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>very</token><!-- RB but also JJ, so rule above doesn't catch it -->
                    <token postag="JJR?" postag_regexp="yes" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> very cool.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC|RB" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END" regexp="yes">useless|uncommon|stupid|boring|annoying|dumb|free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|affordable|useless|useful|dangerous|different|enough|t?here|sexy|delicious|&short_adjectives;|&optional_short_adjectives;</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> okay</example>
                <example correction="It's"><marker>Its</marker> cool</example>
                <example correction="It's"><marker>Its</marker> very cool</example>
                <example correction="It's"><marker>Its</marker> already there</example>
                <example correction="It's"><marker>Its</marker> totally cool</example>
                <example correction="it's">Oh <marker>its</marker> so great</example>
                <example correction="it's">Plus <marker>its</marker> awfully slow</example>
                <example correction="it's">We need some cool refreshments when <marker>its</marker> on</example>
                <example correction="it's">Yes, <marker>its</marker> hard</example>
                <example correction="it's">Maybe <marker>its</marker> wrong</example>
                <example>Not mine but its own</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">yeah?|yes|no|[aoi]+h|uhm|well|y[ae]p|nope|huh|alright|,</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END" regexp="yes">useless|(un)?common|stupid|boring|annoying|dumb|free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|affordable|useful|dangerous|different|enough|t?here|sexy|delicious|&short_adjectives;|&optional_short_adjectives;</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="it's">Yes <marker>its</marker> okay</example>
            </rule>
            <rule>
                <!-- needed because of wrong tagging: "cool" is tagged as NN in 'Its cool.' -->
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC|RB" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">useless|(un)?common|stupid|boring|annoying|dumb|free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|affordable|useful|dangerous|different|enough|t?here|sexy|delicious|&short_adjectives;|&optional_short_adjectives;</token>
                    <token regexp="yes">\.|\!|…|\?|\;|\:|that|because|to|since|for|in|by|on|at|with(in|out)?|from|now|but|if|when</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> ready!</example>
                <example correction="It's"><marker>Its</marker> very nice?</example>
                <example correction="It's"><marker>Its</marker> so awesome.</example>
                <example correction="it's">Maybe <marker>its</marker> wrong.</example>
                <example correction="it's">When <marker>its</marker> ready.</example>
                <example correction="it's">Anyone know if <marker>its</marker> possible?</example>
                <example correction="it's">Yep, <marker>its</marker> there.</example>
                <example>Not mine but its own.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END">happening</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> finally happening</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token>happening</token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token><!-- Punctuation character -->
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> finally happening!</example>
                <example correction="it's">Can you post a sound clip when <marker>its</marker> happening?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>gonna</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> gonna be okay</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> about you.</example>
                <example correction="It's"><marker>Its</marker> in there.</example>
                <example correction="it's">In your case, <marker>its</marker> in the same dir as the command.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>by</token><!-- not tagged as IN here (that's why rule above doesn't work) -->
                    <token>far</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="it's">In fact, <marker>its</marker> by far the most disabled rule.</example>
            </rule>
            <rule>
                <pattern>
                    <token>on</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token regexp="yes">way|path</token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">Help is on <marker>it's</marker> way.</example>
            </rule>
            <rule>
                <!-- TODO: its of, its to -->
                <antipattern><!-- Leading its first rally / ran its first season -->
                    <token chunk="B-VP" postag_regexp="yes" postag="VB[DG]"/>
                    <token>its</token>
                    <token postag="RB"/>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- will host its first Ashes Test match. -->
                    <token chunk="I-VP" postag_regexp="yes" postag="VBP?"/>
                    <token>its</token>
                    <token postag="RB"/>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- Its exponentially larger development -->
                    <token chunk="B-NP-singular">its</token>
                    <token chunk="I-NP-singular" postag="RB"/>
                </antipattern>
                <antipattern>
                    <token>Its</token>
                    <token>vs</token>
                    <token min="0">.</token>
                    <token>It</token>
                </antipattern>
                <antipattern><!-- #2792 www.lexico.com/definition/each -->
                    <token postag_regexp="yes" postag="VB[ZD]"/>
                    <token>its</token>
                    <token>each</token>
                    <token>and</token>
                    <token>every</token>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- #2792 -->
                    <token postag_regexp="yes" postag="VB[ZD]"/>
                    <token>its</token>
                    <token>each</token>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- It puts its all into it. -->
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>its</token>
                    <token>all</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token postag="VBG" chunk="B-VP" />
                    <token>its</token>
                </antipattern>
                <pattern>
                    <token><exception postag="IN|CC|PCT" postag_regexp="yes"/><exception regexp="yes">[tw]hat</exception></token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="CC|DT|IN|MD|POS|PP|RB|WDT|WP|WRB" postag_regexp="yes"><exception regexp="yes">many|way|every</exception><exception postag="NN.*|JJ.*" postag_regexp="yes"/></token>
                    <token><exception postag="VBN|JJ" postag_regexp="yes"/></token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> where people walk around.</example>
                <example correction="it's">... and ultimately <marker>its</marker> each to their own, but having thought about...</example><!-- #2792 -->
                <example correction="it's">Of course, you know <marker>its</marker> each and every day that this problem occurs.</example><!-- #2792 -->
                <example>It has not yet found its way either into the pharmacopoeia.</example>
                <example>Its vs. It's</example>
                <example>London is counting iconic landmarks such as the Houses of Parliament, Tower Bridge and Buckingham Palace amongst its many attractions.</example>
                <example>The Service has not said what its next step will be.</example>
                <example>But mostly, I feel it because I see its poison working its way out of me and on to those around me as repercussions of my actions.</example>
                <example>London is a necropolis, <marker>its</marker> every corner the site of a murder, its soil a pudding of blood and tears.</example>
                <example>India is aiming to launch Chandrayaan-2, its first attempt to reach the moon.</example>
                <example>Leading its first rally it went off the road...</example>
                <example>... into the American Le Mans Series; which ran its first season in 1999, the European races...</example>
                <example>Its exponentially larger development at the end of the...</example>
                <example>..2013, Durham's Chester-le-Street ground will host its first Ashes Test match.</example>
                <example>... a brain which uses its each and every part in the smallest action we do.</example><!--  #2792 -->
                <example>CAPCO being an investment group uses its each bit of work on email...</example><!--  #2792 -->
                <example>It puts its all into it.</example>
                <example>Wednesday had the company expanding its Half.com division to consumer electronics and sporting goods from books, music, movies and video games.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token min="0" regexp="yes">And|But</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0">not</token>
                    <token postag="JJ.?|VBG" postag_regexp="yes"/>
                    <token regexp="yes">to|for|\.</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> hard to explain.</example>
                <example correction="It's"><marker>Its</marker> better for him to go out.</example>
                <example correction="It's"><marker>Its</marker> not working.</example>
            </rule>
            <rule>
                <antipattern><!-- its surviving units / its devastating hurricanes -->
                    <token chunk_re="B-NP.*">its</token>
                    <token chunk_re="I-NP.*" postag_regexp="yes" postag="VBG|JJ"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its<exception scope="previous" regexp="yes">of|all</exception><exception scope="previous" postag_regexp="yes" postag="VB.*|IN"/></token>
                    </marker>
                    <token postag="VBG"><exception postag="[JN].*" postag_regexp="yes"/></token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> removing the errors.</example>
                <example>It was mainly because of <marker>its</marker> burgeoning economy.</example>
                <example>No wonder Melissa responded so completely to its beckoning.</example>
                <example>That may be extended to Cambridge and its surrounding countryside.</example>
                <example type="triggers_error">Quibi argues the numbers are only weak because its snacking format suffers in lockdown.</example>
                <example>... profiles which give a specific acoustic signal its defining character.</example>
                <example>It would be decommissioned in March 1864, its surviving units combined into other corps.</example>
                <example>... remote location, its limited transportation, and its devastating hurricanes.</example>
                <example>An inner class and its containing class are compiled.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">ok(ay)?|gonna</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> OK.</example>
                <example correction="it's">Well, <marker>its</marker> okay.</example>
                <example correction="it's">Well, <marker>its</marker> gonna take some time.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">o[nf]</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token>own</token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="Its">New Robot Reproduces on <marker>It's</marker> Own.</example>
                <example correction="its">The cat was on <marker>it's</marker> own in the large house.</example>
                <example correction="its">The country's crisis was of <marker>it's</marker> own making.</example>
            </rule>
            <rule>
                <antipattern><!-- www.lexico.com/definition/brand_new -->
                    <token>'s</token>
                    <token>brand</token>
                    <token>new</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|this|it|me|mine|ours|us|them|theirs|you|yours|his|him|hers|her|t?here|(some|any)where|tonight|today|tomorrow|soon</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token>cause</token>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                </antipattern>
                <antipattern><!-- www.lexico.com/definition/brand_new -->
                    <token>'s</token>
                    <token>best</token>
                    <token min="0">not</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">live|behave</token>
                    <token>like</token>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token regexp="yes">kind|sort</token>
                    <token>of</token>
                </antipattern>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes"><exception postag="VB[GZ]" postag_regexp="yes"/>
                        <exception inflected="yes" regexp="yes">know|say|think|ok(ay)?|believe|guess|see|pretend</exception>
                        <exception>cause</exception><!-- informal "because" -->
                        <exception>still</exception><!-- adverb -->
                    </token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="NN(S|(:UN?))?" postag_regexp="yes">
                        <exception postag_regexp="yes" postag="JJ|VBN|CC|DT|IN|MD|POS|PP|RB|WDT|WP|WRB"/>
                        <exception regexp="yes">his|time|nothing|something</exception>
                    </token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">I can’t remember <marker>it’s</marker> name.</example>
                <example>It's nice.</example>
                <example>I think it's still valid.</example>
                <example correction="its">Freeze <marker>it’s</marker> target.</example>
                <example>I think it's fast enough.</example>
                <example correction="its">The cat has just stuck <marker>it's</marker> claw in my arm.</example>
                <example>With DMA disabled it's possible to output with a high sampling frequency.</example>
                <example>I know it's cliche but time really does go faster and faster the older you get.</example>
                <example>I think it's PMS time.</example>
                <example>They decided it’s best not to.</example>
                <example correction="its">As far as apm is concerned, it has done <marker>it’s</marker> job.</example>
                <example>When they do it’s kind of shocking.</example>
                <example>I feel it's something I can do.</example>
                <example>I can't believe it's birthday time again already!</example>
                <example correction="its">What are <marker>it's</marker> benefits?</example>
                <example>I hope it's nothing serious.</example>
                <example>I reckon it's time to wake up.</example>
                <example>We can't do that cause it's plagiarism.</example>
                <example>We can sell it like it's brand new.</example><!-- #2662 -->
            </rule>
            <rule>
                <pattern>
                    <token>such</token>
                    <token>as</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">RDF can also be used to express metaproperties of a thesaurus, such as <marker>it's</marker> title.</example>
                <example correction="its">There are so many things like about Coney Island, such as <marker>it's</marker> old-school charm.</example>
                <example>We liked a lot about the biology course, such as its pace of learning.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">from|by</token>
                    <token>all</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">I would still consider assembling it from all <marker>it's</marker> basic components.</example>
                <example correction="its">From all <marker>it's</marker> windows streamed glorious banners.</example>
                <example correction="its">I was confused by all <marker>it's</marker> footnotes.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token regexp="yes">approach|idea|own</token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">We could borrow <marker>it's</marker> approach.</example>
                <example correction="Its"><marker>It's</marker> approach was signaled by crunching leaves.</example>
                <example>I was informed of its approach by the crunching leaves.</example>
            </rule>
            <rule>
                <pattern>
                    <token>at</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token>best</token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">Linux at <marker>it's</marker> best</example>
            </rule>
            <rule>
                <pattern>
                    <token>some</token>
                    <token>of</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="NNS"/>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">When some of <marker>it's</marker> clauses match.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">[Bb]y</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">Don't judge a book by <marker>it's</marker> cover.</example>
            </rule>
            <rule>
                <antipattern>
                    <token case_sensitive="yes" skip="-1">A</token>
                    <token case_sensitive="yes">B</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token regexp="yes">new|first|last</token>
                    <token>mine</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception>needs</exception>
                    </token>
                    <token regexp="yes">
                        (an?|the|yours?|her|his|ours?|theirs?|mine|my)
                        <exception case_sensitive="yes">AN</exception>
                    </token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="It's"><marker>Its</marker> his uncle.</example>
                <example correction="It's"><marker>Its</marker> a good opportunity.</example>
                <example correction="It's"><marker>Its</marker> basically the best!</example>
                <example correction="It's"><marker>Its</marker> an internal thing.</example>
                <example correction="It's"><marker>Its</marker> just a coincident.</example>
                <example correction="it's">Chris and Nick, I know <marker>its</marker> probably a long shot that the two of you will come, but thought I would try.</example>
                <example>Currently, there are fifteen records on <marker>its</marker> A list and twenty on its B list.</example>
                <example>Its first mine, north of town on the river's west side, was exhausted by 1873.</example>
                <example>Glace Bay, the second largest urban community in population, was the island's main coal mining centre until its last mine closed in the 1980s.</example>
                <example>In July 2007, Raytheon announced that it was developing a Next Generation Radar (RANGR) based on its earlier AN/APG-79 AESA radar as a competitor to Northrop Grumman's AN/APG-68 and AN/APG-80 for the F-16.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">in|with(out)?|from|under|over|above|be(neath|sides?|yond|tween|low|hind)</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes"/>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example>Scene from It's a Boy Girl Thing</example>
                <example correction="its">This lovely and interesting area with <marker>it's</marker> friendly people will make a welcoming break</example>
                <example correction="its">In <marker>it's</marker> heyday it was a bustling port.</example>
                <example correction="its">She had trouble with <marker>it's</marker> tiny buttons.</example>
                <example correction="its">And above <marker>it's</marker> veranda loomed an ominous cloud.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its<exception scope="previous">to</exception></token>
                    </marker>
                    <token>going</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example>It's going to rain.</example>
                <example>It may even lead to its going out of business.</example>
                <example correction="It's"><marker>Its</marker> going to be sunny tomorrow.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">had|been|got</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="s" regexp_replace=""/>'s</suggestion> (=<suggestion><match no="1" regexp_match="s" regexp_replace=""/> has</suggestion>) instead of 'its' (possessive pronoun)?</message>
                <short>Possible typo</short>
                <example>It's had a huge impact on me.</example>
                <example correction="it's|it has">And <marker>its</marker> had a mention at the Labour Party Conference this morning.</example>
                <example correction="It's|It has"><marker>Its</marker> been raining for a week, and now its starting to snow.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token>too</token>
                    <token postag="JJ" min="1" max="2" />
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token>of</token>
                    <token>its</token>
                    <token>too</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>too</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example>From its too short shirt, to his eyes that moved around in its eye sockets: this was by far the creepiest mascot I have ever seen.</example>
                <example correction="it's">Sorry, but <marker>its</marker> too late.</example>
                <example correction="It's"><marker>Its</marker> too good to be true.</example>
            </rule>
            <rule>
                <antipattern><!-- #2662 once running it's difficult to stop-->
                    <token postag="CC"/>
                    <token postag="VBG"/>
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token chunk="B-VP">to</token>
                </antipattern>
                <antipattern><!-- #2662 it's kind of hard to listen -->
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token regexp="yes">kind|sort</token>
                    <token>of</token>
                    <token chunk="B-VP" postag="JJ"/>
                    <token chunk="I-VP">to</token>
                </antipattern>
                <antipattern><!-- #2662 it's kind of her -->
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token regexp="yes">kind|sort</token>
                    <token>of</token>
                    <token regexp="yes">&object_pronouns;</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token regexp="yes">to|for</token>
                </antipattern>
                <pattern>
                    <token postag="VBG"><exception regexp="yes">saying|hoping|assuming|feeling|realizing|considering|guessing|pretending|thinking|knowing|denying|claiming|ranting|reali[sz]ing|praying|suggesting|meaning|wondering</exception></token>
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token><exception postag_regexp="yes" postag="VBN|CC|DT|IN|MD|POS|PP|RB|WDT|WP|WRB"/><exception regexp="yes">not|going|gonna|ok(ay)?|just</exception></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">It does this by providing <marker>it's</marker> own open source based products.</example>
                <example correction="its">Nevertheless, I'm emphasizing <marker>it's</marker> kind of problem is not the same as the problems of other disambiguators.</example><!-- #2662 -->
                <example>Well, you know, kinda strange though, considering it's not Christmas.</example>
                <example>I've been hearing it's supposed to snow tonight.</example>
                <example>I'm assuming it's a suicide.</example>
                <example>It starts slowly - once running it's difficult to stop.</example><!-- #2662 -->
                <example>I am really emotional; when crying it's difficult to stop.</example><!-- #2662 -->
                <example>And while I'm reading it's kind of hard to listen to you.</example><!-- #2662 -->
                <example>Nevertheless, I'm emphasizing it's kind of her to do that.</example><!-- #2662 -->
                <example>During the opening it's easy to do it.</example>
            </rule>
            <rule>
                <antipattern><!-- #2788 shows it's very similar. -->
                    <token chunk="E-NP-singular"/>
                    <token postag="VBZ"/>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="RB"/>
                    <token postag="JJ"/>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern><!-- #2788 shows it's very similar. [min/max on the RB token does not work.] -->
                    <token chunk="E-NP-singular"/>
                    <token postag="VBZ"/>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="JJ"/>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern><!-- #2662 it's important to have / also: it's possible to be -->
                    <token>'s</token>
                    <token postag="JJ"/>
                    <token postag="TO"/>
                    <token postag="VB"/>
                </antipattern>
                <antipattern><!-- #2788 it turns out it's free -->
                    <token>it</token><!-- Not: Constant company wears out it's welcome. -->
                    <token postag="VBZ"/>
                    <token postag="RP"/>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="JJ"/>
                </antipattern>
                <antipattern><!-- #2813 he recognizes it's Bob -->
                    <token regexp="yes">he|she|it</token>
                    <token postag="VBZ"/>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag_regexp="yes" postag="JJ|NNP"/>
                </antipattern>
                <antipattern><!-- premium #1795  -->
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="JJR"/>
                    <token postag="IN"/>
                </antipattern>
                <pattern>
                    <token postag="VBZ">
                        <exception regexp="yes">.+days|cases|notices|thinks|hopes|belives|suggests|says|means|knows|claims|signals|swears|feels|assumes|seems|decides|talks|expires|finds</exception></token>
                    <token postag="IN" min="0"><exception postag="VB.*" postag_regexp="yes"/><exception>like</exception></token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*|JJ.?">
                        <exception regexp="yes">ok(ay)?|nothing</exception>
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>&its;</message>
                <example correction="its">This is an opportunity to see how SAP addresses <marker>it's</marker> internal developers.</example>
                <example correction="its">Constant company wears out <marker>it's</marker> welcome.</example>
                <example>Who says <marker>it's</marker> going to be published?</example>
                <example>For the first fifteen or twenty minutes, it's possible to be more or less interested.</example>
                <example>For the first fifteen or twenty minutes it's possible to be more or less interested.</example>
                <example>He thinks it's funny too.</example>
                <example>After work it is just too hard, and during weekends it's just too far away.</example>
                <example>I've been waved off so many times it's hard to overcome my conditioning.</example>
                <example>It seems it's like a flu shot.</example>
                <example>LT marks "it's" and suggests it's incorrect and should be "its" but then doesn't highlight that it be changed back.</example>
                <example>My mom claims it's radiation.</example>
                <example>I think at times it's very easy to be overwhelmed by facts and figures.</example>
                <example>It depends whose hands it's in.</example>
                <example>And the funny thing is it's okay.</example>
                <example>And when you're with a big group of friends it's even more fun.</example>
                <example>It looks like it's just the two of us.</example>
                <example>In such cases it's often a good idea to think twice.</example>
                <example>The admission costs six euros but on Sundays it's free.</example>
                <example>Melatonin, the hormone that signals it’s time to sleep.</example>
                <example>Comparison to the engine in Office 365 shows it's very similar.</example><!-- #2788 -->
                <example>Comparison to the engine in Office 365 shows it's similar.</example><!-- #2788 -->
                <example>See why Neil believes it's important to have a personal trainer.</example><!-- #2662 -->
                <example>Yes, well, that just proves it's nothing but the firing of neurons.</example><!-- #2662 -->
                <example>But it turns out it's free.</example><!-- #2662 -->
                <example>And then he recognizes it's Bob.</example><!-- #2813 -->
                <example>He ensures it's ideal for them.</example><!-- #2813 -->
                <example>Tom believes it's simpler than that.</example><!-- premium #1795 -->
            </rule>
            <rule>
                <pattern>
                    <token postag="VBN"/>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="JJ|VBG" postag_regexp="yes" min="0"/>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="JJ"/></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">No one has ever seen <marker>it's</marker> eyes.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB"/>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">to|who|which|that|'s</token>
                </antipattern>
                <antipattern><!-- #2662 I'm glad to hear it's going better -->
                    <token>to</token>
                    <token postag="VB"/>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token postag="VBG"/>
                    <token postag="JJR"/>
                </antipattern>
                <pattern>
                    <token regexp="yes">can|ca|could|did|do|does|must|need|ought|sha|should|wo|would|to</token>
                    <token min="0" regexp="yes">not|n't</token>
                    <token postag="VB"><exception regexp="yes">believe|think|say|admit</exception></token>
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token postag="JJ|VBG" postag_regexp="yes" min="0"/>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="JJ"/><exception regexp="yes">(any|some|no)(thing|body)</exception></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">I can see <marker>it's</marker> eyes.</example>
                <example correction="its">She didn't feel <marker>it's</marker> presence.</example>
                <example correction="its">You have to see <marker>it's</marker> data.</example>
                <example>It helps to know <marker>it's</marker> true.</example>
                <example>I don't think <marker>it's</marker> anything to laugh about.</example>
                <example>I don't think <marker>it's</marker> Tom who has a problem.</example>
                <example>I don't think <marker>it's</marker> Tom's problem.</example>
                <example>I don't think <marker>it's</marker> anything we need to worry about.</example>
                <example>I don't think <marker>it's</marker> Tom.</example>
                <example>I'm glad to hear it's going better.</example><!-- #2662 -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0"/>
                    <token postag="JJ"><exception postag="NN.*" postag_regexp="yes"/><exception>own</exception></token>
                    <token>to</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example>It's had a huge impact on me.</example>
                <example correction="it's">And <marker>its</marker> so hard to beat him.</example>
                <example correction="It's"><marker>Its</marker> difficult to study physics.</example>
                <example>The "Paris Rulebook" won't be enough on its <marker>own</marker> to stop carbon pollution from reaching critical levels.</example>
            </rule>
            <!-- it's .*/JJS .*/NN::word=its \1 \2::pivots=it's,its::options=it's,its -->
            <rule id="ITS_JJS_NN" name="its (possessive) JJS NN">
                <pattern>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="JJS"><exception postag="JJS" negate_pos="yes"/></token>
                    <token postag="NN|NN:UN?" postag_regexp="yes"><exception postag="NN|NN:UN?" postag_regexp="yes" negate_pos="yes"/></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">For the painting, <marker>it's</marker> reddest area was in the upper left.</example>
            </rule>
            <!-- for it's .*/JJ|NN|NNS::word=for its::pivots=\1,its -->
            <rule id="FOR_ITS_NN" name="for its NN (possessive)">
                <pattern>
                    <token>for</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="JJ|NNS?|NN:UN?" postag_regexp="yes"><exception postag="JJ|NNS?|NN:UN?" postag_regexp="yes" negate_pos="yes"/></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">No one had any remedies for <marker>it's</marker> crazy rantings.</example>
            </rule>
            <!-- at|be|about|above|across|against|along|among|around|at|behind|by|for|from|had|in|near|of|on|over|through|to|towards|under|upon|with|without it's .*/JJ|NN|NNS::word=\0 its \2::pivots=it's,its -->
            <rule id="ABOUT_ITS_NN" name="about its NN (possessive)">
                <antipattern>
                    <token>for</token>
                    <token>it</token>
                    <token spacebefore="no">'s</token>
                    <token/>
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">be|about|above|across|against|along|among|around|at|behind|by|for|from|had|in|near|of|on|over|through|to|towards|under|upon|with|without</token>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="JJ|NNS?|NN:UN?" postag_regexp="yes"><exception postag="JJ|NNS?|NN:UN?" postag_regexp="yes" negate_pos="yes"/></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">The frog told a story about <marker>it's</marker> happy childhood in the river.</example>
            </rule>
            <!-- to .*/VB it's .*/NN|NNS::word=\0 \1 its \3::pivots=it's,its -->
            <rule id="TO_VB_ITS_NN" name="to VB its NN (possessive)">
                <pattern>
                    <token>to</token>
                    <token postag="VB"/>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="NNS?|NN:UN?" postag_regexp="yes"><exception postag="NNS?|NN:UN?" postag_regexp="yes" negate_pos="yes"/></token>
                </pattern>
                <message>&its;</message>
                <example correction="its">I wanted so badly to take <marker>it's</marker> apple and throw it through the window.</example>
            </rule>
            <rule id="DOE_SNOT" name="doe snot (does not)">
                <pattern>
                    <token>doe</token>
                    <token>snot</token>
                </pattern>
                <message>Did you mean <suggestion>\1s <match no="2" regexp_match="[sS]" regexp_replace=""/></suggestion>?</message>
                <example correction="does not">This <marker>doe snot</marker> mean that I like you.</example>
            </rule>
            <!-- it's .*/JJ .*/NNS|NN::word=its \1 \2::pivots=it's,its -->
            <rule id="ITS_JJ_NNSNN" name="its JJ NN (possessive)">
                <antipattern case_sensitive="yes">
                    <token>It</token>
                    <token>'s</token>
                    <token>bad</token>
                    <token>manners</token>
                </antipattern>
                <antipattern><!-- #2234 because it's rich text that ... -->
                    <token postag="CC"/>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ"/>
                    <token postag="NN:UN?" postag_regexp="yes"/>
                    <token min="0">,</token>
                    <token regexp="yes">that|which|what|who|where</token>
                </antipattern>
                <antipattern><!-- #2234 because it's rich text, you -->
                    <token postag="CC"/>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ"/>
                    <token postag="NN:UN?" postag_regexp="yes"/>
                    <token min="0">,</token>
                    <token postag="PRP(\$)?|DT|NNP|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" />
                    <and>
                        <token postag="NN.*" postag_regexp="yes" />
                        <token postag="SENT_END" />
                    </and>
                </antipattern>
                <antipattern>
                    <token regexp="yes">good|bad|excellent|huge|significant</token>
                    <token>news</token>
                </antipattern>
                <antipattern>
                    <token postag="JJ" />
                    <token regexp="yes">kind|sort</token>
                    <token>of</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token postag="JJ"><exception postag="JJ" negate_pos="yes"/></token>
                    <token postag="NNS?|NN:UN?" postag_regexp="yes">
                        <exception postag="NNS?|NN:UN?" postag_regexp="yes" negate_pos="yes"/>
                        <exception>ti</exception>
                    </token>
                </pattern>
                <message>&its;</message>
                <example correction="its">I appreciated <marker>it's</marker> odorless handshake by the fifth time.</example>
                <example correction="its">Note also that because <marker>it's</marker> rich text is illustrated with stunning graphics, the book is perfect for your coffee table.</example>
                <example correction="its">... and <marker>it's</marker> rich text, stunning graphics, and low price make the book the perfect present.</example>
                <example>I appreciate its odorless handshake by the fifth time.</example>
                <example>It's good news.</example>
                <example>Since it's rich text, you can do things like turn a selection...</example><!-- #2234 -->
                <example>... because it's rich text it shows the...</example><!-- #2234 -->
                <example>... because it's rich text, your editor will show the...</example><!-- #2234 -->
                <example>It's official punishment.</example>
                <example>But only because it's expensive medication that I'm waiting for.</example>
                <example>But it’s huge news for Europe and has indirect consequences for the US.</example>
                <example>Yeah, it's impressive kind of.</example>
            </rule>
            <rule>
                <pattern>
                    <marker><token>its</token></marker>
                    <token>that</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Yes, <marker>its</marker> that simple.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>is</token>
                    <token>n't</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>It</token>
                        <token>'s</token>
                    </marker>
                    <token><exception>what</exception></token>
                    <token>is</token>
                </pattern>
                <message>Did you mean <suggestion>\2s</suggestion> (possessive pronoun) instead of 'It's' (short for 'it is')?</message>
                <example correction="Its"><marker>It's</marker> door is too small.</example>
                <example><marker>Its</marker> door is too small.</example>
                <example>It's what is keeping us busy.</example><!-- #2662 -->
                <example>It's weird isn't it?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN"/>
                    <marker>
                        <token>it</token>
                    <token>'s</token>
                    </marker>
                    <token regexp="yes">\d+(th|st|rd|nd)</token>
                </pattern>
                <message>&its;</message>
                <short>Possible typo</short>
                <example correction="its">Kentucky State University formally installs Brown as <marker>it's</marker> 18th president</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        <exception inflected="yes">take</exception>
                        <exception>of</exception>
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">(play|show)?time</token>
                    <token regexp="yes">to|for</token>
                </pattern>
                <message>&it_s;</message>
                <short>Possible typo</short>
                <example correction="it's">I have decided that <marker>its</marker> time to leave.</example>
                <example correction="it's">I think <marker>its</marker> time for lunch.</example>
                <example>The government has taken <marker>its</marker> time to catch up with the digital economy.</example>
            </rule>
        </rulegroup>

        <rulegroup id="IT_IS_2" name="its vs it is">
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token postag="NNP|UNKNOWN|PRP" postag_regexp="yes" min="0" />
                    <token>its</token>
                    <token>best</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token>best</token>
                    <token regexp="yes">to|for</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">So <marker>its</marker> probably best to work from home than to risk an infection.</example>
                <example correction="it's">When in doubt, <marker>its</marker> best to ask.</example>
                <example correction="it's">I hear changing the fluid on high mile cars may actually damage the transmission and <marker>its</marker> best to leave the fluid as is?</example>
                <example>It is trying its best to avoid any errors.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">every(thing|one|body)</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> everything I have asked for.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP" />
                    <token chunk="B-NP-singular" regexp="yes">the|my|y?our|his|her|their</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> Buffy the demon.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>all</token>
                    <token regexp="yes">day|night|star|week|month|year|time|wheel</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>its</token>
                </antipattern>
                <antipattern>
                    <token>all</token>
                    <token regexp="yes">&apostrophe;</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception>way</exception>
                    </token>
                    <token>all</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> all your fault!</example>
                <example correction="It's"><marker>Its</marker> all coming together.</example>
                <example correction="it's">See, <marker>its</marker> not all bad.</example>
                <example>In fact the Dow Jones index came very close to challenging its all time high.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">and|&amp;</exception>
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP" />
                    <token>'s</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> Google's fault!</example>
                <example>All buyers, including Enron, should be entitled to refunds; not just the State of California and its IOU's.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">since|until|after|before</token>
                    <token>its</token>
                    <token regexp="yes">closing|(re\-?)?opening|founding|beginning|starting|signing</token>
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|W.*|PCT" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception regexp="yes">first|last</exception>
                    </token>
                    <token postag="VBG" />
                    <token regexp="yes">its?|thats|this|th[oe]se|the|an?|my|y?our|his|her|their</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">And <marker>its</marker> saying it's wrong.</example>
                <example correction="it's">Can I tell if <marker>its</marker> using the repeater?</example>
                <example correction="it's">Is your schedule getting a little more crazy now that <marker>its</marker> nearing the end?</example>
                <example>Since its founding the university has graduated over 100,000 alumni.</example>
                <example>Apollinaris' rejection that Christ had a human mind was considered an over-reaction to Arianism and its teaching that Christ was not divine.</example>
            </rule>
            <rule><!-- <It> information is good -->
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token postag="JJ" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">be|have</exception>
                        <exception postag="RB|MD" postag_regexp="yes" />
                        <exception regexp="yes" inflected="yes">mean|say|want|think|believe|get|know</exception>
                        <exception regexp="yes">cant|wont</exception><!-- different error -->
                    </token>
                    <token inflected="yes" regexp="yes">
                        be|have
                        <exception>be</exception>
                    </token>
                </pattern>
                <message>&its;</message>
                <example correction="Its"><marker>It</marker> information was helpful.</example>
                <example>It better be careful.</example>
                <example>IT infrastructure is something that could be outsourced.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">since|until|after|before</token>
                    <token>its</token>
                    <token regexp="yes">closing|(re\-?)?opening|fo?unding|beginning|starting|signing</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-singular" />
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token>its</token>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token>drafting</token>
                    <token>by</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token>copying</token>
                    <token>in</token>
                </antipattern>
                <antipattern>
                    <token>hence</token>
                    <token>its</token>
                    <and>
                        <token postag="VBG" />
                        <token postag="NN.*" postag_regexp="yes" />
                    </and>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|PCT|CC|W.*" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception regexp="yes">first|last</exception>
                    </token>
                    <token postag="VBN|VBG" postag_regexp="yes">
                        <exception regexp="yes">rating|bearing|timing|meeting|filing</exception>
                    </token>
                    <token postag="IN">
                        <exception>past</exception>
                    </token>
                </pattern>
                <message>&it_s_has;</message>
                <example correction="it's">I can't share it as <marker>its</marker> closely monitored by our teacher.</example>
                <example correction="It's"><marker>Its</marker> purring like a kitten.</example>
                <example correction="it's">So <marker>its</marker> coming from outside my local network.</example>
                <example correction="It's"><marker>Its</marker> been about 2 months since I trained regularly.</example>
                <example correction="it's">Anyone has idea why <marker>its</marker> behaving like that all of sudden?</example>
                <example correction="it's">We're not sure how <marker>its</marker> going to end.</example>
                <example correction="It's"><marker>Its</marker> working as expected.</example>
                <example correction="it's">But <marker>its</marker> working like a charm.</example>
                <!-- <example correction="It's"><marker>Its</marker> passing by.</example> -->
                <example>From its opening in 1897 until its closing in 1962, it specialised in naturalistic horror shows.</example>
                <example>Cooper Union has been located in the East Village since its founding in 1859.</example>
                <example>It may cut that rating again, as well as its rating for Enron's commercial paper.</example>
                <example>Its Counting of the Dead City officials have refined their method for tabulating the number of people missing or killed after the Sept. 11 attack.</example>
                <example>He stayed away from politics for the most part, jabbing at the Clinton administration only briefly for its handling of the case of Elian Gonzalez.</example>
                <example>Yesterday, utility analysts praised the company for its timing despite the public relations.</example>
                <example>The Dáil must be dissolved within five years after its first meeting following the previous election.</example>
                <example>An important difference between a manual and an electronic accounting system is the former's latency between the recording of a financial transaction and its posting in the relevant account.</example>
                <example>The Solar System and its interrelated past.</example>
                <example>More significantly, in 325 he summoned the First Council of Nicaea, most known for its dealing with Arianism and for instituting the Nicene Creed.</example>
                <example>The theme song is unique for its sampling of power tools.</example>
                <example>Its drafting by the Continental Congress began in mid-1776.</example>
                <example>However, its <marker>copying</marker> in subsequent generations indicates that it was used as a model of legal and judicial reasoning.</example>
                <example>...in the ending -at- that typically marks feminine nouns), but pronounced as -ā in other nouns (hence <marker>its</marker> writing in this fashion in the Arabic script).</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="JJ" />
                    <token min="0" regexp="yes">much|many</token>
                    <token regexp="yes">more|less</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> worth more than that.</example>
                <example correction="It's"><marker>Its</marker> still more than what another F2P would give you.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="JJ" />
                    <token>a</token>
                    <token regexp="yes">lot|bunch|pair|number|majority|bit|handful</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> worth a lot more than that.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJR" />
                    <token>than</token>
                    <token><exception postag="CD" /></token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> really better than before.</example>
                <example>Its more than 4,000 employees are located in 60 offices around the world.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token regexp="yes" skip="1">right|welcome</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token regexp="yes">if|maybe|or|and</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">guess|know|say</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>right</token>
                    <token>now</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">think</token>
                    <token>it</token>
                    <token>up</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt|know|say</token>
                    <marker>
                        <token regexp="yes">its?</token>
                    </marker>
                    <token regexp="yes" min="0">all|both|being|feeling|doing|going|keeping|managing|recovering</token>
                    <token regexp="yes" min="0" max="2">just|not|very|really|even|totally|absolutely|extremely|too|more|less|always|never|pretty|perfectly|obviously|normally|usually|actually|kinda|probably|almost|basically|currently|only|also|exactly|definitely|much|still</token>
                    <!-- long list of adjectives is currently necessary due to wrong tagging -->
                    <token regexp="yes">probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|invisible|profitable|(un)?recognizable|gentle|inevitable|ok(ay)?|hurt|next|fine|good|well|healthy|happy|successful|better|lucky|t?here|ready|sorry|glad|(un)?able|hungry|mad|busy|safe|welcome|angry|sick|proud|right|correct|wrong|crazy|great|cool|alone|amazing|beautiful|pretty|attractive|handsome|awesome|nice|(im)?possible|(un)?able|(un)?clear|helpful|important|time|nicer|best|similar|difficult|small|big|large|little|active|bad|wonderful|simpler?|easy|early|available|dangerous|enough|alright|sure|sexy|alone|nothing|free|cheap|expensive|annoying|worth|different|popular|famous|useful|old|young|hot|sweet|cute|strong|interesting|intelligent|poor|huge|rare|aware|efficient|capable|powerful|sufficient|afraid|obvious|careful|(un)?acceptable|boring|weird|valid|late|early|soon|smart|easier|useless|fantastic|hard|handy|related|relevant|normal|restricted|harm(ful|less)|one|up|clever|fair|just|only|meaningless|(un)?necessary|essential|foolish|natural|true|splendid|(un)?likely|(in)?appropriate|significant|special|confused|(un)?real|fake|perfect|dead|alive|red|green|blue|yellow|black|white|pink|purple|grey|gray|golden|broken|delicious</token>
                    <token min="0" regexp="yes">now|soon|together|tonight|today|yesterday|tomorrow|(any|some)more|t?here</token>
                    <token regexp="yes">
                        \p{P}|of|by|at|for|in|on|to|because|with(out|in)?|about|than|around|through
                        <exception regexp="yes">&apostrophe;|&quote;</exception>
                    </token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I hope <marker>its</marker> great.</example>
                <example correction="it's">This is my first post so I hope <marker>it</marker> helpful.</example>
                <example correction="it's">I think <marker>its</marker> nothing to worry about.</example>
                <example correction="it's">I guess <marker>its</marker> here.</example>
                <example correction="it's">I had seen that already, so I know <marker>its</marker> possible.</example>
                <example correction="it's">He says <marker>its</marker> weird, but he would look into it.</example>
                <example correction="it's">He said <marker>its</marker> too late.</example>
                <example correction="it's">I don’t believe <marker>it</marker> possible to connect it already.</example>
                <example>I think its natural, black hair looks best.</example>
                <example>You guessed it right.</example>
                <example>I believe it right now.</example>
                <example>I know it well.</example>
                <example>I know I’d be interested, but I did think it up, so…</example>
                <example>Hopefully not, but given the fact that you believe it there’s a chance the stress could overcome your body.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">called|named</token>
                    <token postag="DT|NN.*|JJ.*|UNKNOWN" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> called Windows.</example>
                <example correction="It's"><marker>Its</marker> called faith</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">much|way|far</token>
                    <and>
                        <token postag="JJR" />
                        <token postag="SENT_END" />
                    </and>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> much easier</example>
                <example>In its much longer history in Eurasia, brown bears diverged from the two species of cave bear, ...</example>
                <example>The market began the session lower and gradually works its way higher most of the day</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">much|way|far</token>
                    <token postag="JJR" />
                    <token regexp="yes">\.|\!|\?|…|,|than|as|to|for|on|in|at|with(in|out)?|from|now|soon|t?here|because|since|before|after|until|till|like|that|but|if|when|around</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> much easier now</example>
                <example>While taking immediate action to cut energy use by roughly 5 percent in its California malls, the company is also committed to decreasing energy use at its more than 40 malls across the country.</example>
                <example>The Maritimes, with its much smaller proportion of the national population (compared to the time of Confederation) also have an over-representation in the Senate, particularly compared to the population growth of Ontario and the western provinces.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN" />
                    <token min="0">all</token>
                    <token>its</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="JJR" />
                    <token>,</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token>more</token>
                    <token>than</token>
                    <token postag="CD" skip="3" />
                    <token postag="NNS" chunk="E-NP-plural" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJR" />
                    <token regexp="yes">\.|\!|\?|…|,|than|as|to|for|on|in|at|with(in|out)?|from|now|soon|t?here|because|since|before|after|until|till|like|that|but|if|when|around</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> much easier now</example>
                <example correction="It's"><marker>Its</marker> sometimes better to risk a few 100 points, than almost all of them.</example>
                <example>While taking immediate action to cut energy use by roughly 5 percent in its California malls, the company is also committed to decreasing energy use at its more than 40 malls across the country.</example>
                <example>The Maritimes, with its much smaller proportion of the national population (compared to the time of Confederation) also have an over-representation in the Senate, particularly compared to the population growth of Ontario and the western provinces.</example>
                <example>Another chain with similar orientation is the Tuamotu Archipelago; its older, northerly trend is the Line Islands.</example>
                <example>Its more than 4,000 employees, located in 60 offices around the world, ...</example>
                <example>... thanks to Apple's ability to protect its more than 1 billion devices.</example>
            </rule>
            <rule>
                <pattern>
                    <or>
                        <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                            <exception postag="IN" />
                        </token>
                        <token inflected="yes" regexp="yes">think|hope</token>
                    </or>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">much|way|far</token>
                    <token postag="JJR" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">But <marker>its</marker> much better like this.</example>
                <example correction="it's">I think <marker>its</marker> much better now.</example>
                <example correction="It's"><marker>Its</marker> much easier.</example>
                <example>In its much longer history in Eurasia, brown bears diverged from the two species of cave bear, ...</example>
                <example>The market began the session lower and gradually works its way higher most of the day</example>
                <example>Ruby 2.2.0 is on its way later in the year, and the Ruby agent is ready for it.</example>
                <example>It superseded the earlier Geiger-Müller tube because of its much longer life and lower operating voltage, typically 400-900 volts.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token>as</token>
                    <token postag="JJ" />
                    <token>as</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> already as good as it can get.</example>
                <example correction="It's"><marker>Its</marker> as simple as that.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|since|because|but|as|unless|once|until|till</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">under|over</token>
                    <or>
                        <token chunk="B-NP-singular" />
                        <token chunk="B-NP-plural" />
                    </or>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Let me know when <marker>its</marker> under pressure.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|since|because|but|as|unless|once|until|till</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>out</token>
                    <token regexp="yes">of|in|on|with|under|over|at</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Let me know as soon as <marker>its</marker> out of the meeting.</example>
                <example correction="it's">I'm very serious about covering you when <marker>its</marker> out in January.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>done</token>
                    <token regexp="yes">list|projects?|tasks?|issues?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">when|if|since|because|but|as|unless|once|until|till</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost</token>
                    <token>done</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Let me know when <marker>its</marker> done.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">to|from</token>
                    <token>its</token>
                    <token>done</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">done|sick</token>
                    <token>,</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost|so|very</token>
                    <token regexp="yes">done|sick</token>
                    <token regexp="yes">\p{P}|with(out|in)?|finally|already|almost|now|at|then|in|from|t?here|out|soon|for|because|but|when|as|until|till|before|after|of|under|over|via|through</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Let me know when <marker>its</marker> done.</example>
                <example>It harmed them with its sick, sick greed.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost</token>
                    <token postag="SENT_END">done</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Let me know when <marker>its</marker> done</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost</token>
                    <token regexp="yes">done|sick</token>
                    <token postag="VBG" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Let me know when <marker>its</marker> done making it.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN|SENT_START|CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token>it</token>
                                                <token>'s</token>
                    </marker>
                    <token chunk="B-NP-plural" min="0" postag="NNP?|NN:UN?|JJ.*" postag_regexp="yes">
                        <exception postag="PRP.*|DT" postag_regexp="yes" />
                        <exception regexp="yes">(any|every|some)(thing|body|one|where)</exception>
                        <exception regexp="yes">obvious|natural|interesting|(un)?likely|(im)?possible|(im)?probable|(un)?clear|true|false|right|wrong|(in)?correct|just|important|vital|essential|awesome|cool|time</exception>
                    </token>
                    <token chunk="E-NP-plural" postag="NN.*" postag_regexp="yes">
                        <exception>time</exception>
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk="B-VP">
                        <exception regexp="yes">&hyphen_modifier;|licensed|spotted|coded</exception>
                        <exception postag="VBG" />
                    </token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">And <marker>it's</marker> features includes many cool things.</example>
                <example correction="Its"><marker>It’s</marker> detractors claimed the opposite and it was often debated whether these houses actually helped anyone.</example>
                <example correction="its">This also means when activities are released from memory, the agent and <marker>it’s</marker> duties are unaffected.</example>
                <example correction="Its"><marker>It’s</marker> apps are absolutely nice and seem to work exactly how I would have thought about apps in Diaspora.</example>
                <example correction="its">ALTR suffered from two downgrades, even though <marker>it's</marker> earnings beat consensus estimates, and that helped pull the sector lower.</example>
                <example correction="its">I’ve seen it straight up ignore it and collect Mana that none of <marker>it’s</marker> characters need.</example>
                <example correction="its">I have the community installer but <marker>it’s</marker> apps are limited.</example>
                <example correction="its">Does the ZigBee object automatically send out events when <marker>it’s</marker> functions are used?</example>
                <example correction="its">The entire Republican Party and <marker>it’s</marker> members should be brought up on RICO charges.</example>
                <example>It’s the chemicals involved in flavoring vape juice that make it dangerous for your health.</example>
                <example>It’s like athletes based on steroids vs. those who aren’t.</example>
                <example>It’s you guys pissing on my back.</example>
                <example>It's what servants wear around here.</example>
                <example>All that said, if it’s something folks are interested in taking on themselves, they can go for it.</example>
                <example>Since it’s mains powered, the easiest thing will be to flip the breaker.</example>
                <example>It’s time reporters started emphasizing that instead just doing the usual disaster porn of mainstream news.</example>
                <example>It’s a Windows based image.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>one</token>
                    <token>sided</token>
                </antipattern>
                <antipattern><!-- it's way better (better = verb) -->
                    <token>way</token>
                    <token postag="JJR" />
                </antipattern>
                <antipattern>
                    <token>second</token>
                    <token>hand</token>
                </antipattern>
                <pattern>
                    <token postag="IN|SENT_START|CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token chunk="B-NP-singular" min="0" postag="NNP?|NN:UN?|JJ.*" postag_regexp="yes">
                        <exception postag="PRP.*|DT" postag_regexp="yes" />
                        <exception regexp="yes">(some|any)(thing|body|one)</exception>
                        <exception regexp="yes">obvious|ok(ay)?|good|natural|strange|interesting|(un)?likely|(im)?possible|(im)?probable|(un)?clear|true|false|right|wrong|(in)?correct|just|important|vital|essential|awesome|cool|time</exception>
                    </token>
                    <token chunk="E-NP-singular" postag="NN.*" postag_regexp="yes">
                        <exception regexp="yes">time|(any|every|some)(thing|body|one|where)|good|possible</exception>
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk="B-VP">
                        <exception regexp="yes">&hyphen_modifier;|licensed|spotted|coded</exception>
                        <exception postag="VBG" />
                    </token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="Its"><marker>It's</marker> cage is wonderful.</example>
                <example correction="Its"><marker>It's</marker> death rate is higher than theirs.</example>
                <example correction="Its"><marker>It's</marker> popularity is decreasing.</example>
                <example correction="Its"><marker>It’s</marker> only function is listed under Temperature.</example>
                <example correction="its">Your switch has to send an event when <marker>it’s</marker> state is changed.</example>
                <example correction="its">However, <marker>it's</marker> latest run is looking very strong.</example>
                <example>No, it’s Rocky Mountain spotted fever.</example>
                <example>It’s likely someone tried it.</example>
                <example>It's obvious Tom was lying.</example>
                <example>It’s everything documented</example>
                <example>It's natural Tom should be here.</example>
                <example>It's clear Tom likes being here in Boston.</example>
                <example>It's improbable Tom will do that.</example>
                <example>But it's one sided.</example>
                <example>TODO: Any opinions over whether the version 2 is worth the extra cost, especially if <marker>it’s</marker> only use would be to assist in the exclusion/inclusion process?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|once</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception>own</exception>
                    </token>
                    <token min="0" regexp="yes">then|,</token>
                    <token regexp="yes">please|t?here|lets?|make|do</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">If <marker>its</marker> interesting please let me know.</example>
                <example correction="it's">If <marker>its</marker> interesting let me know.</example>
                <example correction="it's">If <marker>its</marker> toxic then let it go.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">of|in|for|by|with(out|in)?|at|on|to|through|via|about|against|before|after|between|(in|out)side|from</token>
                    <token>its</token>
                    <token postag="JJ" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="JJ" />
                    <token regexp="yes">(out|in)side</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ">
                        <exception>own</exception>
                        <exception>1st</exception>
                        <exception regexp="yes">mainline|frontline|business|state|runtime|size|power|budget</exception>
                        <exception postag="NN.*|VBG" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">of|in|for|by|with(out|in)?|at|on|to|through|via|about|against|before|after|between|(in|out)side|from</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">The text should be rewritten so <marker>its</marker> readable by humans.</example>
                <example correction="It's"><marker>Its</marker> hard to tell unless you’ve been on it for a while.</example>
                <example correction="it's">So, <marker>its</marker> important to know what exactly you trying to achieve.</example>
                <example correction="it's">.. but <marker>its</marker> far from being fully functional.</example>
                <example correction="it's">I do think <marker>its</marker> still overvalued without a definite weather forecast; the only thing bullish could be the Zimmer outage.</example>
                <example>World Union Kenyan Government announced its intent to begin reforming pensions</example>
                <example>Despite sector growth contraction of 15%, AMD expects to increase its business as it expands its market share.</example>
                <example>However, the company changed its objective to siting its own power plants.</example>
                <example>Azerbaijan has signed numerous contracts to strengthen its armed forces and to train its military with Turkey's assistance.</example>
                <example>It’s on its way back for the second time now.</example>
                <example>Many of the ethical concerns regarding eugenics arise from its controversial past.</example>
                <example>The ability of astronomers to track the positions and movements of such celestial bodies is crucial to the understanding of the Solar System and its interrelated past, present, and future with others in the Universe.</example>
                <example>The system's total magnitude varies from 12th magnitude at its dimmest to 8th magnitude at its brightest.</example>
                <example>The Conference Board, a private business research group, said its index of consumer confidence plunged for a fourth straight month to 85.5 in October, its lowest since February 1994.</example>
                <example>With the closing of this fund, its largest to date, InterWest Partners will have a total of $1.6 billion of capital.</example>
                <example>If accepted by the Quebec Energy Board, the rise will be its 1st in 5 years.</example>
                <example>The poll found the novel has its strongest following among women.</example>
                <example>Google cut its staff by 23%.</example>
                <example>He might have supposed the bull had been arrested in its career by a thunderbolt.</example>
                <example>Enron APACHE's ability to shape policies relating to its business by raising the profile...</example><!-- #3282 -->
                <example>Since its beginning in 1970, WalkAmerica has raised more than $1 billion to help give babies a fighting chance.</example><!-- #3291 -->
                <example>The magazine conducts its ranking by surveying the salaries of MBAs who graduated in 1996.</example><!-- #3291 -->
                <example>...esident Bush noted that the US would do its part by stimulating its economy and kee...</example><!-- #3292 -->
                <example>You will have guessed its meaning by the end of the chapter.</example><!-- #3291 -->
                <example>Its powerful outside law firm, signed off on them.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>'s</token>
                    <token regexp="yes">kind|sort|one|two|three|four</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">one|two|three|four</token>
                    <token>for</token>
                </antipattern>
                <antipattern>
                    <token>part</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token>at</token>
                    <token regexp="yes">this|that</token>
                    <token>point</token>
                </antipattern>
                <antipattern>
                    <token>dinner</token>
                    <token>for</token>
                    <token regexp="yes">one|two|three|all</token>
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token>none</token>
                    <token>of</token>
                </antipattern>
                <antipattern><!-- hoping it's nobody from my team. / think it's oil under the pump. -->
                    <token>it</token>
                    <token postag="VBZ">'s</token><!-- No chunk information -->
                    <token chunk="E-NP-singular" postag="NN:U"/>
                    <token postag="IN"/>
                    <token chunk_re="B-NP-(singular|plural)"/>
                    <token min="0" max="4" chunk_re="I-NP-(singular|plural)"/>
                    <token chunk_re="E-NP-(singular|plural)"/>
                    <token postag_regexp="yes" postag="SENT_END|PCT"/>
                </antipattern>
                <pattern>
                    <token chunk_re="[BI]-VP" postag_regexp="yes" postag="VB.*"/>
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                        <token postag="NN|NN:UN?" postag_regexp="yes" chunk="E-NP-singular">
                            <exception regexp="yes">time|work|fun|(any|some|every|no)(thing|body|one)|summer|winter</exception>
                            <exception postag="JJ[RS]|CD" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token postag="IN" />
                    <token chunk_re="B-NP-(singular|plural)"/>
                </pattern>
                <message>It seems that the possessive pronoun "its" fits better in this context.</message>
                <suggestion>its \4</suggestion>
                <example correction="its claw">The cat has just stuck <marker>it's claw</marker> in my arm.</example>
                <example correction="its name">Burns Inc. changed <marker>it's name</marker> to BMO Nesbitt Burns Inc.</example>
                <example correction="its boost">YHOO got <marker>it's boost</marker> from the purchase of XCIT by @Home.</example>
                <example correction="its name">Say <marker>it’s name</marker> for example.</example>
                <example correction="its place">He’s still in the situational bracket, having <marker>it’s place</marker> above Stonehammer.</example>
                <example correction="its way">This plowed <marker>it’s way</marker> to #1 on PS4 last week.</example>
                <example correction="its size">It looks at the frontmost window frame, compares <marker>it's size</marker> to one of the other two desired sizes.</example>
                <example correction="its type">Go into the IDE and change <marker>it’s type</marker> to Aeon Motor Controller.</example>
                <example correction="its reliability">Part of what makes the ADT Smarthings panel so appealing is <marker>it’s reliability</marker> for the security alarm and local processing for sensors and such.</example>
                <example correction="its version">has Synthetics upgraded <marker>it’s version</marker> since May 2016?</example>
                <example correction="its subscription">But if we don’t cancel the old account and keep <marker>it’s subscription</marker> as it was you will have access to all the data.</example>
                <example correction="its oil">I'm hoping <marker>it's oil</marker> from the condenser is pure.</example><!-- Clunky example, but MFU could not think of a better one -->
                <example correction="its oil">We think <marker>it's oil</marker> under the pump shows that there is damage to the pipe.</example><!-- Clunky example, but MFU could not think of a better one -->
                <example>It's a presidential election year in the United States, and that means it's time for me to "get involved.</example>
                <example>I think it’s part of the reason I had no fear growing up.</example>
                <example>I think it's clearer to me now what you want.</example>
                <example>I think it’s time to panic.</example>
                <example>Just pretend it’s dinner for two.</example>
                <example>I think it’s time to panic.</example>
                <example>"I think it's five for five now."</example>
                <example>I think it’s one of those things that takes practice.</example>
                <example>I figure it’s something along the lines of:</example>
                <example>I guess it's time for animals.</example>
                <example>I know it's none of my business.</example>
                <example>As someone who saw it, well, let's just say it's one for the kiddies.</example>
                <example>I'm hoping it's nobody from my team.</example><!-- Also Premium #2318 -->
                <example>We think it's oil under the pipe.</example><!-- Also Premium #2318 -->
            </rule>
            <rule>
                <pattern>
                    <token postag="IN">
                        <exception regexp="yes">like|unless</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes">it</token>
                        <token>'s</token>
                        <token postag="NNS?|NN:UN?" postag_regexp="yes">
                            <exception postag="JJ.*|RB.*|VBN" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>It seems that the possessive pronoun "its" fits better in this context.</message>
                <suggestion>its \4</suggestion>
                <example correction="its message">Obviously, you identified with <marker>it's message</marker>.</example>
                <example correction="its aspect">I defend it because that’s what makes it unique in <marker>it’s aspect</marker>.</example>
                <example correction="its term">Since we always aim to please the customer, here is my recommendation for handling the contract through <marker>it's term</marker>.</example>
                <example correction="its butt">You owned a doll with 'Xavier Roberts' signed on <marker>it's butt</marker>.</example>
                <example correction="its grace">And thank God for <marker>it's grace</marker>.</example>
                <example>It drinks oil like it’s water.</example>
                <example>It's not over until it's over.</example>
                <example>Unless <marker>it's</marker> homework.</example>
                <example>as soon as it's known</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token postag="JJ" />
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VB.*" postag_regexp="yes" chunk="B-VP" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="NN.*|JJ" postag_regexp="yes" />
                    <token>,</token>
                    <token min="0">and</token>
                    <token postag="NN.*|JJ" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>that</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBG" />
                    <token postag="JJ.*|IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I can confirm that <marker>its</marker> writing fine now.</example>
                <example correction="it's">Does this mean it's working, or that <marker>its</marker> sending?</example>
                <example correction="it's">While I see that <marker>its</marker> working in the list of monitors, there is nothing in any other section.</example>
                <example correction="it's">That’s important because if it gets colder than that <marker>its</marker> not going to put out the rated CCA.</example>
                <example correction="it's">The best indication my building is ok is that <marker>its</marker> standing, and that it's contemporaires are all standing as well.</example>
                <example>Goldman decided shortly thereafter that its competing business interests posed a conflict.</example>
                <example>The ad drew criticism from several leading U.S. conservatives, who suggested that its messaging implied that President Barack Obama deserved a second term.</example>
                <example>Assuming a single downgrade in credit rating, DYN disclosed that its existing business would require $301MM in collateral ...</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">that|this|it</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">means?</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="VBG|JJ" postag_regexp="yes" />
                    <token postag="CC|IN|TO|PCT|JJ" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Does this mean <marker>its</marker> going?</example>
                <example correction="it's">Does this mean <marker>its</marker> working?</example>
                <example correction="it's">That means <marker>its</marker> expected to be available in June.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token>it</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token postag="NNS|NN|NN:UN?" postag_regexp="yes">
                        <exception postag="VB.*|RB|W.*|MD|CC"  postag_regexp="yes" />
                        <exception regexp="yes">wont|cant|auto|re</exception>
                    </token>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">Firstly <marker>it</marker> users need to understand that it can't be free forever.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN" />
                    <token>its</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="CD" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token regexp="yes">old|high|long</token>
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> only 1 year old.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk="B-VP">
                        <exception regexp="yes" inflected="yes">think|hope|believe|doubt|assume|know|say|guess|means</exception>
                        <exception>cause</exception><!-- used for "because" -->
                    </token>
                    <marker>
                        <token>it</token>
                                                <token>'s</token>
                    </marker>
                    <token regexp="yes" postag_regexp="yes" chunk="B-NP-singular">
                        first|second|third|previous|upcoming|last|final|next|full|internal|low|high|main|maximum|minimum|highest|lowest
                    </token>
                    <token postag="NN.*" postag_regexp="yes" chunk="E-NP-singular">
                        <exception postag="RB" />
                        <exception regexp="yes">right|time|fun</exception>
                    </token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">Let me know when the market attempts <marker>it's</marker> first rally, which it will always do after a number of days.</example>
                <example>Mennad says it's cold outside.</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception regexp="yes">long|soon</exception>
                    </token>
                    <token>as</token>
                    <marker>
                        <token>it</token>
                                                <token>'s</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk="E-NP-singular" />
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">The battery will perform as good as <marker>it’s</marker> worst cell.</example>
                <example>Wake me up as soon as it's light.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>'s</token>
                    <token>new</token>
                    <token regexp="yes">years?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">come|calm</token>
                    <token>down</token>
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token postag="IN">
                        <exception>since</exception>
                    </token>
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token postag_regexp="yes" postag="JJS?" chunk="B-NP-singular">
                        <exception postag="CD" />
                    </token>
                    <token postag_regexp="yes" postag="NN.*" chunk="E-NP-singular">
                        <exception regexp="yes">(some|any|every)(thing|one|body)|today|tomorrow|yesterday|(out|in)(side|doors?|wards?)</exception>
                    </token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">It is trading at <marker>it's</marker> highest level.</example>
                <example>While it’s possible someone here may recognise the issue, it’s unlikely and is not particularly relevant to Atom.</example>
                <example>Also moved the topic since it’s more gameplay than trouble support.</example>
                <example>Since it's cold outside, you'd better put your overcoat on.</example>
                <example>I'll put the frankfurters and meatballs into the oven now, as it's New Year's eve.</example>
                <example>Calm down it's just rain.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token>its</token>
                    <token regexp="yes">(play|show)?time</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0" regexp="yes">finally|eventually|already|now|really|totally|absolutely|due</token>
                    <token regexp="yes">(play|show)?time</token>
                    <token regexp="yes">we|they|you|s?he|I|to|for</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> time you bring home the cup!</example>
                <example>Wilkins is expected back Sunday from a quadriceps injury that took its time to heal.</example>
            </rule>
            <rule>
                <antipattern><!-- It's wood right? -->
                    <token>'s</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token>right</token>
                </antipattern>
                <pattern>
                    <token chunk="B-VP">
                        <exception regexp="yes" inflected="yes">hope|think|guess|know|believe|say|see|assume|mean|swear</exception>
                    </token>
                    <marker>
                        <token>it</token>
                                                <token>'s</token>
                    </marker>
                    <token postag="JJ|NNP?|NN:UN?" postag_regexp="yes" min="0" chunk="B-NP-singular">
                        <exception>just</exception>
                    </token>
                    <token chunk="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes">
                        <exception regexp="yes">time|nothing</exception>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">When this train starts rolling, it really blows <marker>it’s</marker> horn!</example>
                <example correction="its">Why does Google filter <marker>it's</marker> content?</example>
                <example correction="its">That means it’s probably working and doing <marker>it’s</marker> job.</example>
                <example correction="its">If I am making a child device, what is <marker>it's</marker> parent?</example>
                <example correction="its">How does Apple make <marker>it's</marker> money?</example>
                <example correction="its">Another takes <marker>it’s</marker> place.</example>
                <example correction="its">For those of you with high risk tolerance, please note that Nokia jumped $9 the day it announced <marker>it's</marker> last split.</example>
                <example>I honestly suspect it’s this.</example>
                <example>I hope it’s 15.</example>
                <example>I swear it's nothing.</example>
                <example>I guess that means it's game night.</example>
                <example>Everyone knows it's Tom.</example>
                <example>I guess it’s anger.</example>
                <example>It’s wood right?</example>
                <example>Once you have both window and screen coordinates it’s just math.</example>
            </rule>
            <rule>
                <antipattern><!-- It's wood right? -->
                    <token>'s</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token>right</token>
                </antipattern>
                <pattern>
                    <token chunk="I-VP">
                        <exception regexp="yes" inflected="yes">hope|think|guess|know|believe|say|see|assume|mean</exception>
                    </token>
                    <marker>
                        <token>it</token>
                                                <token>'s</token>
                    </marker>
                    <token postag="JJ|NNP?|NN:UN?" postag_regexp="yes" min="0" chunk="B-NP-singular">
                        <exception>just</exception>
                    </token>
                    <token chunk="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes">
                        <exception>time</exception>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">Google should filter <marker>it's</marker> content.</example>
                <example correction="its">We want to monitor <marker>it’s</marker> expiration.</example>
                <example correction="its">It has done <marker>it’s</marker> job.</example>
                <example correction="its">I can’t get it to recognize <marker>it’s</marker> state.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">think|hope|guess|suppose|say|believe|assume|doubt</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(any|some|every|no)(thing|body|one)</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> someone else's problem.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token>its</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes" min="0">high|due|finally|already|now|about</token>
                    <token regexp="yes">(show)?time</token>
                    <token regexp="yes">[\.\!\?\,\;\:\…]</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> time!</example>
                <example>It already contributed most of its time.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>it</token>
                    <token regexp="yes">infrastructure|plannings?|meetings?|support|development</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes">
                        <exception postag="VB.*" postag_regexp="yes" />
                        <exception>why</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="RB.*" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">was|is</token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="Its"><marker>It</marker> face was red.</example>
                <example>It sure was.</example>
                <example>IT infrastructure is something that could be outsourced.</example>
                <example>The reason why it fell is not clear yet.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">maybe|perhaps|probably|usually|normally|naturally|hopefully|luckily</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="JJ" /><!-- worth-->
                    <token postag="IN|TO|PCT" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">Maybe <marker>its</marker> worth to check the full document.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token postag="NNP" skip="-1" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="UH" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token min="0">,</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP">
                        <exception postag="NNS?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> Google not Microsoft.</example>
                <example correction="it's">Hey, <marker>its</marker> Katie.</example>
                <example correction="it's">Yay <marker>its</marker> Monday!</example>
                <example>Its CEO resigned in December.</example>
                <example>Its API was incompatible with Windows.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="UH" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token min="0">,</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP">
                        <exception postag="NNS?|NN:UN?" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">from|with(out)?|not|but|because|'s</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> Google not Facebook.</example>
                <example correction="it's">Hey, <marker>its</marker> Katie from finance.</example>
                <example correction="It's"><marker>Its</marker> Jackson but you can call me Jack.</example>
                <example correction="It's"><marker>Its</marker> Jackson's car.</example>
                <example>Its Chancellor, Robert Hutchins, structured the school as an "ideal meritocracy," with no age requirement.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token postag="NNP" skip="-1" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">think|hope|assume|doubt|guess</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP">
                        <exception postag="NNS?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I hope <marker>its</marker> Google not Microsoft.</example>
                <example correction="it's">I think <marker>its</marker> Katie.</example>
                <example correction="it's">I think <marker>its</marker> March 6.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">think|hope|assume|doubt|guess</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP">
                        <exception postag="NNS?|NN:UN?" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">from|with(out)?|not|but|because|'s</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> Katie from finance.</example>
                <example correction="it's">I think <marker>its</marker> Jackson's car.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">am|pm</token>
                    <token regexp="yes">,|\.|\!|\?|…|and|&amp;|in|on|at|but|for|with(out|in)?|because|now|t?here</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> 2 pm in Germany right now.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">[ap]</token>
                    <token>.</token>
                    <token>m</token>
                    <token>.</token>
                    <token regexp="yes">,|\.|\!|\?|…|and|&amp;|in|on|at|but|for|with(out|in)?|because|now|t?here</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> 2 p.m. in Germany right now.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">\d+</token>
                    <token>:</token>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">,|\.|\!|\?|…|and|&amp;|in|on|at|but|for|with(out|in)?|because|now|t?here</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> 14:00 here.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <marker>
                        <token>its</token>
                    </marker>
                    <token min="0" regexp="yes">not|really|very|totally|absolutely|finally|almost|pretty</token>
                    <token regexp="yes">(in)?correct|important|crazy|insane|wrong|right|broken|working|going|doing|true|t?here|cool|great|awesome|done|ugly|ok(ay)?|new|free|mine</token>
                    <token min="0">,</token>
                    <token postag="UH|RB" postag_regexp="yes">
                        <exception regexp="yes">check|home|way|moment|while|sudden</exception>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> wrong ugh.</example>
                <example correction="It's"><marker>Its</marker> crazy, yeah!</example>
                <example correction="It's"><marker>Its</marker> doing well.</example>
                <example>In addition to more theological schools, Zaytuna College has taken 'Holy Hill' as its new home.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token>like</token>
                    <token postag="VBG|DT" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> like having a grammar friend everwhere I go.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">
                        think|hope|believe|doubt|assume|know
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token>like</token>
                    <token postag="VBG|DT" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> like having a grammar friend everwhere I go.</example>
            </rule>
            <rule>
                <pattern>
                    <token>that</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="VBG" />
                    <token postag="RB" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I'm sure that <marker>its</marker> working fine.</example>
            </rule>
            <rule>
                <pattern>
                    <token>that</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="VBG" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I'm sure that <marker>its</marker> working.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|once|until|till|although|but|before|after|since|as</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">in|at|on|above|below|underneath|under|over|beyond|with(in)?|ahead|after|before</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">It will only be rendered when <marker>its</marker> in the viewport.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|once|until|till|although|but|before|after|since|as</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">ahead|out</token>
                    <token>of</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I will go crazy when <marker>its</marker> out of control.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|once|until|till|although|but|before|after|since|as</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>on</token>
                    <token>top</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I will go crazy when <marker>its</marker> on top of it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">(some|any|every|no)(one|thing|body|time)|.*time|.*work|.*fun|.*news|(un)?likely|(im)?possible|(un)?clear|obvious|good</token>
                </antipattern>
                <pattern>
                    <token postag="PCT|CC|SENT_START" postag_regexp="yes">
                        <exception>as</exception>
                    </token>
                    <marker>
                        <token>it</token>
                                                <token>'s</token>
                    </marker>
                    <token postag="NN(:UN?)?|JJ.*" postag_regexp="yes" chunk_re="B-NP.*">
                        <exception postag="RB" />
                        <exception postag="JJR" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NNP" />
                        <exception regexp="yes" case_sensitive="yes">[A-Z].+</exception>
                    </token>
                    <token postag="VB[^G]*" postag_regexp="yes" chunk_re="B-VP.*" />
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">Clearly, <marker>it's</marker> design flaws have a negative impact on our sales figures.</example>
                <example>Clearly, <marker>it's</marker> corporate management doing the hiring and firing of auditors.</example>
                <example>It’s likely someone tried it.</example>
                <example>It's obvious Tom was lying.</example>
                <example>It’s just ignorance matched with vanity.</example>
                <example>It's something few have pointed out.</example>
                <example>It’s time reporters started emphasizing that instead.</example>
                <example>It’s very nerve wrecking to start with a new one.</example>
                <example>It’s good NR is tracking customer feature requests.</example>
                <example>it’s likely raccoons tried to get to the bait.</example>
            </rule>
            <rule><!-- I think its working like a charm -->
                <pattern>
                    <token regexp="yes" inflected="yes" chunk_re=".-VP">think|hope|believe|doubt|assume</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBG" />
                    <token postag="IN">
                        <exception>past</exception>
                    </token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I think <marker>its</marker> working as expected.</example>
            </rule>
            <rule>
                <pattern>
                    <token>for</token>
                    <token>all</token>
                    <marker>
                        <token regexp="yes">its?</token>
                    </marker>
                    <token>worth</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">For all <marker>its</marker> worth.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">as|once|before|since|while|untill?</token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token regexp="yes">required|needed</token>
                    <token postag="RB" min="0" />
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="it's">I'll be in contact with development and ask for more as <marker>its</marker> needed.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" chunk_re=".-VP" inflected="yes">think|hope</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ii]t</token>
                        <token regexp="yes" postag="DT|PRP\$" postag_regexp="yes">the|an?|my|his|her|their|y?our|its</token>
                    </marker>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is \3</suggestion>
                <example correction="it is the">I think <marker>it the</marker> best solution.</example>
                <example correction="it is a">Do you think <marker>it a</marker> bad thing?</example>
                <example correction="it is my">I thought <marker>it my</marker> duty to tell you the truth.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|PCT|SENT_START|DT" postag_regexp="yes" />
                    <marker>
                        <token>its</token>
                    </marker>
                    <token>like</token>
                    <token postag="JJ.*|CD|DT|NN.*|PRP\$" postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                    <token postag="JJ.*|CD|NN.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="PRP_S.*|NN.*|EX" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN" />
                    </token>
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> like you don't care.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <token postag="IN" chunk_re="B-SBAR|B-PP" />
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="IN" chunk="B-PP" />
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context.</message>
                <example correction="its">He had an interesting article written about <marker>it's</marker> trials in selling printers to China.</example>
            </rule>
        </rulegroup>
        <rule id="CC_IT_VBG" name="'it' vs. 'its' after 'and'">
            <pattern>
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token postag="PRP\$|DT" postag_regexp="yes" min="0" />
                <token postag="NNP?" postag_regexp="yes" />
                <token regexp="yes">and|or</token>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    <token min="0">'s</token>
                </marker>
                <token postag="VBG" />
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="JJ" />
                </token>
            </pattern>
            <message>&its;</message>
            <example correction="its">My dog and <marker>it's</marker> surrounding friends.</example>
            <example correction="its">Adelaide and <marker>it</marker> surrounding areas has hosted the Tour Down Under bicycle race.</example>
            <example>Yes, I was outside and it's raining cats and dogs.</example>
        </rule>
        <rulegroup id="WED_WE_D" name="wed (we'd)">
            <rule>
                <pattern>
                    <marker>
                        <token>wed</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag_regexp="yes" postag="VB[PN]?"/>
                </pattern>
                <message>Did you mean <suggestion>we'd</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="We'd"><marker>Wed</marker> gone so far.</example>
                <example correction="we'd">Actually, <marker>wed</marker> love to do this!</example>
                <example>We'd love to eat ice cream!</example>
                <example>Wed is my favorite day.</example>
                <example correction="We'd"><marker>Wed</marker> only be happy if there's enough ice cream!</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>wed</token>
                    </marker>
                    <token regexp="yes">better|never|rather|probably|normally|ordinarily</token>
                </pattern>
                <message>Did you mean <suggestion>we'd</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="we'd">Really, <marker>wed</marker> better hurry!</example>
                <example>We'd love to eat ice cream!</example>
            </rule>
        </rulegroup>

        <rule id="WRONG_GENITIVE_APOSTROPHE" name="wrong genitive (e.g., 'employees's' instead of 'employee's')">
            <pattern case_sensitive="yes">
                <token postag="NNS" regexp="yes">[a-z]+s<exception postag="NNP"/></token>
                <token>'s</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag_regexp="yes" postag="NN(:UN?)?"/>'s</suggestion> or <suggestion>\1'</suggestion>?</message>
            <example correction="employee's|employees'">This was the <marker>employees's</marker> decision.</example>
            <example correction="sanctuary's|sanctuaries'">Within national marine <marker>sanctuaries's</marker> protected waters, giant humpback whales breed.</example><!-- Premium #1795 -->
            <example>The actress's role was pretty small.</example>
            <example>Mr. Lewis's dog bit me yesterday.</example>
            <example>People's Republic of China</example>
        </rule>
      <rulegroup id="MISSING_GENITIVE" name="missing genitive (e.g., 'employee's' instead of 'employee')">
        <!-- Created by Tiago F. Santos, 2018-11-22 -->
        <url>https://www.ef.edu/english-resources/english-grammar/forming-possessive/</url>
        <rule>
            <antipattern>
                <token>HTTP</token>
                <token>code</token>
            </antipattern>
            <antipattern>
                <token>Alexa</token>
                <token>rank</token>
            </antipattern>
            <antipattern>
                <token>API</token>
                <token>access</token>
            </antipattern>
            <antipattern><!-- www.merriam-webster.com/dictionary/Creutzfeldt-Jakob%20disease -->
                <token>Creutzfeldt-Jakob</token>
                <token>disease</token>
            </antipattern>
            <antipattern><!-- www.merriam-webster.com/dictionary/Grignard%20reagent -->
                <token>Grignard</token>
                <token>reagents</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">Facebook|LinkedIn|Twitter|TikTok|Google|Instagram|WhatsApp</token>
                <token regexp="yes">Ads?|Profiles?|Accounts?|Stor(ies|y)</token>
            </antipattern>
            <antipattern>
                <token>Wix</token>
                <token regexp="yes">sites|domains</token>
            </antipattern>
            <antipattern>
                <token>Ebola</token>
                <token regexp="yes">virus|fever</token>
            </antipattern>
            <antipattern>
                <token>GDPR</token>
                <token>compliance</token>
            </antipattern>
            <antipattern>
                <token>UN</token>
                <token regexp="yes">resolutions?</token>
            </antipattern>
            <antipattern>
                <token>kobe</token>
                <token regexp="yes">steaks?|meat</token>
            </antipattern>
            <antipattern>
                <token>hadley</token>
                <token regexp="yes">cells?</token>
            </antipattern>
            <antipattern>
                <token>Sahara</token>
                <token>desert</token>
            </antipattern>
            <antipattern>
                <token>Kevlar</token>
                <token regexp="yes">fibre|fiber</token>
            </antipattern>
            <antipattern>
                <token postag="NNP" />
                <token postag="NNS" />
                <token>please</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">[A-Z][A-Z]+</token>
            </antipattern>
            <antipattern><!-- Marie use to love poetry. Found by USE_TO_VERB -->
                <token postag="NNP"/>
                <token>use</token>
                <token>to</token>
                <token chunk_re=".-VP"/>
            </antipattern>
            <pattern case_sensitive="yes">
              <token postag='SENT_START'/>
              <marker>
                <token postag="NNP">
                  <exception regexp="yes">\p{L}+s|Klan|@.+|Los|iPad|iPod|iPhone|iMac</exception>
                  <exception negate_pos='yes' postag="NNP"/>
                </token>
                <token postag="NN.+"  postag_regexp='yes'>
                  <exception regexp='yes'>\p{Lu}\p{L}+</exception>
                  <exception postag='NNP'/>
                  <exception negate_pos='yes' postag_regexp='yes' postag="NN.+"/>
                  <exception>plc</exception>
                </token>
              </marker>
            </pattern>
            <message>The genitive ('s) may be missing.</message>
            <suggestion>\2's \3</suggestion>
            <example correction="Angela's idea"><marker>Angela idea</marker> is good.</example>
            <example>Klan members adopted masks and robes that hid their identities.</example>
            <example>HTTP code 414 is not caused by authentication issues.</example>
            <example>Creutzfeldt-Jakob disease: A very rare and incurable degenerative ...</example>
            <example>Grignard reagents react with carbonyl groups to secondary and...</example>
            <example>Aon plc is a British multinational corporation headquartered in London, England.</example>
            <example type="triggers_error">Hollywood films are primarily featured at cinemas owned by...</example>
            <example type="triggers_error">Audi cars of that era were luxurious cars equipped with...</example>
            <example type="triggers_error">California almonds labeled "raw" must be steam-pasteurized or...</example>
            <example>@foobar anything we can do about this?</example>
            <example>CES schedulers please note that you do not have to save copy of this file.</example>
            <example>ST magazines wishing to cater to the entire audience.</example>
            <example>Marie use to love poetry.</example>
        </rule>
        <rule>
            <pattern case_sensitive="yes">
                <token postag='SENT_START'/>
              <marker>
                <token postag="NNP" regexp='yes'>\p{L}+s|Los|iPad|iPod|iPhone|iMac
                  <exception negate_pos='yes' postag="NNP"/>
                  <exception regexp="yes">@.+</exception>
                </token>
                <token postag="NN.+"  postag_regexp='yes'>
                  <exception regexp='yes'>\p{Lu}\p{L}+</exception>
                  <exception postag='NNP'/>
                  <exception negate_pos='yes' postag_regexp='yes' postag="NN.+"/></token>
              </marker>
            </pattern>
            <message>The genitive ('s or s') may be missing.</message>
              <suggestion>\2' \3</suggestion>
              <suggestion>\2's \3</suggestion>
            <example correction="Fergus' idea|Fergus's idea"><marker>Fergus idea</marker> is good.</example>
        </rule>
      </rulegroup>
        <rulegroup id="WHOS" name="who's (whose)">
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <antipattern>
                <token case_sensitive="yes">WHO</token><!-- world health org -->
            </antipattern>
            <rule>
                <antipattern><!-- about who's happy and -->
                    <token postag="IN"/>
                    <token>who</token>
                    <token>'s</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="CC"/>
                </antipattern>
                <antipattern><!-- for who's perfect? -->
                    <token postag="CC">for</token>
                    <token>who</token>
                    <token>'s</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token>?</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="IN"/>
                    <marker>
                        <token>who</token>
                    <token>'s</token>
                    </marker>
                    <token>
                        <exception>there</exception><!-- Premium #1795 -->
                        <exception postag="IN"/>
                        </token>
                </pattern>
                <message>Did you mean <suggestion>whose</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="whose">By <marker>who's</marker> standards?</example>
                <example correction="whose">What do you know about <marker>who's</marker> car that is?</example>
                <example correction="whose">But for <marker>who's</marker> benefit are you doing this?</example>
                <example correction="whose">... and not surprisingly, for <marker>who's</marker> perfect performance the medal was awarded.</example>
                <example correction="whose">She was a teacher under <marker>who's</marker> unusually effective tutelage the students excelled.</example>
                <example>Those <marker>whose</marker> money was stolen are free.</example>
                <example>Let's go inside and have a look at who's there.</example><!-- Premium #1795 -->
                <example>Have a guess at who's in the competition.</example>
                <example>What do you know about who's happy and who's sad?</example>
                <example>Learn to forgive, for who's perfect?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">those|many|some</token>
                    <marker>
                        <token>who</token>
                    <token>'s</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>whose</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="whose">Those <marker>who's</marker> highest level of education...</example>
                <example>Those whose money was stolen are free.</example>
            </rule>
            <rule>
                <antipattern><!-- Premium #1795 -->
                    <token>'s</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="RB"/>
                    <token postag_regexp="yes" postag="PCT|CC"/>
                </antipattern>
                <antipattern><!-- #3182 anybody who's able to -->
                    <token>'s</token>
                    <token>able</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- tell who's innocent -->
                    <token chunk="B-VP" postag="VBP"/>
                    <token>who</token>
                    <token spacebefore="no">'s</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                </antipattern>
                <antipattern><!-- Tom is the one who's rich. -->
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-singular" />
                    <token>who</token>
                    <token>'s</token>
                    <token postag="JJ.*" postag_regexp="yes"/>
                    <token postag="RB" min="0" />
                    <token postag_regexp="yes" postag="PCT|CC|IN|TO" />
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token postag="JJ.*" postag_regexp="yes" chunk="B-ADJP" />
                    <token postag_regexp="yes" postag="PCT|CC|IN|TO" />
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token postag="RB.*" postag_regexp="yes" chunk="B-ADJP" />
                    <token postag="JJ.*" postag_regexp="yes" chunk="I-ADJP" />
                    <token postag_regexp="yes" postag="PCT|CC|IN|TO" />
                </antipattern>
                <antipattern>
                    <token>doctor</token>
                    <token>who</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">(some|any|every)(one|body)|one</token>
                    <token>who</token>
                    <token>'s</token>
                    <token postag="JJ" chunk="E-NP-singular" />
                </antipattern>
                <pattern>
                    <token postag_regexp="yes" postag="NN.*" />
                    <marker>
                        <token>who</token>
                    <token>'s</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*">
                        <exception postag="IN" /><!-- Premium #1795 -->
                        <exception regexp="yes">(any|some|every)(one|body|thing)|nothing</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>whose</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="whose">These are people <marker>who's</marker> lives are important.</example>
                <example correction="whose">We have one family (single mom with four children) who has a boy <marker>who's</marker> birthday is tomorrow.</example>
                <example correction="whose">I’ve taken over a project <marker>who’s</marker> certificate has recently expired.</example>
                <example correction="whose">Somebody <marker>who’s</marker> brain is working come and clarify this, please!</example>
                <example>These are people <marker>whose</marker> lives are important.</example>
                <example>Tom doesn't know anybody who's able to do that.</example><!-- #3182 -->
                <example>The person who's able to help isn't here now.</example><!-- #3182 -->
                <example>How can you tell who's innocent and who's guilty?</example>
                <example>If you say who's good and who's bad at these tasks, I'll assign the work.</example>
                <example>Tom is the only one who's still there.</example><!-- Premium #1795 -->
                <example>I have to see who's in there.</example><!-- Premium #1795 -->
                <example>Tom is the one who's rich.</example>
                <example>Tom is the only person who's rich.</example>
                <example>Guess who's behind you.</example>
                <example>We want a woman who's good at cooking.</example>
                <example>Tom is the only one who's drunk.</example>
                <example>I know somebody who's perfect for the job.</example>
                <example>I won't quit until we find out who's responsible.</example>
                <example>Yep, though it’s just one character who’s creepy.</example>
                <example>Just a question for anyone who’s familiar with throwing.</example>
                <example>I'm not the one who's sick.</example>
                <example>Tom has a daughter who's pretty tall.</example>
                <example>Dan, Tomcat's a good guy who's eager to work his way up on an energy trading floor.</example>
                <example>Everybody who's anybody will be there.</example>
                <example>I showed Tom who's boss.</example>
                <example>The one who's rich is my friend:</example>
                <example type="triggers_error">Nope, it’s still hard as Hell; ask anyone who’s part of the working poor.</example>
            </rule>
            <!-- who's .*/NN::word=whose \1::pivots=who's,whose -->
            <rule id="WHOS_NN" name="whos NN (possessive)">
                <antipattern case_sensitive="yes">
                    <token>WHO</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>Who</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>home</token>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token>who</token>
                    <token>'s</token>
                    <token regexp="yes">kind|sort</token>
                </antipattern>
                <pattern>
                    <token>who</token>
                    <token spacebefore="no">'s</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes">
                        <exception postag="NN|NN:UN?" postag_regexp="yes" negate_pos="yes"/>
                        <exception>right</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>whose <match no="3"/></suggestion>?</message>
                <example correction="whose banana">Do we know <marker>who's banana</marker> this is on the table?</example>
                <example>For a person who's wrong frequently, it's nice to be right.</example>
                <example>DDT remains on WHO's list of insecticides recommended for IRS.</example>
                <example>Who's home?</example>
                <example>So who's right?</example>
            </rule>
            <!-- whose .*/DT::word=who's \1::pivots=whose,who's -->
            <rule id="WHOSE_DT" name="whose DT (possessive)">
                <antipattern><!-- I wonder whose these beautiful flowers on the counter are. -->
                    <token>whose</token>
                    <token skip="-1" regexp="yes">this|that|these|those</token>
                    <token regexp="yes">be|is|are|was|were|been</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>whose</token>
                    </marker>
                    <token postag="DT">
                        <exception postag="DT" negate_pos="yes"/>
                        <exception>many</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>who's</suggestion>?</message>
                <example correction="Who's"><marker>Whose</marker> the boss around here?</example>
                <example>I was wondering whose those were.</example>
                <example>She keeps asking whose this is.</example>
                <example>I wonder whose these beautiful flowers on the counter are.</example>
                <example>The most valuable part of the beaver is its inner fur whose many minute barbs make it excellent for felting, especially for hats.</example>
            </rule>
            <!-- who's actual::word=whose actual::pivots=who's,whose::options=who's,whose -->
            <rule id="WHOS_ACTUAL" name="who's actual (possessive)">
                <pattern>
                    <marker>
                        <token>who</token>
                    <token>'s</token>
                    </marker>
                    <token regexp="yes">actual|name|previous</token>
                </pattern>
                <message>Did you mean <suggestion>whose</suggestion>?</message>
                <example correction="Whose"><marker>Who's</marker> actual job is it to make copies around here?</example>
                <example>Whose actual job is it to get coffee around here?</example>
            </rule>
            <rule id="WHOS_TO" name="who's PREPOSITION">
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>whose</token>
                    </marker>
                    <token postag="IN"/>
                </pattern>
                <message>Did you mean <suggestion>Who's</suggestion>?</message>
                <example correction="Who's"><marker>Whose</marker> at the door?</example>
                <example correction="Who's"><marker>Whose</marker> on first base?</example>
            </rule>
        </rulegroup>
        <rulegroup id="NO_WHERE" name="no where (nowhere)">
            <url>https://www.merriam-webster.com/dictionary/nowhere</url>
            <rule>
                <pattern>
                    <token>out</token>
                    <token>of</token>
                    <marker>
                        <token regexp="yes">now?</token>
                        <token regexp="yes">wh?ere</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">He came out of <marker>no where</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">from|to</token>
                    <marker>
                        <token>no</token>
                        <token regexp="yes">wh?ere</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">It just comes from <marker>no where</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|have</token>
                    <marker>
                        <token regexp="yes">now?</token>
                        <token>where</token>
                    </marker>
                    <token postag="PCT|TO|IN|CC|JJR" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">The book is <marker>no where</marker> to be found.</example>
                <example correction="nowhere">He has <marker>no where</marker> to go.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>no</token>
                        <token>where</token>
                    </marker>
                    <token>near</token>
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="Nowhere"><marker>No where</marker> near as serious.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">now?</token>
                        <token>where</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">He came from a <marker>no where</marker> town.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="2" regexp="yes">travel|drive|get|fly|walk|hike|way|wander|live|go|find</token>
                    <marker>
                        <token>no</token>
                        <token>where</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">I'm travelling to <marker>no where</marker>.</example>
                <example>I just get numbers now where I used to get names.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">now?</token>
                    <token>where</token>
                    <token skip="1">in</token>
                    <token regexp="yes">gods?|thunderation|sam</token>
                </antipattern>
                <pattern>
                    <token postag="VB.*|SENT_START|CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">now?</token>
                        <token regexp="yes">wh?ere</token>
                    </marker>
                    <token regexp="yes">else|in|at|on</token>
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">It has plants and animals found <marker>no where</marker> else in the world.</example>
                <example correction="nowhere">I do feel sorry for the residents but there's <marker>no where</marker> else to park.</example>
                <example correction="Nowhere"><marker>No where</marker> in the game does it state you have to lose.</example>
                <example>Now where in god's name can I find that?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>no</token>
                        <token>where</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>nowhere</suggestion>?</message>
                <example correction="nowhere">I got <marker>no where</marker> to go.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NOW" name="no/now">
            <antipattern>
                <token>no</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="2" regexp="yes">answer|say|shout|scream|yell|vote|tell|reply</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token inflected="yes" regexp="yes">answer|say|shout|scream|yell|vote|tell|reply</token>
            </antipattern>
            <antipattern>
                <token skip="1">no</token>
                <token>yes</token>
            </antipattern>
            <antipattern>
                <token skip="1">yes</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token regexp="yes">and|,</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">.</token>
                <token spacebefore="no">no</token>
            </antipattern>
            <antipattern><!-- https://www.merriam-webster.com/dictionary/no%20can%20do -->
                <token>no</token>
                <token>can</token>
                <token>do</token>
            </antipattern>
            <antipattern>
                <token>sorry</token>
                <token min="0" regexp="yes">but|,</token>
                <token>no</token>
            </antipattern>
            <antipattern><!-- different error (TODO!) -->
                <token>no</token>
                <token>where</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token skip="4">no</token>
                <token inflected="yes" regexp="yes">answer|question|response</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes" skip="4">answer|question|response</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>to</token>
                <token>both</token>
            </antipattern>
            <antipattern>
                <token>big</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">oh?|ah|uh</token>
                <token min="0">,</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>now</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>now</token>
            </antipattern>
            <antipattern><!-- has no open ports -->
                <token inflected="yes">have</token>
                <token>no</token>
                <token postag_regexp="yes" postag="JJR?"/>
                <token postag_regexp="yes" postag="NN.*"/>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token>no</token>
                <token regexp="yes">but|because</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token skip="4">no</token>
                <token regexp="yes">not|yet</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token regexp="yes">that|it</token>
                <token>'s</token>
                <token postag="RB" min="0" />
                <token>not</token>
            </antipattern>
            <antipattern>
                <token>contain</token>
                <token>no</token>
                <token>or</token>
                <token>little</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>or</token>
                <token min="0">very</token>
                <token>little</token>
                <token postag="NN.*" postag_regexp="yes"/>
            </antipattern>
            <rule>
                <antipattern>
                    <token>no</token>
                    <token postag="JJ|VBN" postag_regexp="yes" />
                    <token min="0" postag="," />
                    <token min="0" skip="1" postag="JJ|VBN" postag_regexp="yes" />
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token chunk_re="I-NP.*" />
                </antipattern>
                <antipattern>
                    <token skip="5">no</token>
                    <token>yes</token>
                </antipattern>
                <antipattern>
                    <token skip="1">no</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <pattern>
                    <token><exception postag="IN"/><exception postag="VB.*" postag_regexp="yes"/></token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token postag="MD|VBD|VBN" postag_regexp="yes">
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                        <exception regexp="yes">known|need|shit|show.*|shut</exception>
                    </token>
                    <token><exception postag="NN.*|JJ.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>now</suggestion> (at this moment) instead of 'no' (negation)? Or possibly even 'not'?</message>
                <suggestion>not</suggestion>
                <short>Possible typo</short>
                <example correction="now|not">There <marker>no</marker> will be a park.</example>
                <example>Although in no state the repression has been as great as it was in Soviet times.</example>
                <example>There was evidently no thought of their being published.</example>
                <example>An idea with no or very little chance of being realized.</example>
                <example>No sweat either way.</example>
                <example>No randomized, controlled clinical trial has established a survival benefit for treating patients (either with open surgery or radiosurgery) with AVMs that have not yet bled.</example>
                <example>Also, it is very important that no written or verbal promise related to equity grants before Compensation Committee approval is obtained.</example>
                <example>By his end, however, the dynamics of rulership in Francia had changed, no hallowed Meroving was needed, neither for defence nor legitimacy: Charles divided his realm between his sons without opposition (though he ignored his young son Bernard).</example>
                <example>Assuming normal winter weather and no prolonged or repeated shutdowns of Iraq...</example>
                <example>Fortune, no wired, yes WSJ.</example>
                <example>Yeah no shit.</example>
                <example>No shut the fuck up.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>no</token>
                    <token skip="1">per</token>
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Nn]o<exception scope="previous" inflected="yes">say</exception></token>
                    </marker>
                    <token postag="CC|DT|IN|MD|NP|RP|WDT|WP|WRB" postag_regexp="yes"><exception regexp="yes">for|on|outside|such|to</exception><exception postag="JJR|NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Is a comma missing, or did you mean to write "now"?</message>
                <suggestion>no,</suggestion>
                <suggestion>now</suggestion>
                <short>Possible typo</short>
                <example correction="No,|Now"><marker>No</marker> as he would never do that.</example>
                <example>No on #1.</example>
                <example>No to most of the proposals, it remains to be seen how the Godbole report will be implemented and whether the state will see yet another round of protracted litigation on the controversial project.</example>
                <example>No outside employment was allowed.</example>
                <example>No outside counsel has been involved to date.</example>
                <example>No per minute charges.</example>
            </rule>
            <rule default="off">
                <antipattern>
                    <token>if</token>
                    <token>no</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Nn]o<exception scope="previous" inflected="yes">say</exception></token>
                    </marker>
                    <token postag="CC|DT|IN|MD|NP|RP|WDT|WP|WRB" postag_regexp="yes"><exception regexp="yes">such|for</exception><exception postag="JJR|NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>now</suggestion> (=at this moment) instead of 'no' (negation)?</message>
                <short>Possible typo</short>
                <example>Get out of bed no later than ten minutes after the alarm goes off.</example>
                <example correction="now">There's <marker>no</marker> a new building.</example>
                <example>I had to say no to them.</example>
                <example>I could turn no into yes.</example>
                <example>The gateway has no open ports.</example>
                <example>No because it already happened.</example>
                <example>He answered no to her.</example>
                <example>No of course not</example>
                <example>No this is not your house.</example>
                <example>No of employees: 10</example>
                <example>You don’t want to send cash directly to a stranger in advance, no no no.</example>
                <example>Employees with no or little experience in research.</example>
                <example>There's no middle ground.</example>
                <example>true if no pending refreshes are scheduled.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>no</token>
                    <token>is</token>
                    <token>a</token>
                    <token>full</token>
                </antipattern>
                <antipattern>
                    <token>next</token>
                    <token>to</token>
                    <token>no</token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="POS" />
                        <exception>word</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Nn]o</token>
                    </marker>
                    <token regexp="yes">were|was|been|be|is</token>
                    <token min="0" regexp="yes">:|,</token>
                    <token>
                        <exception regexp="yes" case_sensitive="yes">[0-9].*|[A-Z].*</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>now</suggestion> (=at this moment) instead of 'no' (negation)?</message>
                <short>Possible typo</short>
                <example correction="Now"><marker>No</marker> is the right time.</example>
                <example><marker>Now</marker> is the right time.</example>
                <example type="triggers_error">Here a, b and c are lattice constants, <marker>No</marker> is space group number and Z is the number of form...</example>
                <example>His contact numbers are 011442077783415 and his cellphone no is 011447711816960.</example>
                <example>The deal no is QH4715.</example>
                <example>Since the heat of formation of ·NO is endothermic, NO can be decomposed to the elements.</example>
                <example>No is a full sentence.</example>
                <example>My mother's no was absolute.</example>
                <example>The word no is just that, a word.</example>
                <example>They have next to no freedoms.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SCENT_SENT" name="seen or scene">
            <rule>
                <antipattern>
                    <token>sent</token>
                    <token regexp="yes">folders?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">a|his|her|the(ir)?</token>
                    <marker>
                        <token>sent</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>scent</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="scent">His <marker>sent</marker> was strong.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">we(re)?|was|s?he|I</token>
                    <marker>
                        <token>scent</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>sent</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="sent">He <marker>scent</marker> the package.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SCENE_SEEN" name="seen/scene">
            <rule>
                <pattern>
                    <token regexp="yes">this|another|opening|final|music</token>
                    <marker>
                        <token>seen</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>scene</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="scene">We watched the opening <marker>seen</marker> of the play.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">those|both|be|not|was|has|never|generally|rarely|often|always</token>
                    <marker>
                        <token>scene</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>seen</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="seen">Similar to those <marker>scene</marker> in the park...</example>
                <example>Similar to those <marker>seen</marker> in the park.</example>
            </rule>
        </rulegroup>
        <rule id="MANGER_MANAGER" name="manger (manager)">
            <pattern>
                <token regexp="yes">lifespan|bank|team|project|marketing|development|area|group|line|business|branch|production|lan|stage|fund|module|office|system|store|football|presentation|file|product|farm|training|package|program|centre|quality|shop|administration|window|city|care|district|player|transport|campaign|caretaker|deputy|hotel|service|station|unit|forest|section|restaurant|club|database|company|case|desktop|investment|catering|site|account|tour|type|beverage|credit|lead|cricket|practice|programme|publicity|test|trainee|colliery|department|engineering|night|plant|floor|theatre|theater|dealing|duty|house|cinema|estate|brand|insurance|nurse|palace|producer/editorial|safety|storage|technology|town|copy|depot|distribution|mill|county|print|bureau|factory|hospital|library|network|research</token>
                <token>manger</token>
            </pattern>
            <message>Did you mean <suggestion>\1 manager</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="project manager">He's our new <marker>project manger</marker>.</example>
            <example>Jesus lies in the manger.</example>
        </rule>
        <rule id="SQUARED_SQUARE" name="squared (square)">
            <pattern>
                <marker><token>squared</token></marker>
                <token regexp="yes">feet|(kilo)?met(er|re)s?|miles?|inch(es)?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="d" regexp_replace=""/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="square">What is the definition of a <marker>squared</marker> mile?</example>
        </rule>
        <rulegroup id="MODAL_OF" name="could of (could have)">
            <antipattern>
                <token case_sensitive="yes">May</token>
                <token>of</token>
                <token regexp="yes">last|next</token>
                <token>year</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token case_sensitive="yes">May</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">[cw]ould|sh(ould|all)|m(ight|ay|ust)</token>
                        <token>of</token>
                    </marker>
                    <token postag="VBN|JJ" postag_regexp="yes"><exception>course</exception></token>
                </pattern>
                <message>It's never correct to use 'of' after a modal verb. Use <suggestion>\1 have</suggestion>, or, in informal register, <suggestion>\1've</suggestion>.</message>
                <short>Possible typo</short>
                <example correction="should have|should've">It <marker>should of</marker> been found last night.</example>
                <example>It was the will of world citizens to fix the problem.</example>
                <example>I could have bought this house!</example>
                <example>I must of course have something of my own before many more years have passed over my head.</example>
                <example correction="must have|must've">Something terrible <marker>must of</marker> happened here.</example>
                <example correction="could have|could've">It <marker>could of</marker> been you, the one that I was givin' my love to.</example>
                <example correction="may have|may've">As you <marker>may of</marker> heard, Lowes is shutting down Iris at the end of March.</example>
                <example>Residents of Bahia Blanca, a port and petrochemical center, complained in May of foul smelling water.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">the|my|y?our|his|her|their</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>will</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">the|my|y?our|his|her|their</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token regexp="yes">and|or|&amp;|,</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>will</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">free|inner</token>
                    <token>will</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>will</token>
                        <token>of</token>
                    </marker>
                    <token postag="VBN|JJ" postag_regexp="yes"><exception>course</exception></token>
                </pattern>
                <message>It's never correct to use 'of' after a modal verb. Use <suggestion>\1 have</suggestion>.</message>
                <short>Possible typo</short>
                <example correction="will have">It <marker>will of</marker> been discovered by tomorrow.</example>
                <example>It was the will of world citizens to fix the problem.</example>
                <example>I will have that dress!</example>
                <example>I will of course have something of my own before many more years have passed over my head.</example>
                <example>You failed to defend the free will of young women such as herself.</example>
                <example>The representative will of actual people is not being recorded properly.</example>
            </rule>
        </rulegroup>
        <rule id="HAD_OF" name="had of (had)">
            <pattern>
                <marker>
                    <token>had</token>
                    <token>of</token>
                </marker>
                <token postag="VBN"/>
            </pattern>
            <message>It's never correct to use 'of' after 'had' to form a 'pluperfect' tense. Use <suggestion>had</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="had">I <marker>had of</marker> bought this house.</example>
        </rule>
        <rule id="ONES" name="ones (one's)" type="typographical">
            <antipattern><!-- https://www.lexico.com/en/definition/loved_one -->
                <token>loved</token>
                <token>ones</token>
                <token postag="IN|NN:U" postag_regexp="yes"/>
            </antipattern>
            <antipattern>
                <token>ones</token>
                <token>left</token>
                <token>behind</token>
            </antipattern>
            <pattern>
                <token><exception postag="JJ.*|DT|WP" postag_regexp="yes"/></token>
                <marker>
                    <token>ones</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*">
                    <exception postag="PRP.*|DT|IN|CC|RB" postag_regexp="yes" />
                    <exception regexp="yes">are|have|due|today|tomorrow|tonight|yesterday</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>one's</suggestion>?</message>
            <short>Possible typo</short>
            <example>The common ones clashing with the noble ones</example>
            <example correction="one's">One should always wash <marker>ones</marker> feet in the morning.</example>
            <example correction="one's">Carer information: how to care for your loved <marker>ones</marker> feet.</example>
            <example correction="one's">Being a forager was once an essential part of <marker>ones</marker> life.</example>
            <example correction="one's">It is important to brush <marker>ones</marker> teeth every day.</example>
            <example>These were the ones Keith sought out.</example>
            <example>They could predict which islands would become vulnerable with warming, and which ones might become better habitats.</example>
            <example>... nameless citizens who are separated from loved ones in other towns.</example>
            <example>Give your loved ones money.</example>
            <example>Rice-based solutions are preferred to glucose-based ones due to greater efficiency.</example>
            <example>The frustration faced by folks who see loved ones failing to take proper care of themselves is phenomenal.</example>
            <example>The early decades of the province were ones in which issues of land use—specifically, its settlement and development—were paramount.</example>
            <example>But there are still dedicated anti-tank vehicles with very heavy long-range missiles, and ones intended for airborne use.</example><!-- confusion onces/ones -->
            <example>There are nearly one hundred galleries open to the public, representing of exhibition space, although the less popular ones have restricted opening times.</example>
        </rule>
        <rule id="PRESIDENTS_DAY_APOSTROPHE" name="missing apostrophe in 'Presidents Day'">
            <pattern>
                <token>presidents</token>
                <token>day</token>
            </pattern>
            <message>It appears that a possessive apostrophe is missing, if you mean the legal holiday <suggestion>Presidents' Day</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/Presidents%27%20Day</url>
            <example correction="Presidents' Day">Schools are closed during <marker>Presidents Day</marker>.</example>
        </rule>
        <rule id="INTERNATIONAL_WORKERS_DAY_APOSTROPHE" name="missing apostrophe in 'International Workers Day'">
            <pattern>
                <token>international</token>
                <token>workers</token>
                <token>day</token>
            </pattern>
            <message>It appears that a possessive apostrophe is missing, if you mean the legal holiday <suggestion>International Workers' Day</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/International_Workers%27_Day</url>
            <example correction="International Workers' Day">Schools are closed during <marker>International Workers Day</marker>.</example>
        </rule>
        <rule id="CHILDRENS_DAY_APOSTROPHE" name="missing apostrophe in 'Childrens Day'">
            <pattern>
                <token>Childrens</token>
                <token>Day</token>
            </pattern>
            <message>It appears that a possessive apostrophe is missing.</message>
            <suggestion><match no="1" regexp_match="s$" regexp_replace="'s" /> \2</suggestion>
            <url>https://en.wikipedia.org/wiki/Children%27s_Day</url>
            <example correction="Children's Day"><marker>Childrens Day</marker> is a commemorative date celebrated annually in honor of children.</example>
        </rule>
        <rule id="TOMORROW_POSSESSIVE_APOSTROPHE" name="Missing possessive: Todays (today's) meeting">
            <pattern>
                <marker>
                    <token regexp="yes">tomorrows|yesterdays|todays|tonights</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="MD|PRP.*|IN|W.*|CC|DT" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It seems that a possessive apostrophe is missing.</message>
            <suggestion><match no="1" regexp_match="s$" regexp_replace="'s" /></suggestion>
            <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
            <example correction="Today's"><marker>Todays</marker> meeting will be moved to 6 pm.</example>
        </rule>
        <rule id="THIS_YEARS_POSSESSIVE_APOSTROPHE" name="Missing possessive: This weeks (week's) meeting">
            <antipattern>
                <token postag="NNP|UNKNOWN" postag_regexp="yes" />
                <token min="0">'s</token>
                <token regexp="yes">last|next</token>
                <token regexp="yes">years|months|weeks|weekends|nights</token>
            </antipattern>
            <antipattern>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token regexp="yes">last|next</token>
                <token regexp="yes">years|months|weeks|weekends|nights</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token regexp="yes">next|last</token>
                <token regexp="yes">years|months|weeks|weekends|nights</token>
            </antipattern>
            <pattern>
                <token regexp="yes">this|last|next</token>
                <marker>
                    <token regexp="yes">years|months|weeks|weekends|afternoons|evenings|mornings|nights</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="MD|PRP.*|IN|W.*|CC|DT" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It seems that a possessive apostrophe is missing.</message>
            <suggestion><match no="2" regexp_match="s$" regexp_replace="'s" /></suggestion>
            <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
            <example correction="year's">This <marker>years</marker> Labor Day is a new reminder of a timeless truth.</example>
            <example correction="week's">This <marker>weeks</marker> platform update is a relatively small.</example>
            <example correction="week's">To be fair - in last <marker>weeks</marker> webinar it was stated that these tools will be available from launch, so perhaps this is not a concern any more.</example>
            <example correction="year's">If you don’t know if you can itemize, look at last <marker>years</marker> tax return.</example>
            <example correction="week's">Last <marker>weeks</marker> training went on as planned.</example>
            <example correction="week's">With blizzard conditions across much of the nation this week, next <marker>weeks</marker> withdrawal is expected to be even larger.</example>
            <example correction="week's">After last <marker>weeks</marker> volatility in the natural gas market, I think we all agreed it is imperative that the trading groups understand how the group looks at risk.</example>
            <example correction="week's">Toby, Terry and I talked about this and I will address it again in next <marker>weeks</marker> team leader meeting.</example>
            <example correction="weekend's">Please give Janet a call to arrange this <marker>weekends</marker> gas supply.</example>
            <example correction="week's">Hold shorts if you got 'em with stops above last <marker>weeks</marker> high.</example>
            <example correction="morning's">So stoked about this <marker>mornings</marker> session!</example>
            <example correction="night's">Looks like last <marker>nights</marker> migration also included changes to the IDE.</example>
            <example>In his last years Manet painted many small-scale still lifes of fruits and vegetables, such as Bunch of Asparagus and The Lemon (both 1880).</example>
            <example>Sami spent the next years rebuilding a life nearly destroyed by the accident.</example>
            <example>Eugene spent much of his spare time there in his last years accommodating large hunting parties.</example>
            <example>I suggested this years ago.</example>
            <example>Been working on this months now and am exasperated.</example>
        </rule>

        <rulegroup id="POSSESSIVE_APOSTROPHE" name="Possessive apostrophe error" type="typographical">
            <antipattern><!-- Applicable to rules 1 and 2. I did not find a dictionary reference, but the terms are on many tennis websites. -->
                <token regexp="yes">singles|doubles</token>
                <token regexp="yes">players?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">human|civil|natural</token>
                <token regexp="yes">rights|resources|ingredients</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">LGBTQ?|animal</token>
                <token>rights</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">goods|customs|futures|earnings|electrics|savings|derivates|insights|oldies|settings|synthetics</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>darts</token>
                <token regexp="yes">champion.*|player|tournament</token>
            </antipattern>
            <antipattern>
                <token>payments</token>
                <token>system</token>
            </antipattern>
            <antipattern>
                <token>users</token>
                <token>manual</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/points_system -->
                <token>points</token>
                <token>system</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- #2915 www.lexico.com/definition/financial_services -->
                <token>financial</token>
                <token>services</token>
            </antipattern>
            <antipattern>
                <token>comments</token>
                <token>section</token>
            </antipattern>
            <antipattern>
                <token>Times</token>
                <token>magazine</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(tele-?)?communications</token>
            </antipattern>
            <antipattern>
                <token>securities</token>
                <token regexp="yes">lawyers?|law|fraud|managers?|industry</token>
            </antipattern>
            <antipattern>
                <token>systems</token>
                <token regexp="yes">industry|administrator|admin|integrator|maker|division</token>
            </antipattern>
            <antipattern><!-- #4525 wireless services provider -->
                <token>wireless</token>
                <token>services</token>
                <token regexp="yes">providers?</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token regexp="yes">icon|symbol</token>
            </antipattern>
            <antipattern>
                <token>rules</token>
                <token>engine</token>
            </antipattern>
            <antipattern>
                <token>synthetic</token>
                <token>fuels</token>
                <token>industry</token>
            </antipattern>
            <antipattern>
                <token>rights</token>
                <token regexp="yes">movement|agreement</token>
            </antipattern>
            <antipattern>
                <token>awards</token>
                <token regexp="yes">ceremon(y|ies)</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">admissions|securities</token>
                <token regexp="yes">officer?|committee|policy|division</token>
            </antipattern>
            <antipattern>
                <token>tankers</token>
                <token>helmet</token>
            </antipattern>
            <antipattern>
                <token>antiques</token>
                <token regexp="yes">dealer|dealership</token>
            </antipattern>
            <antipattern>
                <token>standards</token>
                <token regexp="yes">committee|organi[sz]ation</token>
            </antipattern>
            <antipattern>
                <token>blues</token>
                <token>movement</token>
            </antipattern>
            <antipattern>
                <token>services</token>
                <token regexp="yes">agreements?|desk|provider|industry|organi[zs]ations?|examination|division</token>
            </antipattern>
            <antipattern><!-- In recent years money has ... -->
                <token postag="SENT_START|CC|PCT|DT" postag_regexp="yes" />
                <token postag="IN" />
                <token postag="DT" min="0">
                    <exception regexp="yes">one|each</exception>
                </token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">years|months|weeks|days|hours|minutes|seconds|ways</token>
                <token />
                <token>
                    <exception>,</exception>
                </token>
            </antipattern>
            <antipattern><!-- There are some things money can't buy. -->
                <token>there</token>
                <token regexp="yes">are|'re</token>
                <token postag="DT" />
                <token>things</token>
            </antipattern>
            <antipattern><!-- That is, the unwillingness to pay for the things society needs. -->
                <token regexp="yes">the|all</token>
                <token skip="2">things</token>
                <token chunk_re=".-VP" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Have you tried the Shortcuts app? -->
                <token regexp="yes" postag="NNP?S" postag_regexp="yes">[A-Z].*</token>
                <token regexp="yes">app|website</token>
            </antipattern>
            <antipattern><!-- he kissed his kids goodbye -->
                <token inflected="yes" regexp="yes" skip="3">kiss|say|tell</token>
                <token regexp="yes">good-?bye</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- company -->
                <token>Epic</token>
                <token>Games</token>
            </antipattern>
            <antipattern><!-- Premium #1350 antiquities collection -->
                <token>antiquities</token>
                <token>collection</token>
            </antipattern>
            <antipattern>
                <token>reserves</token>
                <token>agreement</token>
            </antipattern>
            <antipattern>
                <token>classifieds</token>
                <token regexp="yes">ads|business|publication|marketplace|website</token>
            </antipattern>
            <antipattern><!-- Premium #1350 www.lexico.com/definition/clothes_horse /hanger -->
                <token>clothes</token>
                <token regexp="yes">horse|hanger</token>
            </antipattern>
            <antipattern>
                <token>contracts</token>
                <token regexp="yes">manager|database</token>
            </antipattern>
            <antipattern><!-- Premium #1350 measles virus -->
                <token>measles</token>
                <token regexp="yes">vaccine|virus</token>
            </antipattern>
            <antipattern>
                <token>operations</token>
                <token regexp="yes">manager|management|center|centre|person|supervisor|controller|personnel|division|buyer|director|officer|staff</token>
            </antipattern>
            <antipattern>
                <token>arms</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes">step|piece</token>
                <token>by</token>
                <token regexp="yes">step|piece</token>
            </antipattern>
            <antipattern>
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes">shoulder|head</token>
                <token regexp="yes">to|on</token>
                <token regexp="yes">shoulder|head</token>
            </antipattern>
            <rule>
                <antipattern><!-- Allow "Tom hates / likes / play ...." -->
                    <token postag="SENT_START"/>
                    <token postag="NNP"/>
                    <token postag="NNP?S" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes"></token>
                    <token regexp="yes">year|day|hour|week|month</token>
                    <token>after</token>
                    <token regexp="yes">year|day|hour|week|month</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes"></token>
                    <token regexp="yes">person|face</token>
                    <token>to</token>
                    <token regexp="yes">person|face</token>
                </antipattern>
                <antipattern><!-- boundaries on spaces comes the question of -->
                    <token postag_regexp="yes" postag="NNP?S"/>
                    <token chunk="B-VP"/>
                </antipattern>
                <antipattern><!--  -->
                    <token postag_regexp="yes" postag="NNP?S"/>
                    <token regexp="yes">kind|sort</token>
                    <token>of</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- the City Lights manager -->
                    <token chunk="B-NP-plural" regexp="yes" postag="DT">\p{Ll}+</token>
                    <token postag_regexp="yes" postag="JJ.*" regexp="yes">\p{Lu}\p{Ll}+</token>
                    <token postag="NNS" regexp="yes">\p{Lu}\p{Ll}+</token>
                    <token regexp="yes">\p{Ll}+</token>
                </antipattern>
                <antipattern><!-- #2423 -->
                    <token>arms</token>
                    <token>reduction</token>
                    <token postag_regexp="yes" postag="NN.*" regexp="yes" inflected="yes">conference|discussion|talk|treaty</token>
                </antipattern>
                <antipattern><!-- https://forum.languagetool.org/t/en-possible-false-positive-2020-02-11/5368 -->
                    <token postag="SENT_START"/>
                    <token>In</token>
                    <token>the</token>
                    <token>old</token>
                    <token>days</token>
                    <token postag_regexp="yes" postag="NN:UN?"/>
                    <token postag_regexp="yes" postag="VBD|RB"/>
                </antipattern>
                <antipattern><!-- introductory phrase-->
                    <token>for</token>
                    <token regexp="yes">th[eo]se|some</token>
                    <token>reasons</token>
                </antipattern>
                <antipattern><!-- introductory phrase-->
                    <token regexp="yes">one|two</token>
                    <token>of</token>
                    <token>the</token>
                    <token>reasons</token>
                </antipattern>
                <antipattern><!-- introductory phrase-->
                    <token>in</token>
                    <token regexp="yes">th[eo]se|some|many|all|such</token>
                    <token>cases</token>
                </antipattern>
                <antipattern><!-- introductory phrase-->
                    <token postag="SENT_START|CC" postag_regexp="yes" />
                    <token>These</token>
                    <token>days</token>
                </antipattern>
                <antipattern><!-- You are responsible for all things frontend related. -->
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <token regexp="yes">&hyphen_modifier;</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">one|1</token>
                    <token>of</token>
                    <token>the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>reasons</token>
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <token>was</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">one|1</token>
                    <token>of</token>
                    <token>the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>reasons</token>
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <token postag="VBZ" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- The social upheaval played out in the clothes people wore -->
                    <token postag="IN" />
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="NNS" />
                    <token>people</token>
                    <token postag="RB" min="0" />
                    <token postag="VBD" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token><exception inflected="yes" regexp="yes">give|avail|serve</exception></token>
                    <token postag="DT|PRP\$|JJ.*" postag_regexp="yes"><exception postag="CD"/></token>
                    <marker>
                        <token postag="NNP?S" postag_regexp="yes" regexp="yes">
                            \p{Lu}?\p{Ll}*s
                            <exception regexp="yes">eats|says|likes|loves|hates|customs|sports|mains|decreases|does|his|ones|relations|affairs|weapons|crimes|arts|maths</exception>
                            <exception postag="VBZ|RB|IN|JJ|NN:.*|NNP?" postag_regexp="yes"/>
                            <exception case_sensitive="yes" regexp="yes">Avengers|Yankees</exception><!-- movie -->
                            <exception>continuos</exception><!-- not in our dict, probably misspelling of "continuous" -->
                        </token>
                    </marker>
                    <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">\p{Ll}{2,30}
                        <exception regexp="yes">(any|some|every|no)thing|equipment|department|sector|exam|faculty|given|guy|can|today|yesterday|tomorrow|now|in|are</exception>
                        <exception postag="RB|MD|IN|JJ.*|CC|PRP|NNP.*" postag_regexp="yes" />
                        <exception postag="VBG|VB|VBP|VB[DN]" postag_regexp="yes" regexp="yes">
                            ((?!(&uncommon_verbs;)$).+)
                        </exception>
                        <exception>thou</exception><!-- Archaic pronoun -->
                        <exception>while</exception>
                    </token>
                    <token><exception regexp="yes">\p{Punct}|and|or</exception></token>
                </pattern>
                <message>An apostrophe may be missing.</message>
                <suggestion><match no="3"/>'</suggestion>
                <suggestion suppress_misspelled="yes"><match no="3" postag="NN(P)?S" postag_regexp="yes" postag_replace="NN$1(:U.?)?" setpos="no"/>'s</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <short>Possible typo</short>
                <example correction="presidents'|president's">This is a transcript of the <marker>presidents</marker> speech from March.</example>
                <example correction="Presidents'|President's">This is a transcript of the <marker>Presidents</marker> speech from March.</example>
                <example correction="darts'|dart's">The <marker>darts</marker> trajectory is calculated thus:</example>
                <example correction="clients'|client's">My <marker>clients</marker> workspace has the premium account.</example>
                <example>This is a transcript of the <marker>president's</marker> speech.</example>
                <example>Publishers today are at loss...</example>
                <example>Owen was seven years younger.</example>
                <example>Today, Israel is a major arms supplier to the country.</example>
                <example>He does not appear to be a viable option for the Buccaneers while Warrick Dunn is out.</example>
                <example>After dinner, we played cards till eleven.</example>
                <example>Tom laid his cards down on the table with a smile.</example>
                <example>Have you tried the Shortcuts app?</example>
                <example>My random thoughts day after day...</example>
                <example>That is, the unwillingness to pay for the things society needs.</example>
                <example>You are responsible for all things frontend related.</example>
                <example>With these voices anything seems to work.</example>
                <example>Please give Allen Kurzer 6 guest ids while we work on the agreements.</example>
                <example>The results of each race are evaluated using the points system to determine two annual World Championships.</example>
                <example>The Romans may have marked the centre of Londinium.</example>
                <example>Universities A and B are old universities...</example>
                <example>Keynesian economists argue that Keynesian policies were one of the primary reasons capitalism was able to recover following the Great Depression.</example>
                <example>He made his final report to the Senate Foreign Relations Committee on U.S. affairs abroad.</example>
                <example>He gave the customers chips or checks or premium points.</example>
                <example>Legalized Abortion on Crime, authored by the economists Steven D. Levitt and John Donohue.</example>
                <example>Gershwin overlays the slow blues theme from section B in the final “Grandioso.”</example>
                <example>The English <marker>darts</marker> player is likely to win this tournament.</example>
                <example>The main communications equipment failed.</example>
                <example>Tell us who you think is the biggest winner in the comments section below.</example>
                <example>The social upheaval played out in the clothes people wore.</example>
                <example>She makes two claims in her Times magazine piece.</example>
                <example>The <marker>darts</marker> tip is made of tungsten.</example><!-- False negative -->
                <example>The functions sine and cosine take values between -1 and 1.</example>
                <example>That baby does nothing but cry.</example>
                <example>The anti-nuclear weapons movement went into decline for some years.</example>
                <example>The incident resulted in a human resources complaint.</example>
                <example>This will make the malicious <marker>programs</marker> spam the persons who have an entry in the address book.</example><!-- http://forum.languagetool.org/t/en-possible-false-positive-2017-05-31/1727/1 -->
                <example>The <marker>arms shipment</marker> is not satisfactory.</example>
                <example>With the ability to impose boundaries on <marker>spaces</marker> comes the question of how...</example>
                <example>Ginsberg and Shig Murao, the <marker>City Lights</marker> manager who was jailed for selling "Howl," became...</example>
                <example>The <marker>devices</marker> comes in a number of variations where they can be...</example><!-- 'comes' is the start of a verb phrase. AGREEMENT_SENT_START[1] finds the problem -->
                <example>The <marker>samples</marker> tests were not satisfactory.</example><!-- False negative, not related to the addition of the antipattern for 'boundaries on spaces' on 2019-01-18 -->
                <example>The <marker>standards</marker> committee decided against shifting, and so ASCII ...</example><!-- False negative? The term 'standards committee' is possible, but in some contexts, the term is possibly incorrect. Cause: the chunker incorrectly gives 'B-VP' to committee. -->
                <example>Much of the material in these <marker>articles</marker> comes from the CIA World Factbook 2000 and the...</example>
                <example>A Waterford Crystal representation of the Ashes urn has been presented to the winners of ...</example>
                <example>...land and Australia was played in 1877, though the Ashes legend started later, after the ninth Test.</example>
                <example>The upcoming Ashes series in 2013 will be held in England.</example>
                <example>But not all the earnings news was cheery.</example>
                <example>For these reasons marijuana cannot be legalized.</example>
                <example>Every Avengers movie is great.</example>
                <example>To flush the actions step by step from client to backend and back you need to perform following steps</example>
                <example>He is a maths genius.</example>
                <example>He is an operations manager.</example>
                <example>The earnings release was scheduled for May.</example>
                <example>... voted against the ratification of New Start, a nuclear <marker>arms reduction treaty</marker> between the United States and Russian Federation.</example><!-- #2423 -->
                <example>In the old days friendship had more meaning.</example><!-- https://forum.languagetool.org/t/en-possible-false-positive-2020-02-11/5368 -->
                <example>In the old days friendship really had more meaning.</example>
                <example>The American Film Institute was founded in 1967 as a national arts organization to preserve the legacy of American film heritage, educate the next generation of filmmakers.</example>
                <example>As of 2001, he was still a part-time martial arts instructor there.</example>
                <example>Zoom Video Communications, Inc. is an American communications technology company headquartered in San Jose, California.</example>
                <example>The ING Group is a Dutch multinational banking and financial services corporation headquartered in Amsterdam.</example><!-- #2915 -->
                <example>The measles vaccine is almost 100% effective.</example><!-- Premium #1350 -->
                <example>The clothes hanger is always in the way!</example><!-- Premium #1350 -->
                <example>The antiquities collection is housed in a state-of-the-art facility.</example><!-- Premium #1350 -->
                <example>These are the words thou shalt speak to the children of Israel.</example>
                <example>The transfer to British Telecommunications plc of the business of British Telecom, the statutory corporation, took place on 6 August 1984 and, on 20 November 1984, more than 50 per cent of British Telecom shares were sold to the public.</example>
                <example type="triggers_error">The new restaurant was making the <marker>owners</marker> money hand over fist.</example>
                <example correction="clothes'">Blank noise doing a <marker>clothes</marker> installation to say</example>
                <example>TODO: ... including a <marker>Reuters</marker> photographer Gleb Garanich</example><!-- Reuters is NNP -->
                <example>Their main derivatives guy is Rabon Rabinovich.</example>
            </rule>
            <rule>
                <antipattern><!-- the minerals beryl, cryolite, garnet ... and turquoise -->
                    <token>the</token>
                    <token postag="NNS"/>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>,</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>,</token>
                    <token skip="-1" postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>and</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- They'll do that when their turns comes.  -->
                    <token postag="VB[DZNG]" postag_regexp="yes" chunk_re=".-VP" />
                    <token regexp="yes">\p{Punct}</token>
                </antipattern>
                <pattern>
                    <token postag="DT|JJ.*|PRP\$" postag_regexp="yes"><exception postag="CD"/></token>
                    <marker>
                        <token postag="NNP?S" postag_regexp="yes" regexp="yes">(\p{Ll}|-){0,40}s<exception regexp="yes">sports|mains|eats|says|likes|loves|hates|desires|his|ones|relations|affairs|weapons|crimes|arts|maths</exception><exception postag="VBZ|RB|IN|JJ|NN:.*|NNP?" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">
                        \p{Ll}{2,40}
                        <exception regexp="yes">(any|some|every|no)thing|sector|department|given|exam|faculty|factory|today|yesterday|tomorrow|now|in</exception><exception postag="RB|MD|IN|JJ.*|CC|VB[GDP]" postag_regexp="yes"/>
                    </token>
                    <token regexp="yes">\p{Punct}</token>
                </pattern>
                <message>An apostrophe may be missing.</message>
                <suggestion><match no="2"/>'</suggestion>
                <suggestion><match no="2" postag="NN(P)?S" postag_regexp="yes" postag_replace="NN$1(:U.?)?" setpos="no"/>'s</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <short>Possible typo</short>
                <example correction="presidents'|president's">This is a transcript of the <marker>presidents</marker> speech.</example>
                <example correction="add-ons'|add-on's">Some users were confused about the <marker>add-ons</marker> functionality.</example><!-- (\p{Ll} does not include the hyphen character -->
                <example correction="days'|day's">In the old <marker>days</marker> friendship, we had some fun, but it's all gone now.</example><!-- https://forum.languagetool.org/t/en-possible-false-positive-2020-02-11/5368 -->
                <example>This is a transcript of the <marker>president's</marker> speech.</example>
                <example>Publishers today are at loss...</example>
                <example>The Romans may have marked the centre of Londinium.</example>
                <example>Owen was seven years younger.</example>
                <example>Universities A and B are old universities...</example>
                <example>All Souls College, Oxford</example>
                <example>Last night an explosion took place at a fireworks factory.</example>
                <example>Everybody in the world desires peace.</example>
                <example>They'll do that when their turns comes.</example>
                <example>He kissed his kids goodbye.</example>
                <example>Physical travel was not the only way in which Catherine made her views known.</example>
                <example>...surrounds an attempt to buy a sword from an <marker>antiques dealer</marker>, with another twist ending.</example>
                <example>It also occurs in the minerals beryl, cryolite, garnet, spinel and turquoise.</example>
                <example>... of the AmX type are known for the elements phosphorus, arsenic, antimony and bismuth.</example>
                <example>... hype as compared to actual accomplishments as a singles player—ranked Kournikova...</example>
                <example>DoCoMo is the world's leading wireless services provider.</example><!-- #4525 -->
                <example>By toggling the switch next to the glasses icon, you will get more advanced suggestions to perfect your writing.</example>
                <example>Please find my replies inline.</example><!-- #5538 -->
                <example type="triggers_error">...on early Islamic philosophy, especially the subjects logic, ethics, and metaphysics, including...</example><!-- Possibly, relax the AP for "the minerals beryl, cryolite, garnet ... and turquoise" -->
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">a|one</token>
                    <marker>
                        <token>days</token>
                        <token regexp="yes">&apostrophe;</token>
                    </marker>
                    <token>leave</token>
                </pattern>
                <message>The apostrophe is misplaced.</message>
                <suggestion><match no="2" regexp_match="s" regexp_replace=""/>'s</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="day's">Please grant me one <marker>days'</marker> leave of absence on March 1st.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">formula|number</token>
                    <token>one</token>
                </antipattern>
                <antipattern><!-- different error -->
                    <token>one</token>
                    <token regexp="yes">liners?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">every|each|one</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">every|each|one</token>
                    <marker>
                        <token postag="NNP?S" postag_regexp="yes" regexp="yes">
                            .+s
                            <exception regexp="yes">his|means|class|synthetics|Texans|Indians|Cubs|futures|sys-?ops</exception><!-- Texans/Indians are football teams -->
                            <exception postag="VB.*|NNP?|NN:UN?" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNP?S?|NN:UN?" postag_regexp="yes" />
                </pattern>
                <message>The plural noun "\2" doesn't fit after the quantifier "\1". A possessive apostrophe may be missing, or you meant the singular form.</message>
                <suggestion suppress_misspelled="yes"><match no="2" postag="NNP?|NN:UN?" postag_regexp="yes" />'s</suggestion>
                <suggestion suppress_misspelled="yes"><match no="2" postag="NNP?|NN:UN?" postag_regexp="yes" /></suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="animal's|animal">Almost every <marker>animals</marker> favorite planet is Earth.</example>
                <example correction="other's|other">I am not sure what my intentions are right now but we enjoy each <marker>others</marker> company.</example>
                <example correction="party's|party">Detailed Description of each <marker>parties</marker> responsibility</example>
                <example correction="weapon's|weapon">As each <marker>weapons</marker> delivery was made from Israel by air, the hostages held by Hezbollah would be released.</example>
                <example correction="manufacturer's|manufacturer">This is not unique to Chrysler, every <marker>manufacturers</marker> owners manual mentions checking your oil and many say how many miles per quart is acceptable.</example>
                <example correction="other's|other">You share each <marker>others</marker> ideals, interests and adventures like no one else can.</example>
                <example correction="day's|day">There is a report that will be generated with each <marker>days</marker> trading that will identify who our Active customers are.</example>
                <example>Is every Robbins algebra a Boolean algebra?</example>
                <example>Formula One drivers pay a FIA Super Licence fee, which in 2013 was €10,000 plus €1,000 per point.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">in|for</token>
                    <marker>
                        <token regexp="yes">gods|fucks|hells|christs|heavens|goodness|goddess</token>
                        <token regexp="yes">hand|name|sake|will|country</token>
                    </marker>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion><match no="2" regexp_match="(?i)(god|fuck|hell|christ|heaven|goodness|goddess).*$" regexp_replace="$1's" /> \3</suggestion>
                <example correction="God's name">In <marker>Gods name</marker>, please move!</example>
                <example correction="goodness's sake">For <marker>goodness sake</marker>, don't scare me like that!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(some|any|every|no)(thing)s</token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing or the word is misspelled.</message>
                <suggestion><match no="1" regexp_match="(?i)things" regexp_replace="" />thing's</suggestion>
                <suggestion><match no="1" regexp_match="(?i)things" regexp_replace="" /> things</suggestion>
                <suggestion><match no="1" regexp_match="(?i)things" regexp_replace="" />thing</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="something's|some things|something">He's eating someone's or <marker>somethings</marker> lunch.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(some|any|every)(where|one|body)s</token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing or the word is misspelled.</message>
                <suggestion><match no="1" regexp_match="(?i)(some|any|every)(where|one|body)s" regexp_replace="$1" /><match no="1" regexp_match="(?i)(some|any|every)(where|one|body)s" regexp_replace="$2" />'s</suggestion>
                <suggestion><match no="1" regexp_match="(?i)(some|any|every)(where|one|body)s" regexp_replace="$1" /><match no="1" regexp_match="(?i)(some|any|every)(where|one|body)s" regexp_replace="$2" /></suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="someone's|someone">I think this goes against <marker>someones</marker> principles.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">nobod(y|ie)s</token>
                    <token regexp="yes">perfect|fool</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>nobody's \2</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/nobody's%20perfect</url>
                <example correction="Nobody's perfect"><marker>Nobodys perfect</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>no</token>
                    <token regexp="yes">bod(y|ie)s</token>
                    <token regexp="yes">perfect|fool</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>nobody's \3</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/nobody's%20perfect</url>
                <example correction="Nobody's perfect"><marker>No bodys perfect</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>noones</token>
                    <token>perfect</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>no one's \2</suggestion>?</message>
                <example correction="No one's perfect"><marker>Noones perfect</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>no</token>
                    <token>ones</token>
                    <token>perfect</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>no one's \3</suggestion>?</message>
                <example correction="No one's perfect"><marker>No ones perfect</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">no(where|body)s</token>
                </pattern>
                <message>It seems that an apostrophe is missing or the word is misspelled.</message>
                <suggestion><match no="1" regexp_match="(?i)(no)(where|body)s" regexp_replace="$1" /><match no="1" regexp_match="(?i)(no)(where|body)s" regexp_replace="$2" />'s</suggestion>
                <suggestion><match no="1" regexp_match="(?i)(no)(where|body)s" regexp_replace="$1" /><match no="1" regexp_match="(?i)(no)(where|body)s" regexp_replace="$2" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/nobody's%20perfect</url>
                <example correction="Nobody's|Nobody"><marker>Nobodys</marker> perfect.</example>
            </rule>
            <rule>
                <pattern>
                    <token>everybodies</token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing or the word is misspelled.</message>
                <suggestion>everybody's</suggestion>
                <suggestion>everybody</suggestion>
                <example correction="Everybody's|Everybody"><marker>Everybodies</marker> is perfect.</example>
            </rule>
        </rulegroup>

        <rulegroup id="SPECIFIC_POSSESSIVE_APOSTROPHE" name="Possessive apostrophe error" type="typographical">
            <rule>
                <pattern>
                    <token>Hitchhikers</token>
                    <token>Guide</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>Hitchhiker's Guide</suggestion>
                <url>https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy</url>
                <example correction="Hitchhiker's Guide">The <marker>Hitchhikers Guide</marker> to the Galaxy</example>
            </rule>
            <rule>
                <pattern>
                    <token>Readers</token>
                    <token>Digest</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>Reader's Digest</suggestion>
                <url>https://en.wikipedia.org/wiki/Reader%27s_Digest</url>
                <example correction="Reader's Digest">Last week's <marker>Readers Digest</marker> was very good.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>runners</token>
                        <token>high</token>
                    </marker>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>runner's \4</suggestion>
                <url>https://www.merriam-webster.com/dictionary/runner%27s%20high</url>
                <example correction="Runner's High">How to Achieve a <marker>Runners High</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>directors</token>
                        <token>cut</token>
                    </marker>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>director's \4</suggestion>
                <url>https://www.merriam-webster.com/dictionary/director%27s%20cut</url>
                <example correction="director's cut">The first trailer for the <marker>directors cut</marker> dropped in June.</example>
            </rule>
            <rule>
                <pattern>
                    <token>a</token>
                    <marker>
                        <token>stones</token>
                        <token>throw</token>
                    </marker>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>stone's \3</suggestion>
                <url>https://www.merriam-webster.com/dictionary/a%20stone's%20throw</url>
                <example correction="stone's throw">She lives just a <marker>stones throw</marker> away from the beach.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">editors|kids</token>
                    <token>choice</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>editor's \2</suggestion>
                <suggestion>editors' \2</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="Editor's Choice|Editors' Choice">Our Editorial team created the <marker>Editors Choice</marker> list to highlight the best, the brightest, and/or the soon-to-be-stars on a biweekly basis.</example>
            </rule>
            <rule>
                <pattern>
                    <token>crohns</token>
                    <token>disease</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>Crohn's \2</suggestion>
                <url>https://en.wikipedia.org/wiki/Crohn%27s_disease</url>
                <example correction="Crohn's disease"><marker>Crohns disease</marker> is a type of inflammatory bowel disease (IBD)</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">hunting[dt]ons?</token>
                    <token regexp="yes">disease|chorea</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>Huntington's disease</suggestion>
                <url>https://en.wikipedia.org/wiki/Huntington%27s_disease</url>
                <example correction="Huntington's disease"><marker>Huntington disease</marker> is a neurodegenerative disease.</example>
            </rule>
            <rule>
                <pattern>
                    <token>drivers</token>
                    <token regexp="yes">licen[cs]e</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>driver's \2</suggestion>
                <url>https://www.merriam-webster.com/dictionary/driver%27s%20license</url>
                <example correction="driver's license">The police stopped him and asked for his <marker>drivers license</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>drivers</token>
                    <token>seat</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>driver's \2</suggestion>
                <url>https://www.merriam-webster.com/dictionary/driver%27s%20seat</url>
                <example correction="driver's seat">With her boss's early retirement, she unexpectedly found herself in the <marker>drivers seat</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">sheeps?</token>
                    <token>clothing</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>sheep's \2</suggestion>
                <url>https://en.wiktionary.org/wiki/wolf_in_sheep%27s_clothing</url>
                <example correction="sheep's clothing">He is a wolf in <marker>sheeps clothing</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(every|any|some|no)(one|body)</token>
                    <marker>
                        <token>elses</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>else's</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="else's">I think it's someone <marker>elses</marker> problem.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(every|any|some|no)</token>
                    <token regexp="yes">(one|body)</token>
                    <marker>
                        <token>elses</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>else's</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="else's">I think it's every one <marker>elses</marker> problem.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">sheriffs?</token>
                    <token regexp="yes">deput(y|ies)</token>
                </pattern>
                <message>A possessive apostrophe is missing.</message>
                <suggestion>sheriff's \2</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="Sheriff's Deputy">Prince William County <marker>Sheriffs Deputy</marker> fired for ‘disturbing’ social media activity.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>no</token>
                        <token>ones</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*">
                    </token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing.</message>
                <suggestion>\1 one's</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="no one's">It's <marker>no ones</marker> business.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>doctors</token>
                    </marker>
                    <token regexp="yes">appointments?|offices?|stuff|certificate</token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing.</message>
                <suggestion>doctor's</suggestion>
                <example correction="doctor's">I have a <marker>doctors</marker> appointment at 8 am.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>Valentines</token>
                    </marker>
                    <token regexp="yes">day|sale|gifts?|discounts?|message|letter|cakes?|cand(y|ies)|flowers?|cookies?|eve|events?|earrings?|food|dinner|ideas?|jewelry|jewellery|necklace|recipes?|roses?|songs?|music|underwear|videos?|week|drinks?|yards?|trees?</token>
                </pattern>
                <message>A possessive apostrophe is missing if you're referring to Valentine's Day.</message>
                <suggestion>Valentine's</suggestion>
                <example correction="Valentine's">Check out our <marker>Valentines</marker> discount.</example>
            </rule>
            <rule><!-- special case for break xxx's back -->
                <pattern>
                    <token inflected="yes" regexp="yes">break|heal|sit</token>
                    <token regexp="yes" min="0">on|at</token>
                    <token regexp="yes">the|an?</token>
                    <marker>
                        <token postag="NNS" />
                    </marker>
                    <token>back</token>
                </pattern>
                <message>It appears that a possessive apostrophe is missing.</message>
                <suggestion><match no="4" postag="NN(:UN?)?" postag_regexp="yes" />'s</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="camel's">That was the straw that broke the <marker>camels</marker> back.</example>
                <example>I will bring the camels back.</example>
            </rule>
            <rule>
                <pattern>
                    <token>devils</token>
                    <token regexp="yes">advocates?|purses?|advocacy|apples?|claws?|clubs?|birds?|threesome|candlestick</token>
                </pattern>
                <message>It appears that a possessive apostrophe is missing.</message>
                <suggestion><match no="1" postag="NN(:UN?)?" postag_regexp="yes" />'s \2</suggestion>
                <url>https://www.merriam-webster.com/dictionary/devil%27s%20advocate</url>
                <example correction="devil's advocate">He is the <marker>devils advocate</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>murphys</token>
                    <token regexp="yes">laws?</token>
                </pattern>
                <message>It appears that a possessive apostrophe is missing.</message>
                <suggestion>Murphy's \2</suggestion>
                <example correction="Murphy's law"><marker>Murphys law</marker> is an adage or epigram that is typically stated as: "Anything that can go wrong will go wrong".</example>
            </rule>
            <rule>
                <pattern>
                    <token>constructors</token>
                    <token regexp="yes">championships?</token>
                </pattern>
                <message>It appears that a possessive apostrophe is missing.</message>
                <suggestion>\1' \2</suggestion>
                <example correction="Constructors' Championships">Ferrari has wone many <marker>Constructors Championships</marker>.</example>
            </rule>
        </rulegroup>

        <rule id="A_NNS_BEST_NN" name="a girls best friend">
            <pattern>
                <token regexp="yes">an?</token>
                <marker>
                    <token postag="NNP?S" postag_regexp="yes" regexp="yes">.+s</token>
                </marker>
                <token regexp="yes">best|worst</token>
                <token postag="NN.*" postag_regexp="yes" />
            </pattern>
            <message>It seems that a possessive apostrophe is missing.</message>
            <suggestion><match no="2" postag="NNP?|NN:UN?" postag_regexp="yes" />'s</suggestion>
            <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
            <example correction="girl's">The lipstick is a <marker>girls</marker> best friend.</example>
            <example correction="moderator's">I was a <marker>moderators</marker> worst enemy on the old espn message boards.</example>
        </rule>

        <rulegroup id="APOSTROPHE_PLURAL_" name="Possessive form instead of plural" default="temp_off">
            <!--
                See regressions:
                * https://internal1.languagetool.org/regression-tests/via-http/2021-04-02/en-US/result_grammar_APOSTROPHE_PLURAL_[1].html
                * https://internal1.languagetool.org/regression-tests/via-http/2021-04-02/en-US/result_grammar_APOSTROPHE_PLURAL_[2].html
            -->
            <antipattern><!-- Bolivia’s estimated 2012 gross domestic product is / brewer's spent grain consists -->
                <token chunk_re="E-NP-(singular|plural)" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="POS">'s</token>
                <token chunk_re="I-NP-(singular|plural)" min="0" max="4" postag_regexp="yes" postag="JJ.*|VBN|CD"/><!-- Plural is necessary because of words such as 'gross/NNS' which cause a plural chunk -->
                <token chunk_re="E-NP-(singular|plural)" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[ZD]"/>
            </antipattern>
            <antipattern><!-- Commission's expedited emergency review process. -->
                <token chunk_re="E-NP-(singular|plural)" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="POS">'s</token>
                <token chunk_re="I-NP-(singular|plural)" min="0" max="4" postag_regexp="yes" postag="JJ.*|VBN|CD"/>
                <token chunk_re="E-NP-(singular|plural)" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="PCT"/>
            </antipattern>
            <antipattern><!-- Dickens's acclaimed flights of fancy -->
                <token chunk_re="E-NP-(singular|plural)" postag="NNP"/>
                <token postag="POS">'s</token>
                <token chunk="I-NP-plural" min="0" max="2" postag_regexp="yes" postag="JJ.*|VBN"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
            </antipattern>
            <antipattern>
                <token>one</token>
                <token>'s</token>
                <token chunk_re="I-NP-(singular|plural)"/>
            </antipattern>
            <antipattern><!-- #4491 all of one's designated of -->
                <token postag="DT"/>
                <token>of</token>
                <token>one</token>
                <token>'s</token>
                <token chunk="E-NP-singular" postag="VBN"/>
                <token>of</token>
            </antipattern>
            <antipattern><!-- #4491 Smithsonian National Air and Space Museum's How Things Fly website -->
                <token regexp="yes">\p{Lu}\p{L}+</token>
                <token regexp="yes">\p{Lu}\p{L}+</token>
                <token>'s</token>
                <token chunk_re="[BI]-NP-(singular|plural)" regexp="yes">\p{Lu}\p{L}+</token>
                <token chunk_re="[BIE]-NP-(singular|plural)" regexp="yes">\p{Lu}\p{L}+</token>
            </antipattern>
            <antipattern><!-- #4542 Crabwell Manor's pamper package includes -->
                <token regexp="yes">\p{Lu}\p{L}+</token>
                <token chunk="E-NP-singular" regexp="yes">\p{Lu}\p{L}+</token>
                <token chunk="B-NP-singular" postag="POS">'s</token>
                <token min="0" max="4" chunk="I-NP-singular"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN.*"/>
                <token postag_regexp="yes" postag="VB[PZD]?|RB"/><!-- An incorrect verb inflection will be ignored [pamper package always include], but that is a different problem -->
            </antipattern>
            <antipattern><!-- #4542 Data Fortress's managed services products have  -->
                <token chunk="B-NP-plural" postag_regexp="yes" postag="NN(:UN?)?" regexp="yes">\p{Lu}\p{L}+</token><!-- data/NNS causes the chunk to be plural -->
                <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?" regexp="yes">\p{Lu}\p{L}+</token>
                <token chunk="B-NP-plural" postag="POS">'s</token>
                <token min="0" max="4" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag_regexp="yes" postag="VB[PZD]?|RB"/>
            </antipattern>
            <rule>
                <antipattern><!-- Bhaktivedanta Swami -->
                    <token postag="NNP"/>
                    <token>Swami</token>
                </antipattern>
                <pattern>
                    <token><exception postag="DT|JJ.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="NN(:UN)?" postag_regexp="yes">
                            <exception postag="VB"/>
                            <exception regexp="yes">&given_names_that_are_also_nouns;</exception>
                        </token>
                        <token>'s<exception inflected="yes">have</exception></token><!-- TODO postag="POS" after fixing FN -->
                    </marker>
                    <token postag="VB[DP]" postag_regexp="yes"><exception postag="NN.*|JJ.*" postag_regexp="yes"/><exception>got</exception></token>
                </pattern>
                <message suppress_misspelled="yes">Consider using the plural form here.</message>
                <suggestion><match no="2" postag="NNP?S" postag_regexp="yes" /></suggestion>
                <short>Possible typo</short>
                <example>And how funny it'll seem, sending presents to one's own feet!</example>
                <example correction="teachers">7 reasons why <marker>teacher's</marker> found us top class</example><!-- 2021-03-04 MFU. This sentence is ambiguous. ... why teacher [zero-article job role] has found ... -->
                <example correction="ones">The sequence consists of <marker>one's</marker> designated as TRUE and zero's designated as FALSE.</example>
                <example correction="admins">Please have one of your book <marker>admin's</marker> send Marc Janichen the Brent curve?</example>
                <example correction="attorneys">Last month, however, the ISO's <marker>attorney's</marker> alerted the WSCC that the...</example><!-- #4542 -->
                <example>The whole sky's caved in.</example>
                <example>His throat's shut.</example>
                <example>Tom's double-parked.</example>
                <example>Despite disagreeing with many of <marker>Bhaktivedanta Swami</marker>'s required prohibitions, Ginsberg often...</example>
                <example>Genius is nothing more than one's rediscovered youth.</example>
                <example>Court's adjourned.</example>
                <example>Eight-ball: The goal is to () all of one's designated of balls...</example><!-- #4491. Note the incorrect 'of' -->
                <example>Eight-ball: The goal is to () all of one's designated balls...</example><!-- #4491. No FP -->
                <example>Bolivia’s estimated 2012 gross domestic product is up 2%.</example>
                <example>Brewer's spent grain consists of the residue of malt and grain.</example>
                <example>It has been permitted under the California Energy Commission's expedited emergency review process.</example>
                <example>Brewer's spent grain consists of the residue of malt and grain.</example>
                <example>These are just some of Dickens's acclaimed flights of fancy.</example>
                <example>Yesterday's estimated volume was 127,000 contacts.</example>
                <example>My hair's messed up this morning.</example><!-- #4542 -->
                <example>Your mother's brought each of you something.</example><!-- #4542 -->
                <example>A grade II listed building, Crabwell Manor's pamper package includes use of the Spa...</example><!-- #4542 -->
                <example>A grade II listed building, Crabwell Manor's pamper package always include use of the Spa...</example><!-- #4542. Incorrect verb inflection 'include' is a different problem. -->
                <example>Data Fortress's managed services products have been well accepted into the marketplace.</example><!-- #4542 -->
                <example>Data Fortress's managed services products actually really has been well accepted into the marketplace.</example><!-- #4542. Incorrect verb inflection 'has'. -->
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NNP" min="1" max="3" />
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|SENT_START" postag_regexp="yes" />
                    <token postag="NNP" />
                    <token>&amp;</token>
                    <token postag="NNP" />
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>the</token>
                    <token>doctor</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>the</token>
                    <token postag="NNP" />
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="NNP?|NN:.*" postag_regexp="yes">
                            <exception postag="RB"/>
                        </token>
                        <token>'s</token>
                    </marker>
                    <token postag="W.*" postag_regexp="yes" regexp="yes">[hw].+</token>
                </pattern>
                <message suppress_misspelled="yes">Consider using the plural form here.</message>
                <suggestion><match no="1" postag="NNP?S" postag_regexp="yes" /></suggestion>
                <short>Possible typo</short>
                <example>Here's how the scheme works.</example>
                <example correction="reasons">7 <marker>reason's</marker> why</example>
                <example correction="ideas">Anyone have any <marker>idea’s</marker> who?</example>
                <example correction="PA|PAs|Pas">At this date, we will need to be publishing ETA's and <marker>PA's</marker> which reference EnronOnline.</example><!-- #4491 -->
                <example correction="customers">OATI has specific <marker>customer's</marker> whose security policies and procedures require...</example><!-- #4491 -->
                <example>Do you stay at Tom's when you're in Boston?</example>
                <example>Bill Oddie's How to Watch Wildlife</example>
                <example>If Professor Spengler has in mind a risk theory of profit such as Adam Smith’s where part of the undertaker’s profits were for risk bearing and the other for interest return on capital, then he is certainly correct.</example>
                <example>I was at the doctor's when you called today.</example>
                <example>I believe that the form of this agreement is consistent with the IFS's which we have engaged ComEd to complete on the Lincoln Energy Center and the Plano(Yorkville) project.</example>
                <example>Smithsonian National Air and Space Museum's How Things Fly website.</example><!-- #4491 -->
            </rule>
        </rulegroup>
        <rulegroup id="DOS_AND_DONTS" name="Do's and Don'ts">
            <url>https://www.lexico.com/definition/dos_and_don'ts</url>
            <antipattern>
                <token>dos</token>
                <token regexp="yes">and|&amp;</token>
                <token>don</token>
                <token regexp="yes">['’]</token>
                <token>ts</token>
            </antipattern>
            <rule><!-- catches "do's and dont's" -->
                <pattern>
                    <token>do</token>
                    <token>'s</token>
                    <token regexp="yes">and|&amp;</token>
                    <token regexp="yes">dont?</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>ts</token>
                </pattern>
                <message>Did you mean the idiom <suggestion><match no="1" regexp_match="(?i)o" regexp_replace="os" /> \3 <match no="4" regexp_match="(?i)ont?" regexp_replace="on'ts" /></suggestion>?</message>
                <example correction="Dos and Don'ts">Please advise me on the most suitable colour print film and some <marker>Do's and Don'ts</marker>.</example>
            </rule>
            <rule><!-- catches "dos and dont's" -->
                <pattern>
                    <token>dos</token>
                    <token regexp="yes">and|&amp;</token>
                    <token regexp="yes">dont?</token>
                    <token>'s</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>\1 \2 <match no="3" regexp_match="(?i)ont?" regexp_replace="on'ts" /></suggestion>?</message>
                <example correction="Dos and Don'ts">Please advise me on the most suitable colour print film and some <marker>Dos and Dont's</marker>.</example>
            </rule>
            <rule><!-- catches "dos and donts" -->
                <pattern>
                    <token>dos</token>
                    <token regexp="yes">and|&amp;</token>
                    <token>donts</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>\1 \2 <match no="3" regexp_match="(?i)onts" regexp_replace="on'ts" /></suggestion>?</message>
                <example correction="Dos &amp; Don'ts">Please advise me on the most suitable colour print film and some <marker>Dos &amp; Donts</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="VERB_APOSTROPHE_S" name="Verb with 's">
            <short>Possible typo</short>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">it|you</token>
                    <token postag="NNP|NN:UN?" postag_regexp="yes" />
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">be|have</token>
                    <token postag="PRP" />
                    <token postag="NNP|NN:UN?" postag_regexp="yes" />
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">be|have</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                    <token postag="NNP|NN:UN?" postag_regexp="yes" />
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ii]t|[Ss]he|[Hh]e</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="VBP?" postag_regexp="yes">
                            <exception regexp="yes">cc|let</exception>
                            <exception case_sensitive="yes">Max</exception>
                        </token>
                        <token spacebefore="no">'s</token>
                    </marker>
                </pattern>
                <message>Do not use 's with a verb.</message>
                <suggestion><match no="3" postag="VBZ" /></suggestion>
                <example correction="sounds">It <marker>sound's</marker> too good.</example>
                <example correction="seems">She <marker>seem's</marker> happy.</example>
                <example correction="gets">It <marker>get’s</marker> easier when you can recognize who’s what.</example>
                <example correction="is">It <marker>be’s</marker> like that sometimes.</example>
                <example correction="lasts">But this happens maybe twice a month and it <marker>last’s</marker> for minutes.</example>
                <example correction="gets">If it <marker>get’s</marker> flagged again, then a moderator will have to manually handle the flag.</example>
                <example correction="sees">I think he <marker>see's</marker> my logic</example>
                <example>If you like it then let's get it.</example>
                <example>I can make you animal's best friend.</example>
                <example>I will do it so Max's sister is happy.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="VBP?">
                        <exception postag_regexp="yes" postag="NN.*"/>
                        <exception regexp="yes">cc|let|matt|harry|trump|prim|father|people|google</exception>
                        <exception case_sensitive="yes" regexp="yes">[A-Z].+</exception><!-- Assume initial caps is NNP -->
                    </token>
                    <token spacebefore="no">'s</token>
                </pattern>
                <message>Do not use 's with a verb.</message>
                <suggestion><match no="1" postag="VBZ" /></suggestion>
                <example correction="becomes">If this <marker>become's</marker> a problem, stop the test.</example>
                <example correction="begins">Before he <marker>begin's</marker> the test, the technician must…</example>
                <example correction="disambiguates"><!--Not a noun in standard English. -->Sometimes, the special <marker>disambiguate's</marker> are not correct.</example>
                <example>If this <marker>becomes</marker> a problem, stop the test.</example>
                <example>What do <marker>Peter's</marker> parents do?</example>
                <example>But do not <marker>Peter's</marker> parents agree with you?</example>
                <example><marker>Let's</marker> face it, it's impossible.</example>
                <example>I tell you, <marker>Bleed's</marker> the man you need to see.</example>
                <example>Not correct, but out of scope. The <marker>air filter's</marker> on the machine are dirty.</example>
                <example>Not correct, but out of scope. Make sure that the window <marker>open's</marker> fully.</example>
                <example>Not correct, but out of scope. The <marker>let's</marker> are not expensive in this part of town.</example>
                <example>...moved to the BAA and won that league's 1948 title.</example><!-- #2358 -->
                <example>How did people's lifestyle change?</example><!-- #2540 -->
                <example>- Police officer's active work:</example><!-- #2540 -->
                <example>It's will.i.am's approach.</example>
                <example>You can give me doctor's number.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[dg]oe</token>
                    <token spacebefore="no">'s</token>
                </pattern>
                <message>Do not use 's with a verb.</message>
                <suggestion>\1s</suggestion>
                <example correction="does">He <marker>doe's</marker> not know what he is talking about.</example>
                <example>The Commission's concurrence on DOE's general repository siting rule is separate and distinct from any comments.</example>
                <example>John Doe's and Jane Doe's fake personality.</example>
            </rule>
            <rule><!-- Special rule for 'get': https://github.com/languagetool-org/languagetool/issues/1395 -->
                <antipattern><!-- ... and his stunning get's surprised everyone. -->
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token postag="JJ"/>
                    <token>get</token>
                    <token/>
                    <token postag="VBN"/>
                </antipattern>
                <pattern>
                    <token postag="VB">get</token><!-- The noun 'get' is not archaic. Refer to noun (2): https://www.merriam-webster.com/dictionary/get -->
                    <token spacebefore="no">'s<exception scope="next">are</exception><exception scope="next" postag="VBN"/></token>
                </pattern>
                <message>Do not use 's with a verb.</message>
                <suggestion>gets</suggestion>
                <example correction="gets">This vehicle <marker>get’s</marker> used too much.</example>
                <example correction="gets">The air <marker>get's</marker> colder.</example>
                <example>This vehicle <marker>gets</marker> used too much...</example>
                <example>The stupid <marker>get's</marker> fallen off his bicycle.</example>
                <example>... in the tennis match, and his <marker>get's</marker> surprised everyone. [=get has surprised]</example>
                <example>Found by APOSTROPHE_PLURAL and APOS_ARE. His <marker>get's</marker> are amazing to watch.</example>
                <example>Noun, out of scope. His <marker>get’s</marker> surprise everyone.</example>
                <example>... and his stunning <marker>get's</marker> surprised everyone.</example>
                <example>... and her amazing <marker>get's</marker> shown how good she is.</example>
                <example>... but his <marker>get's</marker> very unusual. The entire progeny is...</example>
<!-- False negative caused by PRPPOSS_VB_NN. The problem is semantic. Refer to the 'progeny' example. --><example>My car stays clean, but his <marker>get's</marker> very dirty.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re="[IE]-NP-singular" postag="NN|NN:UN?" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VB" case_sensitive="yes" regexp="yes">
                            [a-z].+
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                        <token>'s</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk_re=".-NP.*" />
                </pattern>
                <message>Do not use 's with a verb.</message>
                <suggestion suppress_misspelled="yes"><match no="3" postag="VBZ" /></suggestion>
                <example correction="sees">First, check if the user really <marker>see's</marker> the text.</example>
            </rule>
        </rulegroup>

        <rulegroup id="ANY_BODY" name="any body (anybody)">
            <rule>
                <antipattern><!-- any one architectural movement -->
                    <token>any</token>
                    <token>one</token>
                    <token postag="NN(:UN?)?|JJ" postag_regexp="yes"><exception postag_regexp="yes" postag="VB.*"/></token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"><exception postag="PRP"/></token>
                </antipattern>
                <antipattern><!-- any one hand at -->
                    <token>any</token>
                    <token>one</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token postag="IN"/>
                </antipattern>
                <antipattern><!-- at any one time -->
                    <token postag="IN"/>
                    <token>any</token>
                    <token>one</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- choose any one book -->
                    <token postag="VB">
                        <exception postag="MD"/></token>
                    <token>any</token>
                    <token>one</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token>any</token>
                    <token>one</token>
                    <token>person</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">any|some</token>
                    <token regexp="yes">One|ONE</token>
                </antipattern>
                <antipattern><!-- from any one country -->
                    <token chunk="B-PP" />
                    <token chunk="B-NP-singular">any</token>
                    <token chunk="I-NP-singular">one</token>
                    <token chunk="E-NP-singular">
                        <exception>else</exception>
                    </token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">any|some</token>
                        <token>one</token>
                    </marker>
                    <token><exception>of</exception></token>
                </pattern>
                <message>Did you mean <suggestion>\1\2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="anyone">Does <marker>any one</marker> need help here?</example>
                <example correction="Anyone"><marker>Any one</marker> needs help here?</example>
                <example correction="anyone">Can <marker>any one</marker> point me to the right direction?</example>
                <example correction="someone">Come quickly; <marker>some one</marker> needs help here.</example>
                <example correction="Someone"><marker>Some one</marker> occasionally was seen in the deserted building.</example>
                <example correction="anyone">Please forward these templates to <marker>any one</marker> else in your group who may wish to review and comment on.</example>
                <example correction="anyone">She smiled at his tales, for she knew all about the bottom of the sea much better than <marker>any one</marker> else.</example>
                <example>Smith was the American architect who refused to be classified in <marker>any one</marker> architectural movement.</example>
                <example>The propositions of field theory do not concern <marker>any one</marker> particular application;</example>
                <example>... 960 such combinations, and the chance of drawing <marker>any one</marker> hand at random is 1 / 2,598,960.</example>
                <example>But the Communists never gave sufficient provocation at <marker>any one</marker> time for the United States to want to risk a limited or an all-out war over Laos.</example>
                <example>Up to nine larvae can develop in the oviduct at any one time.</example>
                <example>This meaning is not furnished by any one individual, but is often the result of many...</example>
                <example>Choose any one book you like.</example>
                <example>In both the Olympic and BWF World competitions restrictions on the number of participants from any one country have caused some controversy because they sometimes result in excluding elite world level players from the strongest badminton nations.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>body</token>
                    <token regexp="yes">cells?|parts?|tags?|elements?|hair|counts?|workouts?|builders?|building|fat|movements?|armor|language|fluids?|paragraphs?|shapes?</token>
                </antipattern>
                <antipattern>
                    <token>body</token>
                    <token>of</token>
                    <token regexp="yes">water|work</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">no|any|some</token>
                    <token regexp="yes">Body|BODY|Thing|THING</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">no|any|some</token>
                    <token regexp="yes">body|thing</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Nobody"><marker>No body</marker> seems to care.</example>
                <example correction="nothing">There's <marker>no thing</marker> wrong with this sentence.</example>
                <example type="triggers_error">These individuals usually have <marker>no body</marker> weakness, because their brain injury is not near ...</example>
                <example type="triggers_error">If the net force on <marker>some body</marker> is directed always toward some point, the center,...</example>
                <example type="triggers_error">... by convention rather than formal code: there is <marker>no body</marker> equivalent to L’Académie française.</example>
                <example type="triggers_error">... and discovers there is <marker>no body</marker> in the grave.</example>
                <example type="triggers_error">Any body in orbit around the Sun would move slightly...</example>
            </rule>
        </rulegroup>
        <rulegroup id="MAY_BE" name="may be (maybe)">
            <url>https://dictionary.cambridge.org/de/grammatik/britisch-grammatik/maybe-or-may-be</url>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC" postag_regexp="yes" />
                    <token inflected="yes" regexp="yes">do|be</token>
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token min="0">t</token>
                    <token regexp="yes">you|s?he|they|we|it|I</token>
                    <marker>
                        <token>may</token>
                        <token>be</token>
                    </marker>
                    <token postag="VB.*|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>maybe</suggestion> (= perhaps)?</message>
                <example correction="maybe">Did you <marker>may be</marker> mean this?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|s?he|they|we|it|I</token>
                    <marker>
                        <token>may</token>
                        <token>be</token>
                    </marker>
                    <token postag="VBZ?|MD" postag_regexp="yes">
                        <exception postag="JJ.*|NN.*|VBN" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>maybe</suggestion> (= perhaps)?</message>
                <example correction="maybe">You <marker>may be</marker> could check this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" skip="1">(what|how|when|where)ever</token>
                    <token>may</token>
                    <token>be</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token>may</token>
                    <token>be</token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <antipattern>
                    <token postag="PRP" />
                    <token postag="RB" min="0" />
                    <token>may</token>
                    <token>be</token>
                    <token postag="PRP" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>may</token>
                        <token>be</token>
                    </marker>
                    <token postag="PRP" regexp="yes">I|you|they|s?he|we|it</token>
                </pattern>
                <message>Did you mean <suggestion>maybe</suggestion> (= perhaps)?</message>
                <short>Possible typo</short>
                <example correction="Maybe"><marker>May be</marker> I don't understand.</example>
                <example>It may be they already answered.</example>
                <example>That they all may be one...</example>
                <example>This may be it.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>may</token>
                        <token>be</token>
                    </marker>
                    <token>there</token>
                </pattern>
                <message>Did you mean <suggestion>maybe</suggestion> (= perhaps)?</message>
                <short>Possible typo</short>
                <example correction="Maybe"><marker>May be</marker> there is someone who can help.</example>
                <example>That they all may be there...</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">May|MAY</token>
                        <token>be</token>
                    </marker>
                    <token postag="DT|PRP\$|NNP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb "maybe" (= perhaps), or did you forget a pronoun?</message>
                <suggestion>maybe</suggestion>
                <suggestion>It may be</suggestion>
                <short>Possible typo</short>
                <example correction="Maybe|It may be"><marker>May be</marker> a new one?.</example>
                <example correction="Maybe|It may be"><marker>May be</marker> his father knows.</example>
                <example correction="Maybe|It may be"><marker>May be</marker> Google will announce a new version of Android tomorrow.</example>
            </rule>
            <rule>
                <pattern>
                    <token>(</token>
                    <marker>
                        <token>may</token>
                        <token>be</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>maybe</suggestion> (= perhaps)?</message>
                <short>Possible typo</short>
                <example correction="maybe">I paid (<marker>may be</marker>) an exorbitant price for this.</example>
                <example>I paid (maybe) an exorbitant price.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>may</token>
                    <token>be</token>
                    <token postag="VBN|TO|IN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>may</token>
                    <token>be</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">be|do|have|will|can</token>
                    <marker>
                        <token>may</token>
                        <token>be</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>maybe</suggestion> (= perhaps)?</message>
                <example correction="maybe">This is <marker>may be</marker> the best solution.</example>
                <example correction="maybe">It appears this is <marker>may be</marker> some sort of an authorization problem.</example>
                <example>What's not yet done may be left undone.</example>
                <example>So the way in which integrations are currently done may be quite different from the way they will be done in the future.</example>
                <example>The easiest thing to do may be to handle this internally if we want a different notification at the higher threshhold.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ONCE_AND_A_WHILE" name="once and (in) a while">
            <rule>
                <pattern>
                    <token>once</token>
                    <token regexp="yes">and|on</token>
                    <token>a</token>
                    <token>while</token>
                </pattern>
                <message>This is a non-standard phrase. Did you mean <suggestion>once in a while</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="once in a while">My computer starts up only <marker>once and a while</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>once</token>
                    <token regexp="yes">and|on</token>
                    <token>awhile</token>
                </pattern>
                <message>This is a non-standard phrase. Did you mean <suggestion>once in a while</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="once in a while">My computer starts up only <marker>once and awhile</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="SPARKING_WINE" name="sparking (sparkling) wine">
            <pattern>
                <token>sparking</token>
                <token regexp="yes">wines?|water</token>
            </pattern>
            <message>Possible typo. Did you mean <suggestion>sparkling \2</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="sparkling wine">I love <marker>sparking wine</marker>.</example>
            <example>I hate sparkling wine.</example>
        </rule>
        <rulegroup id="THROWS_THROES" name="throws (throes)">
            <rule>
                <pattern>
                    <token regexp="yes">final|first|last|death</token>
                    <marker><token>throws</token></marker>
                </pattern>
                <message>Did you mean <suggestion>throes</suggestion> (= a painful struggle)?</message>
                <example correction="throes">He was in the final <marker>throws</marker> of death.</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="1">the</token>
                    <marker><token>throws</token></marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>throes</suggestion> (= a painful struggle)?</message>
                <example correction="throes">The country is still in the <marker>throws</marker> of a major crisis.</example>
            </rule>
        </rulegroup>
        <rule id="THOUGH_THROUGH" name="though (through)">
            <pattern>
                <token inflected="yes" regexp="yes">read|go|look|fly|drive|swim|run|walk|break|scroll</token>
                <marker><token>though</token></marker>
                <token><exception regexp="yes">[,;.:!…\)]</exception></token>
            </pattern>
            <message>Did you mean <suggestion>through</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="through">You should read <marker>though</marker> this contract.</example>
            <example correction="through">He is going <marker>though</marker> a rough time.</example>
            <example>You should have a look though.</example>
            <example>It looks the same but upon closer inspection of their code they have changed object names (same look though).</example>
        </rule>
        <rulegroup id="ENVELOPE_ENVELOP" name="envelope (envelop)">
            <rule>
                <antipattern><!-- Premium #1795 the envelope our boss -->
                    <token postag="DT"/>
                    <token chunk_re="E-NP-(singular|plural)" regexp="yes">envelopes?</token>
                </antipattern>
                <antipattern><!-- Premium #1795 know which envelopes her...? -->
                    <token postag_regexp="yes" postag="VB.*"/>
                    <token>which</token>
                    <token skip="-1" regexp="yes">envelopes?</token>
                    <token>?</token>
                </antipattern>
                <pattern>
                    <marker><token regexp="yes">envelopes?</token></marker>
                    <token postag="PRP" regexp="yes">&object_pronouns;</token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="1" regexp_match="envelope" regexp_replace="envelop" /></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="envelop">The smell started to <marker>envelope</marker> me.</example><!-- envelope/E-NP-singular -->
                <example correction="envelops">The soft duvet <marker>envelopes</marker> her.</example>
                <example correction="envelops">The duvet, which <marker>envelopes</marker> me fully, is soft and warm.</example>
                <example correction="envelop">The blankets, which <marker>envelope</marker> them in lamblike softness, are made from...</example>
                <example>The smell started to <marker>envelop</marker> me.</example>
                <example>Tom gave Mary an envelope he wanted her to give to John.</example><!-- Premium #1795 -->
                <example>Have you seen the envelope our boss gave to me?</example>
                <example>I lost the large envelopes he gave to me.</example>
                <example>I know which envelopes our boss wants.</example>
                <example>Do you know which envelopes her mother wants?</example><!-- envelopes/B-VP -->
            </rule>
            <rule>
                <antipattern><!-- Questions "Would envelope ... ?"-->
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token postag="MD" />
                </antipattern>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>envelope</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>envelop</suggestion>? "\3" is a verb.</message>
                <example correction="envelop">Soft silky heels that will <marker>envelope</marker> your feet from the boardroom to parties and make you feel dressed like a daydream.</example>
            </rule>
        </rulegroup>
        <rule id="ENVELOP_ENVELOPE" name="envelop (envelope)">
            <pattern>
                <token regexp="yes">an?|the|my|his|her|their|our|your</token>
                <marker><token regexp="yes">envelops?</token></marker>
            </pattern>
            <message>Did you mean the noun <suggestion><match no="2" regexp_match="envelop" regexp_replace="envelope" /></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="envelope">Please open the <marker>envelop</marker>.</example>
        </rule>
        <rule id="VERY_MATCH" name="very match (much)">
            <pattern>
                <token>you</token>
                <marker>
                    <token>very</token>
                    <token>match</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>very much</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="very much">Thank you <marker>very match</marker>.</example>
        </rule>
        <rule id="VARY_MUCH" name="...you vary (very) much">
            <pattern>
                <token>you</token>
                <marker>
                    <token>vary</token>
                </marker>
                <token>much</token>
            </pattern>
            <message>Did you mean <suggestion>very</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="very">Thank you <marker>vary</marker> much.</example>
        </rule>
        <!-- hasn't &amp;irregular_verb::word=\0 \1:participle::pivots=\1,\1:participle -->
        <rule id="HASNT_IRREGULAR_VERB" name="'hasn't' + irregular past tense verb">
            <antipattern><!-- #3268 You weren't awake. -->
                <token regexp="yes">you|we|they</token>
                <token>were</token>
                <token>n't</token>
                <token postag="JJ"/>
                <token postag_regexp="yes" postag="SENT_END|IN">
                    <exception>by</exception>
                </token>
            </antipattern>
            <antipattern><!-- #3268 technicians weren't awake at the time of the accident. -->
                <token postag="NNS"/>
                <token>were</token>
                <token>n't</token>
                <token postag="JJ"/>
                <token postag="IN">
                    <exception>by</exception>
                </token>
            </antipattern>
            <antipattern><!-- Premium #1795 I thought Tom and Mary weren't awake. -->
                <token postag_regexp="yes" postag="NNS|NNP"/>
                <token>were</token>
                <token>n't</token>
                <token postag="JJ"/>
                <token postag_regexp="yes" postag="SENT_END|CC"/>
            </antipattern>
            <pattern>
                <token regexp="yes">has|were|had|have</token>
                <token>n't</token>
                <token regexp="yes">ab[io]de|alight|ar[io]se|ate|aw[ao]ke|be(ar|came)?|bef[ae]ll|beg(an|et|in|ot)|behold|bend|beseech|betake|bethink|betook|bind|bit|bite|bleed|blew|blow|bore|break|breed|bring|broke|browbeat|build|burn|buy|came|catch|chide|choo?se|clap|cling|clothe|creep|dare|daydream|deal|di[dg]|disprove|dive|do|dove|drank|draw|dream|drew|drink|dr[io]ve|dwell|eat|f[ae]ll|feed|feel|fight|find|flee|flew|fling|fly|forbade|forbear|forbid|forbore|forego|foresaw|foresee|foretell|forewent|forgave|forget|forgive|forgot|forsake|forsook|forswear|freeze|frostbite|froze|gainsay|gave|get|gild|give|go|grew|grind|grow|hang|have|hear|heave|hew|hewed|hid|hide|hold|inbreed|inlay|keep|kneel|knew|know|lade|landslide|lay|lead|lean|leap|learn|leave|lend|lie|light|lose|make|mean|meet|mislead|misspell|mistake|mistook|misunderstand|mow|outdid|outdo|outgrew|outgrow|outlay|outran|outride|outshine|overbore|overcame|overdo|overeat|overhang|overhear|overlay|overleap|overlie|overran|override|oversaw|oversee|overtake|overthrew|overthrow|overtook|overwrite|partake|partook|pay|plead|prove|ran|rang|rebuild|redid|redo|reeve|refit|regrow|relay|relight|remake|rend|repay|retake|retell|rethink|retook|rewind|rewrite|rewrote|ride|ring|rise|rived|rode|rose|sang|sank|saw|say|see|seek|sell|send|sew|shake|shave|shear|sheared|shine|shoe|shook|shoot|show|showed|shrank|shrink|sing|sink|sit|slay|sleep|slide|sling|slink|smell|smite|sneak|sow|sowed|speak|speed|spell|spend|spill|spin|spoil|spoke|sprang|spring|stand|stank|stave|steal|stick|sting|stink|stole|strew|strewed|stride|strike|string|strip|strive|stro[dv]e|sunburn|swam|swear|sweep|swell(ed)?|swim|swing|swore|take|teach|tear|tell|think|threw|thrive|throve|throw|took|tore|tread|troubleshoot|typewrite|unb[ei]nd|undergo|underlay|underlie|undersell|understand|undertake|undertook|underwent|undid|undo|unlearn|unmake|unsay|unwind|uphold|vex|wake|was|waylay|wear|weave|wed|weep|went|whet|wind?|withdr[ae]w|withhold|withstand|wo[krv]e|wring|write|wrote
                    <exception postag="VBN">showed</exception><!-- Premium #1795 -->
                </token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/><match no="2"/> <match no="3" postag="VBN"/></suggestion>?</message>
            <example correction="haven't bitten">They <marker>haven't bit</marker> their tongue.</example>
            <example correction="weren't awaked|weren't awoken">You <marker>weren't awake</marker> by the alarm clock, were you?</example><!-- #3268 -->
            <example correction="weren't awaked|weren't awoken">The children <marker>weren't awake</marker> by the storm, were they?</example><!-- #3268 -->
            <example correction="weren't awaked|weren't awoken">The technicians <marker>weren't awake</marker> by the emergency alarm.</example><!-- #3268 -->
            <example correction="weren't awaked|weren't awoken">We slept soundly; we know we <marker>weren't awake</marker> by the storm!</example><!-- #3268 -->
            <example correction="hasn't sent">Tom <marker>hasn't send</marker> any message yet.</example>
            <example>They haven't awoken before nine in a long time.</example>
            <example>You weren't awake.</example><!-- #3268 -->
            <example>You weren't awake at the time of the accident.</example><!-- #3268 -->
            <example>Are you sure they weren't awake?</example><!-- #3268 -->
            <example>Tom and Mary said that they weren't broke.</example>
            <example>The technicians weren't awake at the time of the accident, were they?</example><!-- #3268 -->
            <example>I thought Tom and Mary weren't awake.</example><!-- Premium #1795 -->
            <example>Tom's lazy children weren't awake when I visited him.</example><!-- Premium #1795 -->
            <example>Sami became more and more concerned that Layla still hadn't showed up.</example><!-- Premium #1795 -->
        </rule>
        <!-- could've &amp;irregular_verb::word=\0 \1:participle::pivots=\1,\1:participle -->
        <rule id="COULDVE_IRREGULAR_VERB" name="'Could've' + irregular past tense verb">
            <pattern>
                <token regexp="yes">could|would|should|you|i|we|they</token>
                <token spacebefore="no">'ve</token>
                <token regexp="yes">ab[io]de|alight|ar[io]se|ate|aw[ao]ke|be(ar)?|became|bef[ae]ll|beg[ai]n|beg[eo]t|behold|bend|beseech|betake|bethink|betook|bind|bite?|bleed|bl[eo]w|bore|break|breed|bring|broke|browbeat|build|burn|buy|came|catch|chide|choo?se|clap|cling|clothe|creep|dare|daydream|deal|di[dg]|disprove|dive|do(ve)?|drank|draw|dream|drew|drink|dr[io]ve|dwell|eat|f[ae]ll|fee[dl]|fight|find|fle[ew]|fling|fly|forbade|forbear|forbid|forbore|forego|foresaw|foresee|foretell|forewent|forgave|forg[eo]t|forgive|forsake|forsook|forswear|freeze|frostbite|froze|gainsay|g[ai]ve|get|gild|gr[eo]w|grind|hang|have|hear|heave|hew|hewed|hide?|hold|inbreed|inlay|keep|kneel|kn[eo]w|lade|landslide|lay|lea[dnp]|learn|leave|lend|lie|light|lose|make|mean|meet|mislead|misspell|mistake|mistook|misunderstand|mow|outdid|outdo|outgrew|outgrow|outlay|outran|outride|outshine|overbore|overcame|overdo|overeat|overhang|overhear|overlay|overleap|overlie|overran|override|oversaw|oversee|overtake|overthrew|overthrow|overtook|overwrite|partake|partook|pay|plead|prove|ran|rang|rebuild|redid|redo|reeve|refit|regrow|relay|relight|remake|rend|repay|retake|retell|rethink|retook|rewind|rewrite|rewrote|ride|ring|rise|rived|rode|rose|sang|sank|saw|say|see|seek|sell|send|sew|shake|shave|shear|sheared|shine|shoe|shook|shoot|show|showed|shrank|shrink|sing|sink|sit|slay|sleep|slide|sling|slink|smell|smite|sneak|sow|sowed|speak|speed|spell|spend|spill|spin|spoil|spoke|sprang|spring|stand|stank|stave|steal|stick|sting|stink|stole|strew|strewed|stride|strike|string|strip|strive|strode|strove|sunburn|swam|swear|sweep|swell|swelled|swim|swing|swore|take|teach|tear|tell|think|threw|thrive|throve|throw|took|tore|tread|troubleshoot|typewrite|unbend|unbind|undergo|underlay|underlie|undersell|understand|undertake|undertook|underwent|undid|undo|unlearn|unmake|unsay|unwind|uphold|vex|wake|was|waylay|wear|weave|wed|weep|went|whet|win|wind|withdraw|withdrew|withhold|withstand|woke|wore|wove|wring|write|wrote
                    <exception postag="VBN">showed</exception><!-- Premium #1795 -->
                </token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/><match no="2"/> <match no="3" postag="VBN"/></suggestion>?</message>
            <example correction="could've eaten">We <marker>could've ate</marker> the chicken.</example>
            <example>I think I've showed considerable constraint under the circumstances.</example><!-- Premium #1795 -->
        </rule>
        <!-- an|in|for|the|to every day::word=\0 everyday::pivots=\1 \2,everyday -->
        <rulegroup id="ANINFOR_EVERY_DAY" name="an every day (everyday)">
            <rule>
                <pattern>
                    <token regexp="yes">an|the</token>
                    <token>every</token>
                    <token>day</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1"/> everyday</suggestion>?</message>
                <example correction="an everyday">You shouldn’t wear <marker>an every day</marker> outfit to the wedding.</example>
                <example>Check in every day!</example>
                <example>Once you make a commitment, you do what you have to every day.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">for|in|to</token>
                        <token>every</token>
                        <token>day</token>
                    </marker>
                    <token>
                        <exception regexp="yes">\(|is|are</exception>
                        <exception postag_regexp="yes" postag="IN|PCT|CC"/>
                        <exception regexp="yes">&subordinating_conjunctions;</exception>
                        </token>
                </pattern>
                <message>Did you mean <suggestion><match no="1"/> everyday</suggestion>?</message>
                <example correction="for everyday">These shoes are great <marker>for every day</marker> wear.</example>
                <example correction="to everyday">He used a language so formal that it was unintelligible <marker>to every day</marker> people.</example>
                <example>Check in every day!</example>
                <example>Once you make a commitment, you do what you have to every day.</example>
                <example>It's great they can experience what I'm up to every day and see what my lifestyle is.</example>
                <example>The war was in everybody's mind for every day of the five years that it encompassed.</example>
                <example>... and gather what is sufficient for every day: that I may prove...</example><!-- Premium #1795 -->
                <example>If must be sufficient for every day; if not, you can...</example>
                <example>That's true for every day but one.</example><!-- Premium #1795 -->
                <example>I think that's applicable to every day save Mondays.</example>
            </rule>
        </rulegroup>
        <!-- all ways::word=always -->
        <rule id="ALL_WAYS" name="all ways (always)">
            <antipattern>
                <token>ways</token>
                <token>lead</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">in|by|of</token>
                <token>all</token>
                <token>ways</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token>ways</token>
                <token>of</token>
                <token><exception>course</exception></token>
            </antipattern>
            <pattern>
                <token>all</token>
                <token>ways</token>
            </pattern>
            <message>Did you mean <suggestion>always</suggestion>?</message>
            <example correction="always">He <marker>all ways</marker> takes the last piece of cake.</example>
            <example>He always takes the cake.</example>
            <example>All ways lead to Rome.</example>
        </rule>
        <rule id="THERE_FORE" name="there fore (therefore)">
            <pattern>
                <token regexp="yes">there|where</token>
                <token>fore</token>
            </pattern>
            <message>Did you mean the adverb <suggestion>\1fore</suggestion> (spelled as one word)?</message>
            <url>https://www.merriam-webster.com/dictionary/therefore</url>
            <example correction="therefore">And <marker>there fore</marker> everything is important.</example>
        </rule>
        <rule id="SELF_FISH" name="self fish (selfish)">
            <pattern>
                <token>self</token>
                <token>fish</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>selfish</suggestion> (spelled as one word)?</message>
            <url>https://www.merriam-webster.com/dictionary/selfish</url>
            <example correction="selfish">He doesn't listen to anyone because he is very <marker>self fish</marker>.</example>
        </rule>
        <!-- every where::word=everywhere -->
        <rule id="EVERY_WHERE" name="every where (everywhere)">
            <pattern>
                <token>every</token>
                <token>where</token>
            </pattern>
            <message>Did you mean <suggestion>everywhere</suggestion>?</message>
            <example correction="everywhere">There are bugs <marker>every where</marker>.</example>
            <example>We through the trash everywhere.</example>
        </rule>
        <!-- figure head::word=figurehead -->
        <rule id="FIGURE_HEAD" name="figure head (figurehead)">
            <pattern>
                <token>figure</token>
                <token regexp="yes">heads?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="figurehead">The boss was merely a <marker>figure head</marker>.</example>
        </rule>
        <!-- flag ship::word=flagship -->
        <rule id="FLAG_SHIP" name="flag ship (flagship)">
            <pattern>
                <token>flag</token>
                <token regexp="yes">ships?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="flagship">This was the <marker>flag ship</marker> store.</example>
        </rule>
        <!-- how ever::word=however -->
        <rule id="HOW_EVER" name="how ever (however)">
            <pattern>
                <token>how</token>
                <token>ever</token>
            </pattern>
            <message>Did you mean <suggestion>however</suggestion>?</message>
            <example correction="however">We knew, <marker>how ever</marker>, that he would come around.</example>
            <example>However, this was strictly unnecessary.</example>
        </rule>
        <!-- laughing stock::word=laughingstock -->
        <rule id="LAUGHING_STOCK" name="laughing stock (laughingstock)">
            <pattern>
                <token>laughing</token>
                <token>stock</token>
            </pattern>
            <message>Did you mean <suggestion>laughingstock</suggestion>?</message>
            <example correction="laughingstock">The fool was the <marker>laughing stock</marker> of the town.</example>
        </rule>
        <!-- mean while::word=meanwhile -->
        <rule id="MEAN_WHILE" name="mean while (meanwhile)">
            <pattern>
                <token>mean</token>
                <token>while</token>
            </pattern>
            <message>Did you mean <suggestion>meanwhile</suggestion>?</message>
            <example correction="Meanwhile"><marker>Mean while</marker>, back on the farm...</example>
        </rule>
        <!-- nation wide::word=nationwide -->
        <rule id="NATION_WIDE" name="nation wide (nationwide)">
            <pattern>
                <token>nation</token>
                <token>wide</token>
            </pattern>
            <message>Did you mean <suggestion>nationwide</suggestion>?</message>
            <example correction="nationwide">There was a <marker>nation wide</marker> epidemic.</example>
        </rule>
        <!-- near by::word=nearby -->
        <rule id="NEAR_BY" name="near by (nearby)">
            <pattern>
                <token>near</token>
                <token>by</token>
            </pattern>
            <message>Did you mean <suggestion>nearby</suggestion>?</message>
            <example correction="nearby">There were some stores <marker>near by</marker>.</example>
        </rule>
        <!-- new comer::word=newcomer -->
        <rule id="NEW_COMER" name="new comer (newcomer)">
            <pattern>
                <token>new</token>
                <token regexp="yes">comers?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="newcomers">There were many <marker>new comers</marker> at the concert.</example>
        </rule>
        <!-- now a days::word=nowadays -->
        <rule id="NOW_A_DAYS" name="now a days (nowadays)">
            <pattern>
                <token>now</token>
                <token>a</token>
                <token>days</token>
            </pattern>
            <message>Did you mean <suggestion>nowadays</suggestion>?</message>
            <example correction="Nowadays"><marker>Now a days</marker>, there isn't much hope.</example>
        </rule>
        <!-- on going::word=ongoing -->
        <rulegroup id="ON_GOING" name="on going (ongoing)">
            <url>https://www.merriam-webster.com/dictionary/ongoing</url>
            <rule>
                <antipattern>
                    <token postag="PRP" />
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">no|the|an?|any|some|that|this|th[eo]se|many|my|y?our|his|her|their|its|s|in|on|at|for|of</token>
                    <marker>
                        <token>on</token>
                        <token>going</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>ongoing</suggestion> is spelled as one word.</message>
                <example correction="ongoing">It is a widely held belief that continues to be a factor in their <marker>on going</marker> support of the war.</example>
                <example correction="ongoing">This is an <marker>on going</marker> problem.</example>
                <example>I’m pulling the trigger on going to FOSDEM 2019.</example>
            </rule>
            <rule>
                <antipattern><!-- different error (compound) -->
                    <token>add</token>
                    <token>on</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">plan|insist|focus|stand</token>
                    <token>on</token>
                    <token>going</token>
                </antipattern>
                <antipattern>
                    <token>and</token>
                    <token>so</token>
                    <token>on</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>on</token>
                        <token>going</token>
                    </marker>
                    <token postag_regexp="yes" postag="(NNS?)|(NN:.*)"><exception postag="RP"/><exception regexp="yes">today|tonight|tomorrow|yesterday|shopping|crazy|forward</exception></token>
                </pattern>
                <message>The adjective <suggestion>ongoing</suggestion> is spelled as one word.</message>
                <example correction="ongoing">There is an <marker>on going</marker> investigation.</example>
                <example correction="ongoing">The usual <marker>on going</marker> problems must be corrected as soon as possible.</example>
                <example correction="ongoing">... and keep <marker>on going</marker> correspondence in the file for future reference.</example>
                <example correction="Ongoing"><marker>On going</marker> maintenance is an important part of the work.</example>
                <!-- <example correction="ongoing">They insisted <marker>on going</marker> correspondence was kept in the file for future reference.</example> -->
                <!-- <example correction="ongoing">I don't like these <marker>on going</marker> shopping trips.</example> -->
                <example>She insisted <marker>on going</marker> for a drive.</example>
                <example>He depends <marker>on going</marker> in and out of Malaysia for his visa.</example>
                <example>... and keep <marker>on going</marker> down the road to the junction.</example>
                <example>She knew why Abigail was so insistent <marker>on going</marker> tonight.</example>
                <example>I plan <marker>on going</marker> tomorrow morning.</example>
                <example>My brother is banking <marker>on going</marker> to university next year.</example>
                <example>We had a good time in London, but <marker>on going</marker> Sheffield, our holiday got even better.</example><!-- Not correct English, but out of scope of this rule. -->
                <example>The girl <marker>insisted on</marker> going shopping with her mother.</example>
                <example>Tom said that he wasn't planning on going camping this weekend.</example>
            </rule>
        </rulegroup>
        <!-- out grow::word=outgrow -->
        <rule id="OUT_GROW" name="out grow (outgrow)">
            <pattern>
                <token>out</token>
                <token inflected="yes">grow</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="outgrow">The little guy would soon <marker>out grow</marker> his clothes.</example>
            <example correction="outgrowing">He is <marker>out growing</marker> his diapers.</example>
        </rule>
        <!-- out side::word=outside -->
        <rule id="OUT_SIDE" name="out side (outside)">
            <pattern>
                <token>out</token>
                <token>side</token>
            </pattern>
            <message>Did you mean <suggestion>outside</suggestion>?</message>
            <example correction="outside">There were more tables <marker>out side</marker>.</example>
        </rule>
        <!-- over looked::word=overlooked -->
        <rule id="OVER_LOOKED" name="over looked (overlooked)">
            <pattern>
                <token>over</token>
                <token>looked</token>
            </pattern>
            <message>Did you mean <suggestion>overlooked</suggestion>?</message>
            <example correction="overlooked">There were several details we <marker>over looked</marker>.</example>
        </rule>
        <!-- over looking::word=overlooking -->
        <rule id="OVER_LOOKING" name="over looking (overlooking)">
            <pattern>
                <token>over</token>
                <token>looking</token>
            </pattern>
            <message>Did you mean <suggestion>overlooking</suggestion>?</message>
            <example correction="overlooking">We were <marker>over looking</marker> the Grand Canyon.</example>
        </rule>
        <!-- over rated::word=overrated -->
        <rule id="OVER_RATED" name="over rated (overrated)">
            <pattern>
                <token>over</token>
                <token>rated</token>
            </pattern>
            <message>Did you mean <suggestion>overrated</suggestion>?</message>
            <example correction="overrated">The movie was highly <marker>over rated</marker>.</example>
        </rule>
        <!-- over seas::word=overseas -->
        <rulegroup id="OVER_SEAS" name="over seas (overseas)">
            <rule>
                <pattern>
                    <token>over</token>
                    <token>seas</token>
                </pattern>
                <message>Did you mean <suggestion>overseas</suggestion>?</message>
                <example correction="overseas">He was stationed <marker>over seas</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>over</token>
                    <token>sea</token>
                    <token>'s</token>
                </pattern>
                <message>Did you mean <suggestion>overseas</suggestion>?</message>
                <example correction="overseas">He was stationed <marker>over sea's</marker>.</example>
            </rule>
        </rulegroup>
        <!-- short coming::word=shortcoming -->
        <rule id="SHORT_COMING" name="short coming (shortcoming)">
            <pattern>
                <token>short</token>
                <token regexp="yes">comings?</token>
            </pattern>
            <message>Did you mean <suggestion>short<match no="2" case_conversion="alllower" /></suggestion>?</message>
            <example correction="shortcoming">Being on time was his biggest <marker>short coming</marker>.</example>
        </rule>
        <!-- short cut::word=shortcut -->
        <rule id="SHORT_CUT" name="short cut (shortcut)">
            <pattern>
                <token>short</token>
                <token regexp="yes">cuts?</token>
            </pattern>
            <message>Did you mean <suggestion>short<match no="2" case_conversion="alllower" /></suggestion>?</message>
            <example correction="shortcut">I know a <marker>short cut</marker>.</example>
            <example type="triggers_error">If you won't like your short cut, you can return to your long hair.</example><!-- FP -->
        </rule>
        <!-- side kick::word=sidekick -->
        <rule id="SIDE_KICK" name="side kick (sidekick)">
            <pattern>
                <token>side</token>
                <token regexp="yes">kicks?</token>
            </pattern>
            <message>Did you mean <suggestion>side<match no="2" case_conversion="alllower" /></suggestion>?</message>
            <example correction="sidekick">He had a zany <marker>side kick</marker>.</example>
        </rule>
        <!-- sky diving::word=skydiving -->
        <rule id="SKY_DIVING" name="sky diving (skydiving)">
            <pattern>
                <token>sky</token>
                <token>diving</token>
            </pattern>
            <message>Did you mean <suggestion>skydiving</suggestion>?</message>
            <example correction="skydiving">We went <marker>sky diving</marker>.</example>
        </rule>
        <!-- some how::word=somehow -->
        <rule id="SOME_HOW" name="some how (somehow)">
            <pattern>
                <token>some</token>
                <token>how</token>
            </pattern>
            <message>Did you mean <suggestion>somehow</suggestion>?</message>
            <example correction="Somehow"><marker>Some how</marker>, we made it out alive.</example>
        </rule>
        <!-- them selves::word=themselves -->
        <rule id="THEM_SELVES" name="them selves (themselves)">
            <pattern>
                <token>them</token>
                <token>selves</token>
            </pattern>
            <message>Did you mean <suggestion>themselves</suggestion>?</message>
            <example correction="themselves">They were falling over <marker>them selves</marker>.</example>
        </rule>
        <!-- back fire::word=backfire -->
        <rule id="BACK_FIRE" name="back fire (backfire)">
            <pattern>
                <token>back</token>
                <token inflected="yes">fire</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="backfire">His plans always <marker>back fire</marker>.</example>
            <example correction="backfiring">He's <marker>back firing</marker>.</example>
        </rule>
        <!-- world wide::word=worldwide -->
        <rule id="WORLD_WIDE" name="world wide (worldwide)">
            <antipattern case_sensitive="yes">
                <token>World</token>
                <token>Wide</token>
                <token>Fund</token>
                <token regexp="yes">For|for</token><!-- Lower case 'f' is a style decision -->
                <token>Nature</token>
            </antipattern>
            <antipattern>
                <token>world</token>
                <token>wide</token>
                <token>web</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>world</token>
                    <token>wide</token>
                </marker>
            </pattern>
            <message>The adjective/adverb <suggestion>worldwide</suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/worldwide</url>
            <example correction="worldwide">There was a <marker>world wide</marker> epidemic.</example>
            <example>There was a <marker>world-wide</marker> epidemic.</example>
            <example>The '<marker>World Wide Fund For Nature</marker>' is also known as the 'World Wildlife Fund' (https://wwf.panda.org/who_we_are/wwf_offices/uk/).</example>
        </rule>
        <!-- worth while::word=worthwhile -->
        <rule id="WORTH_WHILE" name="worth while (worthwhile)">
            <pattern>
                <token>worth</token>
                <token>while</token>
            </pattern>
            <message>Did you mean <suggestion>worthwhile</suggestion>?</message>
            <example correction="worthwhile">It was a <marker>worth while</marker> endeavor.</example>
        </rule>
        <!-- way side::word=wayside -->
        <rule id="WAY_SIDE" name="way side (wayside)">
            <pattern>
                <token>way</token>
                <token>side</token>
            </pattern>
            <message>Did you mean <suggestion>wayside</suggestion>?</message>
            <example correction="wayside">We let it fall by the <marker>way side</marker>.</example>
        </rule>
        <!-- along side::word=alongside -->
        <rule id="ALONG_SIDE" name="along side (alongside)">
            <pattern>
                <token>along</token>
                <token>side</token>
            </pattern>
            <message>Did you mean <suggestion>alongside</suggestion>?</message>
            <example correction="alongside">The car pulled up <marker>along side</marker>.</example>
        </rule>
        <!-- be cause::word=because -->
        <rule id="BE_CAUSE" name="be cause (because)">
            <pattern>
                <token>be</token>
                <token>cause</token>
            </pattern>
            <message>Did you mean <suggestion>because</suggestion>?</message>
            <example correction="because">It was all <marker>be cause</marker> of you.</example>
        </rule>
        <!-- be ware::word=beware -->
        <rule id="BE_WARE" name="be ware (beware)">
            <pattern>
                <token>be</token>
                <token>ware</token>
            </pattern>
            <message>Did you mean <suggestion>beware</suggestion>?</message>
            <example correction="Beware"><marker>Be ware</marker> of the bears.</example>
        </rule>
        <!-- before hand::word=beforehand -->
        <rule id="BEFORE_HAND" name="before hand (beforehand)">
            <pattern>
                <token>before</token>
                <token>hand</token>
            </pattern>
            <message>Did you mean <suggestion>beforehand</suggestion>?</message>
            <example correction="beforehand">We packed <marker>before hand</marker>.</example>
        </rule>
        <!-- down side::word=downside -->
        <rule id="DOWN_SIDE" name="down side (downside)">
            <antipattern>
                <token>side</token>
                <token>by</token>
                <token>side</token>
            </antipattern>
            <pattern>
                <token regexp="yes">down|up</token>
                <token regexp="yes">sides?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="downside">There was no serious <marker>down side</marker> to the plan.</example>
            <example correction="Downsides">The <marker>Down Sides</marker> aren't easy.</example>
        </rule>
        <!-- through out::word=throughout -->
        <rule id="THROUGH_OUT" name="through out (throughout)">
            <pattern>
                <token>through</token>
                <token>out</token>
            </pattern>
            <message>Did you mean <suggestion>throughout</suggestion>?</message>
            <example correction="throughout">We felt awkward <marker>through out</marker> the play.</example>
        </rule>
        <!-- on-going::word=ongoing -->
        <rule id="ON-GOING" name="on-going (ongoing)">
            <pattern>
                <token>on-going</token>
            </pattern>
            <message>Did you mean <suggestion>ongoing</suggestion>?</message>
            <example correction="ongoing">There is an <marker>on-going</marker> investigation.</example>
        </rule>
        <!-- light weight::word=lightweight -->
        <rulegroup id="LIGHT_WEIGHT" name="light weight (lightweight)">
            <rule>
                <pattern>
                    <marker>
                        <token>light</token>
                        <token>weight</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>Did you mean <suggestion>lightweight</suggestion>?</message>
                <example correction="lightweight">He is the best <marker>light weight</marker> boxer in the world.</example>
                <example>He is the best <marker>light-weight</marker> boxer in the world.</example>
                <example>... in technical details such as aerodynamics, light weight, and safety.</example>
                <example>A light weight was necessary to prevent the...</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem|look|appear</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>light</token>
                        <token>weight</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>lightweight</suggestion> is spelled as one word.</message>
                <example correction="lightweight">It is really <marker>light weight</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJ" />
                    <token regexp="yes">and|or|&amp;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>light</token>
                        <token>weight</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>lightweight</suggestion> is spelled as one word.</message>
                <example correction="lightweight">It is fast and <marker>light weight</marker>.</example>
            </rule>
        </rulegroup>
        <!-- heavy weight::word=heavyweight -->
        <rulegroup id="HEAVY_WEIGHT" name="heavy weight (heavyweight)">
            <rule>
                <pattern>
                    <marker>
                        <token>heavy</token>
                        <token>weight</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>Did you mean <suggestion>heavyweight</suggestion>?</message>
                <example correction="heavyweight">He is the best <marker>heavy weight</marker> boxer in the world.</example>
                <example>He is the best <marker>heavy-weight</marker> boxer in the world.</example>
                <example>A heavy weight was necessary to prevent the...</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem|look|appear</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>heavy</token>
                        <token>weight</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>heavyweight</suggestion> is spelled as one word.</message>
                <example correction="heavyweight">It is really <marker>heavy weight</marker>.</example>
            </rule>
        </rulegroup>
        <!-- free lance::word=freelance -->
        <rule id="FREE_LANCE" name="free lance (freelance)">
            <pattern>
                <token>free</token>
                <token>lance</token>
            </pattern>
            <message>Did you mean <suggestion>freelance</suggestion>?</message>
            <example correction="freelance">We did some <marker>free lance</marker> work for the company.</example>
        </rule>
        <!-- free lancer::word=freelancer -->
        <rule id="FREE_LANCER" name="free lancer (freelancer)">
            <pattern>
                <token>free</token>
                <token regexp="yes">lancers?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="freelancer">He was a <marker>free lancer</marker>.</example>
        </rule>
        <!-- free lances::word=freelances -->
        <rule id="FREE_LANCES" name="free lances (freelances)">
            <pattern>
                <token>free</token>
                <token>lances</token>
            </pattern>
            <message>Did you mean <suggestion>freelances</suggestion>?</message>
            <example correction="freelances">He only <marker>free lances</marker> for the CIA.</example>
        </rule>
        <!-- free lancing::word=freelancing -->
        <rule id="FREE_LANCING" name="free lancing (freelancing)">
            <pattern>
                <token>free</token>
                <token>lancing</token>
            </pattern>
            <message>Did you mean <suggestion>freelancing</suggestion>?</message>
            <example correction="freelancing">His <marker>free lancing</marker> work is fantastic.</example>
        </rule>
        <!-- .*/VB a while::word=\0 awhile::pivots=a while,awhile -->
        <rule id="VB_A_WHILE" name="VB a while (awhile)">
            <pattern>
                <marker>
                    <token postag="VB">
                        <exception postag="VB.*" postag_regexp="yes" negate_pos="yes"/>
                        <exception>take</exception>
                    </token>
                    <token>a</token>
                    <token>while</token>
                </marker>
                <token><exception>longer</exception></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> awhile</suggestion>?</message>
            <example correction="forget awhile">He was expected to <marker>forget a while</marker> after the fact.</example>
            <example>He was expected to stay awhile.</example>
        </rule>
        <!-- key words::word=keywords -->
        <rule id="KEY_WORDS" name="key words (keywords)">
            <pattern>
                <token>key</token>
                <token>words</token>
            </pattern>
            <message>Did you mean <suggestion>keywords</suggestion>?</message>
            <example correction="keywords">You have to enter the <marker>key words</marker>.</example>
        </rule>
        <!-- crowd sourcing::word=crowdsourcing -->
        <rule id="CROWD_SOURCING" name="crowd sourcing (crowdsourcing)">
            <pattern>
                <token>crowd</token>
                <token>sourcing</token>
            </pattern>
            <message>Did you mean <suggestion>crowdsourcing</suggestion>?</message>
            <example correction="crowdsourcing">Mechanical Turk is an example of <marker>crowd sourcing</marker>.</example>
        </rule>
        <!-- meta data::word=metadata -->
        <rule id="META_DATA" name="meta data (metadata)">
            <pattern>
                <token>meta</token>
                <token>data</token>
            </pattern>
            <message>Did you mean <suggestion>metadata</suggestion>?</message>
            <example correction="metadata">Tika's library takes <marker>meta data</marker> into account.</example>
        </rule>
        <!-- past time::word=pastime -->
        <rule id="PAST_TIME" name="past time (pastime)">
            <pattern>
                <token>past</token>
                <token>time</token>
            </pattern>
            <message>Did you mean <suggestion>pastime</suggestion>?</message>
            <example correction="pastime">This was America's favorite <marker>past time</marker>.</example>
        </rule>
        <!-- any where::word=anywhere -->
        <rule id="ANY_WHERE" name="any where (anywhere)">
            <pattern>
                <token>any</token>
                <token>where</token>
            </pattern>
            <message>Did you mean <suggestion>anywhere</suggestion>?</message>
            <example correction="anywhere">Put your stuff down <marker>any where</marker>.</example>
        </rule>
        <!-- some where::word=somewhere -->
        <rule id="SOME_WHERE" name="some where (somewhere)">
            <pattern>
                <token>some</token>
                <token>where</token>
            </pattern>
            <message>Did you mean <suggestion>somewhere</suggestion>?</message>
            <example correction="somewhere">There's a place for us, <marker>some where</marker>.</example>
        </rule>
        <!-- .*/DT bail out::word=\0 bailout::pivots=bail out,bailout -->
        <rule id="DT_BAIL_OUT" name="a bail out (bailout)">
            <pattern>
                <token postag="DT"><exception postag="DT" negate_pos="yes"/></token>
                <token>bail</token>
                <token>out</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> bailout</suggestion>?</message>
            <example correction="The bailout"><marker>The bail out</marker> was too expensive.</example>
        </rule>
        <!-- out come::word=outcome -->
        <rule id="OUT_COME" name="out come (outcome)">
            <pattern>
                <token>out</token>
                <token regexp="yes">comes?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" /><match no="2" case_conversion="startlower" /></suggestion>?</message>
            <example correction="outcome">What was the <marker>out come</marker>?</example>
        </rule>
        <rulegroup id="COMPRISED_OF" name="comprised of">
            <url>https://www.businesswritingblog.com/business_writing/2015/01/comprised-of-vs-composed-of-a-test.html</url>
            <!-- album comprised of::word=album composed of::pivots=comprised,composed::options=comprised,composed -->
            <rule>
                <pattern>
                    <token regexp="yes">album|army</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1"/> composed of</suggestion>?</message>
                <example correction="album composed of">This is an <marker>album comprised of</marker> of great songs.</example>
                <example>This is an album composed of great songs.</example>
            </rule>
            <!-- area comprised of::word=area consisting of::pivots=comprised,consisting::options=comprised,consisting -->
            <rule>
                <pattern>
                    <token>area</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>area consisting of</suggestion>?</message>
                <example correction="area consisting of">The Tenderloin is an <marker>area comprised of</marker> the seedy sort.</example>
            </rule>
            <!-- band comprised of::word=band composed of, band comprising::pivots=comprised,composed,comprising::options=comprised,composed,comprising -->
            <rule>
                <pattern>
                    <token>band</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>band composed of</suggestion> or <suggestion>band comprising</suggestion>?</message>
                <example correction="band composed of|band comprising">The Beatles were a <marker>band comprised of</marker> great musicians.</example>
            </rule>
            <!-- comprised principally of::word=composed principally of::pivots=comprised,composed::options=comprised,composed -->
            <rule>
                <pattern>
                    <token>comprised</token>
                    <token regexp="yes">principally|primarily</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>composed <match no="2"/> of</suggestion>?</message>
                <example correction="composed primarily of">The lawsuit was <marker>comprised primarily of</marker> false accusations.</example>
            </rule>
            <!-- entirely comprised of::word=entirely composed of::pivots=comprised,composed::options=comprised,composed -->
            <rule>
                <pattern>
                    <token regexp="yes">entirely|group|mainly|mostly</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1"/> composed of</suggestion>?</message>
                <example correction="entirely composed of">It was <marker>entirely comprised of</marker> people.</example>
            </rule>
            <!-- comprised chiefly of::word=composed chiefly of, comprised chiefly, consisted chiefly of::options=comprised,composed,consisted -->
            <rule>
                <pattern>
                    <token>comprised</token>
                    <token regexp="yes">chiefly|entirely|exclusively|generally|largely|mainly|mostly|only|primarily|principally|wholly</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>composed \2 \3</suggestion> or <suggestion>comprised \2</suggestion> or <suggestion>consisted \2 \3</suggestion>?</message>
                <example correction="composed chiefly of|comprised chiefly|consisted chiefly of">The song was <marker>comprised chiefly of</marker> B chords.</example>
            </rule>
            <!-- comprises of::word=comprises, consists of::options=comprises,consists -->
            <rule>
                <pattern>
                    <token>comprises</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprises</suggestion> or <suggestion>consists of</suggestion>?</message>
                <example correction="comprises|consists of">The part <marker>comprises of</marker> the whole.</example>
            </rule>
            <!-- comprising of::word=comprising, consisting of::options=comprising,consisting -->
            <rule>
                <pattern>
                    <token>comprising</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprising</suggestion> or <suggestion>consisting of</suggestion>?</message>
                <example correction="comprising|consisting of">This is a country <marker>comprising of</marker> independent people.</example>
            </rule>
            <!-- comprise of::word=comprise, consist of::options=comprise,consist -->
            <rule>
                <pattern>
                    <token>comprise</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprise</suggestion> or <suggestion>consist of</suggestion>?</message>
                <example correction="comprise|consist of">It's tough to think you <marker>comprise of</marker> mostly water.</example>
            </rule>
            <!-- was comprised of::word=comprised, consisted of, was composed of::options=comprised,consisted,composed -->
            <rule>
                <pattern>
                    <token>was</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprised</suggestion> or <suggestion>consisted of</suggestion> or <suggestion>was composed of</suggestion>?</message>
                <example correction="comprised|consisted of|was composed of">The proposal <marker>was comprised of</marker> faulty assumptions.</example>
            </rule>
            <!-- were comprised of::word=comprised, were composed of::options=comprised,composed -->
            <rule>
                <pattern>
                    <token>were</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprised</suggestion> or <suggestion>were composed of</suggestion>?</message>
                <example correction="comprised|were composed of">The missiles <marker>were comprised of</marker> nuclear warheads.</example>
            </rule>
            <!-- which comprised of::word=which comprised, which consisted of, which was composed of::options=comprised,consisted,composed -->
            <rule>
                <pattern>
                    <token>which</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>which comprised</suggestion> or <suggestion>which consisted of</suggestion> or <suggestion>which was composed of</suggestion>?</message>
                <example correction="which comprised|which consisted of|which was composed of">The ants, <marker>which comprised of</marker> the colony, were asleep.</example>
            </rule>
            <!-- will be comprised of::word=will be composed of, will comprise, will consist of::options=comprised,composed,comprise -->
            <rule>
                <pattern>
                    <token>will</token>
                    <token>be</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>will be composed of</suggestion> or <suggestion>will comprise</suggestion> or <suggestion>will consist of</suggestion>?</message>
                <example correction="will be composed of|will comprise|will consist of">The album <marker>will be comprised of</marker> synthetic sounds.</example>
            </rule>
            <!-- will comprise of::word=will be composed of, will comprise, will consist of::options=comprise,composed,comprise,consist -->
            <rule>
                <pattern>
                    <token>will</token>
                    <token>comprise</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>will be composed of</suggestion> or <suggestion>will comprise</suggestion> or <suggestion>will consist of</suggestion>?</message>
                <example correction="will be composed of|will comprise|will consist of">The ants <marker>will comprise of</marker> the colony.</example>
            </rule>
            <!-- would comprise of::word=would comprise, would consist of::options=comprise,consist -->
            <rule>
                <pattern>
                    <token>would</token>
                    <token>comprise</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>would comprise</suggestion> or <suggestion>would consist of</suggestion>?</message>
                <example correction="would comprise|would consist of">The ants <marker>would comprise of</marker> the colony.</example>
            </rule>
            <!-- government comprised of::word=government composed of, government consisting of::options=comprised,composed,consisting -->
            <rule>
                <pattern>
                    <token>government</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>government composed of</suggestion> or <suggestion>government consisting of</suggestion>?</message>
                <example correction="government composed of|government consisting of">Theirs was a <marker>government comprised of</marker> warring factions.</example>
            </rule>
            <!-- is comprised mostly of::word=comprises mostly, consists mostly of, is composed mostly of::options=comprised,comprises,consists,composed::pivots=comprised mostly of,comprises mostly,consists mostly of,composed mostly of -->
            <rule>
                <pattern>
                    <token>is</token>
                    <token>comprised</token>
                    <token>mostly</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprises mostly</suggestion> or <suggestion>consists mostly of</suggestion> or <suggestion>is composed mostly of</suggestion>?</message>
                <example correction="comprises mostly|consists mostly of|is composed mostly of">The government <marker>is comprised mostly of</marker> idiots.</example>
            </rule>
            <!-- is comprised of::word=comprises, consists of, is composed of::options=comprised,comprises,consists,composed::pivots=comprised of,comprises,consists of,composed of -->
            <rule>
                <pattern>
                    <token>is</token>
                    <token>comprised</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>comprises</suggestion> or <suggestion>consists of</suggestion> or <suggestion>is composed of</suggestion>?</message>
                <example correction="comprises|consists of|is composed of">The government <marker>is comprised of</marker> idiots.</example>
                <example>The government consists of great guys.</example>
            </rule>
        </rulegroup>
        <!-- writing|political|science|cultural|grammatical gaffs::word=\0 gaffes::pivots=gaffs,gaffes -->
        <rule id="WRITINGPOLITICALSCIENCE_GAFFS" name="political gaffs (gaffes)">
            <pattern>
                <token regexp="yes">writing|political|science|cultural|grammatical</token>
                <token>gaffs</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> gaffes</suggestion>?</message>
            <example correction="political gaffes">There were some serious <marker>political gaffs</marker> committed that day.</example>
        </rule>
        <!-- writing|political|science|cultural|grammatical gaff::word=\0 gaffe::pivots=gaff,gaffe -->
        <rule id="WRITINGPOLITICALSCIENCE_GAFF" name="political gaff (gaffe)">
            <pattern>
                <token regexp="yes">writing|political|science|cultural|grammatical</token>
                <token>gaff</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> gaffe</suggestion>?</message>
            <example correction="cultural gaffe">His novel was a huge <marker>cultural gaff</marker>.</example>
        </rule>
        <!-- were .*/MD::word=where \1::pivots=were,where::filter=none::options=were,where -->
        <rule id="WERE_MD" name="were MD">
            <antipattern><!-- the boys we were -->
                <token postag="NNS"/>
                <token regexp="yes">you|we|they</token>
                <token regexp="yes">are|were</token>
                <token postag="MD"/>
            </antipattern>
            <pattern>
                <token>were</token>
                <token postag="MD"><exception postag="MD" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion>where <match no="2"/></suggestion>?</message>
            <example correction="Where could"><marker>Were could</marker> we sleep tonight?</example>
            <example><marker>Where could</marker> we sleep tonight?</example>
            <example>"The boys we were would have enjoyed this", he said.</example><!-- #3359 -->
        </rule>
        <!-- other then::word=other than::pivots=then,than -->
        <rule id="OTHER_THEN" name="other then (other than)">
            <pattern>
                <token>other</token>
                <token>then</token>
            </pattern>
            <message>Did you mean <suggestion>other than</suggestion>?</message>
            <example correction="other than">There was no one <marker>other then</marker> us at the campsite.</example>
        </rule>
        <!-- was aloud::word=was allowed::pivots=aloud,allowed::options=aloud,allowed -->
        <rule id="WAS_ALOUD" name="was aloud (allowed)">
            <pattern>
                <token regexp="yes">w(?:as|ere)</token>
                <token>aloud</token>
            </pattern>
            <message>Did you mean <suggestion>\1 allowed</suggestion>?</message>
            <example correction="was allowed">No dancing <marker>was aloud</marker>.</example>
        </rule>
        <!-- eluded to::word=alluded to::pivots=eluded,alluded::options=eluded,alluded -->
        <rule id="ELUDED_TO" name="eluded to (alluded to)">
            <pattern>
                <token inflected="yes">elude</token>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag="VB.*">allude</match> to</suggestion>?</message>
            <example correction="alluded to">He <marker>eluded to</marker> engagement at the party.</example>
        </rule>
        <rule id="ALLUDE_ELUDE" name="allude (elude)">
            <pattern>
                <marker><token inflected="yes">allude</token></marker>
                <token postag="DT|NN.*" postag_regexp="yes"><exception postag="TO|PRP.?|VB.*" postag_regexp="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag="VB.*">elude</match></suggestion>?</message>
            <example correction="elude">Her failure to <marker>allude</marker> the school bullies is evident.</example>
        </rule>
        <rule id="COMPLAINT_COMPLIANT" name="complaint (compliant) with">
            <pattern>
                <token regexp="yes" inflected="yes">be|not</token>
                <token min="0" postag="RB"></token>
                <marker>
                    <token>complaint</token>
                </marker>
                <token>with</token>
            </pattern>
            <message>Did you mean <suggestion>compliant</suggestion> (= in agreement with rules, standards, or requirements)?</message>
            <example correction="compliant">If the rules are not fully <marker>complaint</marker> with the specification, post them here.</example>
            <example correction="compliant">Any law that is enacted today must be <marker>complaint</marker> with the fundamental rights chapter of the Constitution.</example>
        </rule>
        <!-- baited breath::word=bated breath::pivots=baited,bated::options=baited,bated -->
        <rule id="BAITED_BREATH" name="baited (bated) breath">
            <pattern>
                <token>baited</token>
                <token>breath</token>
            </pattern>
            <message>Did you mean <suggestion>bated breath</suggestion>?</message>
            <example correction="bated breath">We are waiting with <marker>baited breath</marker>.</example>
        </rule>
        <!-- bare in mind::word=bear in mind::pivots=bare,bear::options=bare,bear -->
        <rule id="BARE_IN_MIND" name="bare (bear) in mind">
            <pattern>
                <token>bare</token>
                <token>in</token>
                <token>mind</token>
            </pattern>
            <message>Did you mean <suggestion>bear in mind</suggestion>?</message>
            <example correction="Bear in mind"><marker>Bare in mind</marker> that we're alone.</example>
        </rule>
        <!-- playoff birth::word=playoff berth::pivots=birth,berth::options=birth,berth -->
        <rule id="PLAYOFF_BIRTH" name="playoff birth (berth)">
            <pattern>
                <token>playoff</token>
                <token>birth</token>
            </pattern>
            <message>Did you mean <suggestion>playoff berth</suggestion>?</message>
            <example correction="playoff berth">The Patriots failed to earn a <marker>playoff birth</marker>.</example>
        </rule>
        <!-- disc break::word=disc brake::pivots=break,brake::options=break,brake -->
        <rule id="DISC_BREAK" name="disc break (brakes)">
            <pattern>
                <token>disc</token>
                <token>break</token>
            </pattern>
            <message>Did you mean <suggestion>disc brake</suggestion>?</message>
            <example correction="disc brake">The rear wheels are <marker>disc break</marker>.</example>
        </rule>
        <!-- hit the breaks::word=hit the brakes::pivots=breaks,brakes::options=breaks,brakes -->
        <rule id="HIT_THE_BREAKS" name="hit the breaks (brakes)">
            <pattern>
                <token>hit</token>
                <token>the</token>
                <token>breaks</token>
            </pattern>
            <message>Did you mean <suggestion>hit the brakes</suggestion>?</message>
            <example correction="hit the brakes">Charlie forgot to <marker>hit the breaks</marker>.</example>
        </rule>
        <!-- spinal chord::word=spinal cord::pivots=chord,cord::options=chord,cord -->
        <rule id="SPINAL_CHORD" name="spinal chord (cord)">
            <pattern>
                <token regexp="yes">spinal|vocal|umbilical|electrical</token>
                <token inflected="yes">chord</token>
            </pattern>
            <message>Did you mean <suggestion>\1 <match no="2" regexp_match="[hH]" regexp_replace=""/></suggestion>?</message>
            <example correction="spinal cord">There was permanent injury to the <marker>spinal chord</marker>.</example>
        </rule>
        <!-- full compliment of::word=full complement of::pivots=compliment,complement::options=compliment,complement -->
        <rule id="FULL_COMPLIMENT_OF" name="full compliment (complement) of">
            <pattern>
                <token>full</token>
                <token>compliment</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>full complement of</suggestion>?</message>
            <example correction="full complement of">He had the <marker>full compliment of</marker> good qualities.</example>
        </rule>
        <!-- in edition to::word=in addition to::pivots=edition,addition::options=edition,addition -->
        <rule id="IN_EDITION_TO" name="in edition (addition) to">
            <pattern>
                <token>in</token>
                <token>edition</token>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>in addition to</suggestion>?</message>
            <example correction="In addition to"><marker>In edition to</marker> failing, he embarrassed himself.</example>
            <example>And in addition to the belt, he had a chartreuse cap.</example>
        </rule>
        <!-- faired as well::word=fared as well::pivots=faired,fared::options=faired,fared -->
        <rule id="FAIRED_AS_WELL" name="faired (fared) as well">
            <pattern>
                <token>faired</token>
                <token>as</token>
                <token>well</token>
            </pattern>
            <message>Did you mean <suggestion>fared as well</suggestion>?</message>
            <example correction="fared as well">He <marker>faired as well</marker> as could be expected.</example>
        </rule>
        <!-- faired badly::word=fared badly::pivots=faired,fared::options=faired,fared -->
        <rule id="FAIRED_BADLY" name="faired (fared) badly">
            <pattern>
                <token>faired</token>
                <token regexp="yes">badly|better|far|less|little|much|poorly|quite|rather|slightly|somewhat|well|worse</token>
            </pattern>
            <message>Did you mean <suggestion>fared <match no="2"/></suggestion>?</message>
            <example correction="fared badly">It was a pity that the Jets <marker>faired badly</marker>.</example>
            <example>It was a pity that the Mets fared rather well.</example>
        </rule>
        <!-- and so fourth::word=and so forth::pivots=fourth,forth::options=fourth,forth -->
        <rule id="AND_SO_FOURTH" name="and so fourth (forth)">
            <pattern>
                <token>and</token>
                <token>so</token>
                <token>fourth</token>
            </pattern>
            <message>Did you mean <suggestion>and so forth</suggestion>?</message>
            <example correction="and so forth">And so on <marker>and so fourth</marker>.</example>
        </rule>
        <!-- put fourth the|an?::word=put forth \2::pivots=fourth,forth::options=fourth,forth -->
        <rule id="PUT_FOURTH_THEAAN" name="put fourth (forth) the">
            <pattern>
                <token>put</token>
                <token>fourth</token>
                <token regexp="yes">the|an?</token>
            </pattern>
            <message>Did you mean <suggestion>put forth <match no="3"/></suggestion>?</message>
            <example correction="put forth the">He <marker>put fourth the</marker> proposal.</example>
        </rule>
        <!-- forth place::word=fourth place::pivots=forth,fourth::options=forth,fourth -->
        <rule id="FORTH_PLACE" name="forth (fourth) place">
            <pattern>
                <token>forth</token>
                <token>place</token>
            </pattern>
            <message>Did you mean <suggestion>fourth place</suggestion>?</message>
            <example correction="fourth place">The runner finished in <marker>forth place</marker>.</example>
        </rule>
        <!-- door jam::word=door jamb::pivots=jam,jamb::options=jam,jamb -->
        <rule id="DOOR_JAM" name="door jam (jamb)">
            <pattern>
                <token>door</token>
                <token>jam</token>
            </pattern>
            <message>Did you mean <suggestion>door jamb</suggestion>?</message>
            <example correction="door jamb">There were scratches all along the <marker>door jam</marker>.</example>
        </rule>
        <!-- less dollars|minutes|hours|seconds|calories::word=fewer \1::pivots=less,fewer::options=less,fewer -->
        <rule id="LESS_DOLLARSMINUTESHOURS" name="less (fewer) dollars">
            <pattern>
                <token>less</token>
                <token regexp="yes">dollars|minutes|hours|seconds|calories</token>
            </pattern>
            <message>Did you mean <suggestion>fewer <match no="2"/></suggestion>?</message>
            <url>https://www.lexico.com/grammar/countable-nouns</url>
            <example correction="fewer hours">There were <marker>less hours</marker> to devote to work that day.</example>
            <example>There were fewer dollars in the coffer that weekend.</example>
        </rule>
        <!-- fewer &amp;uncountable::word=less \1::pivots=fewer,less::options=less,fewer -->
      <rulegroup id="FEWER_UNCOUNTABLE" name="fewer (less) uncountable">
        <rule>
            <pattern>
                <token>fewer</token>
                <token chunk="E-NP-singular" regexp="yes">accommodation|advice|access|baggage|bread|equipment|garbage|luggage|money|cattle|knowledge|sand|furniture|meat|food|news|pasta|progress|research|water|freedom|maturity|intelligence|travel|pollution|traffic|information</token>
            </pattern>
            <message>Did you mean <suggestion>less <match no="2"/></suggestion>?</message>
            <url>https://www.lexico.com/grammar/countable-nouns</url>
            <example correction="less information">He gave his enemies <marker>fewer information</marker> than he gave his friends.</example>
            <example correction="less advice">He gave his enemies <marker>fewer advice</marker> than he gave his friends.</example>
            <example>They made less progress towards their goal.</example>
            <example>If there weren't so many taxis, there would be fewer <marker>traffic accidents</marker>.</example>
        </rule>
        <rule><!-- XXX Some cases from the former rules may be skipped by this generalization. This avoids regressions -->
            <pattern>
                <token>fewer</token>
                <token chunk="E-NP-singular" postag="NN:U"><exception negate_pos="yes" postag_regexp="yes" postag="NN:U|V.+"/></token><!-- XXX verbs accepted due to lack of disambiguation -->
            </pattern>
            <message>Did you mean <suggestion>less <match no="2"/></suggestion>?</message>
            <url>https://www.lexico.com/grammar/countable-nouns</url>
            <example correction="less information">He gave his enemies <marker>fewer information</marker> than he gave his friends.</example>
            <example correction="less advice">He gave his enemies <marker>fewer advice</marker> than he gave his friends.</example>
            <example>They made less progress towards their goal.</example>
            <example>If there weren't so many taxis, there would be fewer <marker>traffic accidents</marker>.</example>
        </rule>
      </rulegroup>
        <!-- am loathe to::word=am loath to::pivots=loathe,loath::options=loathe,loath -->
        <rule id="AM_LOATHE_TO" name="am loathe (loath) to">
            <pattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>loathe</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>loath</suggestion> instead of the adverb "\3"?</message>
            <url>https://www.merriam-webster.com/words-at-play/is-it-loath-or-loathe</url>
            <example correction="loath">I am <marker>loathe</marker> to continue this conversation.</example>
        </rule>
        <!-- loosing effort|record|season|streak|team|the|to::word=losing \1::pivots=loosing,losing::options=loosing,losing -->
        <rule id="LOOSING_EFFORTRECORDSEASON" name="loosing (losing) effort">
            <antipattern>
                <token skip="2">loosing</token>
                <token regexp="yes">(screw|bolt)s?</token>
            </antipattern>
            <pattern>
                <token>loosing</token>
                <token regexp="yes">effort|record|season|streak|team|the|to</token>
            </pattern>
            <message>Did you mean <suggestion>losing <match no="2"/></suggestion> (losing: cease to have, loosing: to free/liberate/relax)?</message>
            <example correction="losing season">The Yankees never had a <marker>loosing season</marker>.</example>
            <example>It was a terrible losing record.</example>
            <example>Crossbow silencers suppress the sound of loosing the bolt.</example>
        </rule>
        <!-- mute point::word=moot point::pivots=mute,moot::options=mute,moot -->
        <rule id="MUTE_POINT" name="mute (moot) point">
            <pattern>
                <token>mute</token>
                <token>point</token>
            </pattern>
            <message>Did you mean <suggestion>moot point</suggestion>?</message>
            <example correction="moot point">It was a <marker>mute point</marker>, so we ignored it.</example>
            <example>I believe that statement is largely a moot point.</example>
        </rule>
        <!-- peak his interest::word=pique his interest::pivots=peak,pique::options=peak,pique -->
        <rule id="PEAK_HIS_INTEREST" name="peak (pique) his interest">
            <pattern>
                <token>peak</token>
                <token regexp="yes">his|her</token>
                <token regexp="yes">interest|interests</token>
            </pattern>
            <message>Did you mean <suggestion>pique \2 \3</suggestion>?</message>
            <url>https://languagetool.org/insights/post/peek-peak-pique/</url>
            <example correction="pique his interest">The mere mention of Luxembourg was enough to <marker>peak his interest</marker>.</example>
            <example>The dance music failed to pique his interest.</example>
        </rule>
        <!-- most populace::word=most populous::pivots=populace,populous::options=populace,populous -->
        <rule id="MOST_POPULACE" name="most populace (populous)">
            <pattern>
                <token regexp="yes">most|least</token>
                <token>populace</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> populous</suggestion>?</message>
            <example correction="most populous">Chicago was the <marker>most populace</marker> city.</example>
            <example>California is the most populous state.</example>
        </rule>
        <!-- at the reigns::word=at the reins::pivots=reigns,reins::options=reigns,reins -->
        <rule id="AT_THE_REIGNS" name="at the reigns (reins)">
            <pattern>
                <token regexp="yes">at|hand|held|holds?|holding</token>
                <token>the</token>
                <token>reigns</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> the reins</suggestion>?</message>
            <example correction="held the reins">The coachman <marker>held the reigns</marker> with expertise.</example>
            <example>The CEO holds the reins with authority.</example>
        </rule>
        <!-- managerial reigns::word=managerial reins::pivots=reigns,reins::options=reigns,reins -->
        <rule id="MANAGERIAL_REIGNS" name="managerial reigns (reins)">
            <pattern>
                <token>managerial</token>
                <token>reigns</token>
            </pattern>
            <message>Did you mean <suggestion>managerial reins</suggestion>?</message>
            <example correction="managerial reins">He handed over the <marker>managerial reigns</marker> of the project to the junior member.</example>
            <example>He held the managerial reins throughout the project's lifespan.</example>
        </rule>
        <!-- reigns of power::word=reins of power::pivots=reigns,reins::options=reigns,reins -->
        <rule id="REIGNS_OF_POWER" name="reigns (reins) of power">
            <pattern>
                <token>reigns</token>
                <token>of</token>
                <token>power</token>
            </pattern>
            <message>Did you mean <suggestion>reins of power</suggestion>?</message>
            <example correction="reins of power">Idi Amin held the <marker>reigns of power</marker> for far too long.</example>
            <example>Napoleon had such a firm grasp on the reins of power.</example>
        </rule>
        <!-- take the reigns::word=take the reins::pivots=reigns,reins::options=reigns,reins -->
        <rule id="TAKE_THE_REIGNS" name="take the reigns (reins)">
            <antipattern>
                <token>the</token>
                <token skip="-1">reigns</token>
                <token regexp="yes">(king|queen|ruler|sovereign)s?</token>
            </antipattern>
            <pattern>
                <token inflected="yes">take</token>
                <token min="0" max="1">over</token>
                <token>the</token>
                <marker>
                    <token>reigns</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>reins</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/take_the_reins</url>
            <example correction="reins">Take the <marker>reigns</marker> cried the bandit.</example>
            <example correction="reins">It's time to take the <marker>reigns</marker> of leadership.</example>
            <example correction="reins">Before he took over the <marker>reigns</marker>, he was mild and unassuming...</example>
            <example>Take the <marker>reins</marker> cried the bandit.</example>
            <example>It's time to take the <marker>reins</marker> of power.</example>
            <example>... but take the <marker>reigns</marker> of these kings as examples:</example>
        </rule>
        <!-- free reign::word=free rein::pivots=reign,rein::options=reign,rein -->
        <rule id="FREE_REIGN" name="free reign (rein)">
            <antipattern>
                <token postag="NNP"/>
                <token postag="NNP"/>
            </antipattern>
            <pattern>
                <token>free</token>
                <token>reign</token>
            </pattern>
            <message>Did you mean <suggestion>free rein</suggestion>?</message>
            <example correction="free rein">The famous actor was given <marker>free reign</marker> over the city.</example>
            <example>The famous actor was given <marker>free rein</marker> over the city.</example>
            <example><marker>Free Reign Entertainment</marker> (www.freereign.net) supplies video games.</example>
        </rule>
        <!-- lead roll::word=lead role::pivots=roll,role::options=roll,role -->
        <rule id="LEAD_ROLL" name="lead roll (role)">
            <pattern>
                <token regexp="yes">lead(ing)?|major|minor|starring|(in)?significant|large|small</token>
                <token>roll</token>
            </pattern>
            <message>Did you mean <suggestion>\1 role</suggestion>?</message>
            <example correction="lead role">She accepted the <marker>lead roll</marker> in the prestigious play.</example>
        </rule>
        <!-- roll player::word=role player::pivots=roll,role::options=roll,role -->
        <rule id="ROLL_PLAYER" name="roll player (role player)">
            <pattern>
                <token>roll</token>
                <token regexp="yes">players?|models?</token>
            </pattern>
            <message>Did you mean <suggestion>role \2</suggestion>?</message>
            <example correction="role player">Eddie House was mainly a <marker>roll player</marker> in the Celtics' championship run.</example>
            <example>Darko would be relegated to a mere role player during his last seasons.</example>
        </rule>
        <!-- role call::word=roll call::pivots=role,roll::options=role,roll -->
        <rule id="ROLE_CALL" name="role (roll) call">
            <pattern>
                <token>role</token>
                <token>call</token>
            </pattern>
            <message>Did you mean <suggestion>roll call</suggestion>?</message>
            <example correction="roll call">The colonel always forgot to take <marker>role call</marker>.</example>
            <example>The opponents' names were messed up during roll call.</example>
        </rule>
        <!-- construction sight::word=construction site::pivots=sight,site::options=sight,site -->
        <rule id="CONSTRUCTION_SIGHT" name="construction sight (site)">
            <pattern>
                <token>construction</token>
                <token>sight</token>
            </pattern>
            <message>Did you mean <suggestion>construction site</suggestion>?</message>
            <example correction="construction site">We didn't visit the <marker>construction sight</marker> until Wednesday.</example>
            <example>We didn't visit the construction site until it was almost finished.</example>
        </rule>
        <!-- out of sink::word=out of sync::pivots=sink,sync::options=sink,sync -->
        <rule id="OUT_OF_SINK" name="out of sink (sync)">
            <pattern>
                <token>out</token>
                <token>of</token>
                <token>sink</token>
            </pattern>
            <message>Did you mean <suggestion>out of sync</suggestion>?</message>
            <example correction="out of sync">The teammates were so badly <marker>out of sink</marker>.</example>
        </rule>
        <!-- different tact::word=different tack::pivots=tact,tack::options=tact,tack -->
        <rule id="DIFFERENT_TACT" name="different tact (tack)">
            <pattern>
                <token>different</token>
                <token>tact</token>
            </pattern>
            <message>Did you mean <suggestion>different tack</suggestion>?</message>
            <example correction="different tack">We'll have to try a <marker>different tact</marker>.</example>
        </rule>
        <!-- .*/IN .*/PRP then .*/IN .*/PRP::word=\0 \1 than \3 \4::pivots=then,than::options=then,than -->
        <rule id="IN_PRP_THEN_IN_PRP" name="IN PRP then (than) IN PRP">
            <pattern>
                <token postag="IN"><exception postag="IN" negate_pos="yes"/></token>
                <token postag="PRP|NN(:UN?)?" postag_regexp="yes"><exception postag="PRP(_.*)?|NN(:UN?)?" postag_regexp="yes" negate_pos="yes"/></token>
                <token>then</token>
                <token postag="IN"><exception postag="IN" negate_pos="yes"/></token>
                <token postag="PRP|NN(:UN?)?|SENT_END" postag_regexp="yes"><exception postag="PRP(_.*)?|NN(:UN?)?|SENT_END" postag_regexp="yes" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> than <match no="4"/> <match no="5"/></suggestion>?</message>
            <!-- can't write good examples for this... maybe that means it's not a good rule-->
            <example correction="between him than between she">I'd rather be <marker>between him then between she</marker>.</example>
            <example>I'd rather be between him than between her.</example>
        </rule>
        <!-- &amp;comparisons then::word=\0 than::pivots=then,than::options=then,than -->
        <rule id="COMPARISONS_THEN" name="comparisons then (than)">
            <pattern>
                <marker>
                    <token regexp="yes">hotter|colder|lamer|lesser|greater|heavier|lighter|better|worse|smarter|dumber|cheaper|sexier|taller|shorter|faster|slower|older|younger|easier|harder|farther|closer|higher|lower|larger|smaller|sooner|later|weaker|stronger|louder|quieter|darker|brighter</token>
                    <token>then</token>
                </marker>
            <token><exception postag="SENT_END|PCT" postag_regexp="yes" /></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> than</suggestion>?</message>
            <example correction="hotter than">It was <marker>hotter then</marker> it'd ever been.</example>
            <example>It was <marker>hotter than</marker> it'd ever been.</example>
            <example>We were younger then.</example>
        </rule>
        <!-- &amp;comparisons .*/NNS then::word=\0 \1 than::pivots=then,than::options=then,than -->
        <rule id="COMPARISONS_NNS_THEN" name="comparisons NNS then (than)">
            <pattern>
                <marker>
                    <token regexp="yes">hotter|colder|lamer|less|lesser|more|greater|heavier|lighter|better|worse|smarter|dumber|cheaper|sexier|taller|shorter|faster|slower|older|younger|easier|harder|farther|closer|higher|lower|larger|smaller|sooner|later|weaker|stronger|louder|quieter|darker|brighter</token>
                    <token postag="NNS"><exception postag="NNS" negate_pos="yes"/></token>
                    <token>then</token>
                </marker>
                <token><exception postag="SENT_END|PCT" postag_regexp="yes" /></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> than</suggestion>?</message>
            <example correction="better companies than">There were <marker>better companies then</marker> GE and Google.</example>
            <example>There were better companies then.</example>
        </rule>
        <rule id="COMPARISONS_AS_ADJECTIVE_AS" name="comparison 'as ... as' (no comparative/superlative)">
            <pattern>
                <token>as</token>
                <marker>
                    <token postag="JJ." postag_regexp="yes"/>
                </marker>
                <token>as</token>
            </pattern>
            <message>Did you mean <suggestion><match no="2" postag="JJ"/></suggestion>?</message>
            <url>https://dictionary.cambridge.org/us/grammar/british-grammar/as-as</url>
            <example correction="good">We must do our job as <marker>best</marker> as we can.</example>
            <example>She’s not singing as loudly as she can.</example>
        </rule>
        <!-- to .* then by::word=\0 \1 than \3::pivots=then,than::options=then,than -->
        <rule id="TO__THEN_BY" name="to blank then (than) by">
            <pattern>
                <token>to</token>
                <token/>
                <token>then</token>
                <token>by</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> than <match no="4"/></suggestion>?</message>
            <example correction="to play than by">I'd rather go <marker>to play then by</marker> the market.</example>
        </rule>
        <!-- waived off::word=waved off::pivots=waived,waved::options=waived,waved -->
        <rule id="WAIVED_OFF" name="waived (waved) off">
            <pattern>
                <token>waived</token>
                <token>off</token>
            </pattern>
            <message>Did you mean <suggestion>waved off</suggestion>?</message>
            <example correction="waved off">The offsides call was <marker>waived off</marker> by the referee.</example>
            <example>The offsides wall was waved off by the referee.</example>
        </rule>
        <!-- wreck havoc::word=wreak havoc::pivots=wreck,wreak::options=wreck,wreak -->
        <rule id="WRECK_HAVOC" name="wreck (wreak) havoc">
            <pattern>
                <token>wreck</token>
                <token>havoc</token>
            </pattern>
            <message>Did you mean <suggestion>wreak havoc</suggestion>?</message>
            <example correction="wreak havoc">The hurricane would go on to <marker>wreck havoc</marker> up and down the coast.</example>
        </rule>
        <!-- about who to::word=about whom to::pivots=who,whom::options=who,whom -->
        <rule id="ABOUT_WHO_TO" name="about who (whom) to">
            <pattern>
                <token regexp="yes">about|of|over</token>
                <token>who</token>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> whom to</suggestion>?</message>
            <example correction="about whom to">What do you think <marker>about who to</marker> promote?</example>
        </rule>

        <rulegroup id="WHO_WHOM" name="who (whom)"><!-- Also related rulegroup IN_WHO -->
            <url>https://languagetool.org/insights/post/who-vs-whom/</url>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="IN"><exception>For</exception></token>
                    <marker>
                        <token>who</token>
                    </marker>
                </pattern>
                <message>In a formal text, use <suggestion>\3m</suggestion>, not 'who'.</message>
                <example correction="whom">With <marker>who</marker> did you go?</example>
                <example correction="whom">To <marker>who</marker> it may concern.</example>
                <example>For who is so tolerant of an unjust city, so ironclad, that they can hold back?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN"/>
                    <marker>
                        <token>who</token>
                    </marker>
                    <token postag="SENT_END"/>
                </pattern>
                <message>In a formal text, use <suggestion>\2m</suggestion>, not 'who'.</message>
                <example correction="whom">Sarah gave the tickets to <marker>who</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">one|both|many</token>
                    <token>of</token>
                    <marker>
                        <token>who</token>
                    </marker>
                </pattern>
                <message>In a formal text, use <suggestion>\3m</suggestion>, not 'who'.</message>
                <example correction="whom">The hall was filled with students, many of <marker>who</marker> were girls.</example>
            </rule>
            <rule>
                <antipattern><!-- #2412 who we are -->
                    <token regexp="yes">who(ever)?</token>
                    <token regexp="yes">you|we|they</token>
                    <token regexp="yes">are|were</token>
                </antipattern>
                <antipattern><!-- #2412 who I am -->
                    <token regexp="yes">who(ever)?</token>
                    <token>I</token>
                    <token regexp="yes">am|was</token>
                </antipattern>
                <antipattern><!-- #2412 who she was -->
                    <token regexp="yes">who(ever)?</token>
                    <token regexp="yes">s?he|it</token>
                    <token regexp="yes">is|was</token>
                </antipattern>
                <antipattern><!-- #2412 found out who they met -->
                    <!-- TODO: problem with: She lied about who she'd been with.
                    No person really decides before they grow up who they're going to marry. -->
                    <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/>
                    <token postag="RP"/>
                    <token regexp="yes">who(ever)?</token>
                    <token postag="PRP"/>
                    <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/>
                    <token>
                        <exception postag="IN"/><!-- Not: After they found out who she confided in, -->
                        </token>
                </antipattern>
                <pattern>
                    <token postag="IN">
                        <exception>like</exception></token>
                    <marker>
                        <token regexp="yes">who(?:ever)?</token>
                    </marker>
                    <token postag="PRP" regexp="yes">I|you|he|she|it|we|they</token>
                </pattern>
                <message>In a formal text, use <suggestion><match no="2" regexp_match="ho" regexp_replace="hom"/></suggestion>, not '\2'.</message>
                <example correction="whom">Her mother, in <marker>who</marker> she confided, said it wasn't easy for her.</example>
                <example correction="whom">After they found out in <marker>who</marker> she confided, they told the police.</example>
                <example correction="whom">After they found out <marker>who</marker> she confided in, they told the police.</example>
                <example correction="whom">Depending on <marker>who</marker> you like more...</example>
                <example correction="whom">Your victim could be the workmate with <marker>who</marker> you shared a sandwich from your lunchbox.</example>
                <example correction="whom">... they are not obligated to purchase from <marker>who</marker> they sold to, and vice-versa.</example>
                <example correction="whomever">Growers must always be allowed to do business with <marker>whoever</marker> they wish.</example>
                <example>Her mother, in <marker>whom</marker> she confided, said it wasn't easy for her.</example>
                <example>I didn't know the performer, but eventually found out <marker>who</marker> she was.</example>
                <example>A search for who we are.</example><!-- #2412 -->
                <example>As for who I am, you wouldn't believe me if I told you.</example><!-- #2412 -->
                <example>They are different and they are important because of who they are.</example><!-- #2412 -->
                <example>Love yourself for who you are.</example><!-- #2412 -->
                <example>Just remember, the universe reflects back to you who you really think you are.</example><!-- #2412 Did not trigger an error, but keep for reference. -->
                <example>I eventually found out <marker>who</marker> they met.</example>
            </rule>
        </rulegroup>

        <rulegroup id="WHOM_WHO" name="whom (who)">
            <url>https://languagetool.org/insights/post/who-vs-whom/</url>
            <rule>
                <antipattern>
                    <token skip="-1">whom</token>
                    <token postag="IN"/>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token postag="IN"/>
                    <token regexp="yes">whom(?:ever)?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">whom(?:ever)?</token>
                    <token min="0" inflected="yes" regexp="yes">do|be</token>
                    <token postag="PRP|DT|NNP" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">whom(?:ever)?</token>
                    <token min="0" inflected="yes" regexp="yes">do|be</token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="NN.*" postag_regexp="yes" negate_pos="yes"/>
                        </token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">whom(?:ever)?</token>
                    <token inflected="yes" regexp="yes">do|be</token>
                    <token>one</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">whom(?:ever)?</token>
                    </marker>
                    <token postag="VB[ZD]" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="hom" regexp_replace="ho"/></suggestion>?</message>
                <example correction="Who"><marker>Whom</marker> paid for the meal?</example>
                <example correction="who">He is demanding £5,000 from the elderly woman <marker>whom</marker> has ruined his life.</example>
                <example correction="who">John Kennedy, <marker>whom</marker> is dead.</example><!-- #3034 -->
                <example correction="who">If this is still confusing, Please have someone <marker>whom</marker> is fluent (a personl able to express oneself easily) in American English review it.</example>
                <example correction="whoever">It is not a guarantee that <marker>whomever</marker> answers you will know enough to know when the names you’re using are Mac-specific.</example>
                <example correction="who">It is really hard to notice <marker>whom</marker> is talking to you.</example>
                <example correction="Whoever"><marker>Whomever</marker> pays the price</example>
                <example correction="who">These women had little to no difference in infant birth weight compared to the women <marker>whom</marker> did not undergo amalgam restoration during pregnancy.</example>
                <example>With whom did you talk?</example>
                <example>Whom did you meet?</example>
                <example>The hall was filled with students, many of whom were girls.</example>
                <example>Whom are you talking to?</example><!-- Common colloquial speech uses 'Who are you talking to?" incorrectly: https://forum.wordreference.com/threads/who-whom-you-are-talking-to.512760/ 2020-02-10 MFU Lexico says that 'who' is now generally accepted: www.lexico.com/definition/who -->
                <example>Legion of Whom?</example>
                <example>Whom is the speech trying to convince?</example>
                <example>Moving on, whom does one ask to rate the sense of humour of an individual?</example>
                <example>Ayaz said her that whom is she waiting?</example>
                <example>Whom did Larry send to the store?</example>
                <example>Whom is he trying to avoid?</example>
                <example>Todd, whom Brooks called the "evil other", was the leader and most villainous...</example>
            </rule>
        </rulegroup>

        <!-- .*/VBG you're::word=\0 your::pivots=you're,your::options=you're,your -->
        <rule id="VBG_YOURE" name="VBG you're (your)">
            <antipattern>
                <token postag="VBG"><exception postag="VBG" negate_pos="yes"/></token>
                <token>you</token>
                <token>'re</token>
                <token postag="JJ"/>
                <token postag="PCT|IN" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="VBG"><exception postag="VBG" negate_pos="yes"/></token>
                <token>you</token>
                <token>'re</token>
                <token postag="JJ"/>
                <token>(</token> 
            </antipattern>
            <antipattern>
                <token postag="VBG"><exception postag="VBG" negate_pos="yes"/></token>
                <token>you</token>
                <token>'re</token>
                <token postag="JJ"/>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token postag="RB" min="0" />
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token postag="RB" />
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token postag="JJ" />
                <token>that</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag="VBG"><exception postag="VBG" negate_pos="yes"/></token>
                    <token>you</token>
                    <token>'re</token>
                </marker>
                <token>
                    <exception regexp="yes">not|out</exception>
                    <exception postag="DT|IN|UNKNOWN" postag_regexp="yes" />
                    <exception postag="SENT_END" regexp="yes">&optional_short_adjectives;|&short_adjectives;|awesome|beautiful|ready|possible|dangerous|different|enough|t?here|right|wrong|left|free</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> your</suggestion>?</message>
            <example correction="visualizing your">Stop <marker>visualizing you're</marker> own demise.</example>
            <example correction="visualizing your">Stop <marker>visualizing you're</marker> problems</example>
            <example correction="causing your">Zigbee is very low power compared to Wi-Fi so if zigbee is <marker>causing you’re</marker> Wi-Fi devices to fall offline…</example>
            <example>I'm hoping you're wrong.</example>
            <example>I’m hoping you’re right (about the schedule) for all kinds of reasons.</example>
            <example>I'm hoping you're right, Paul.</example>
            <example>I’m assuming you’re in the states since you’re on SSI?</example>
            <example>What do you mean by saying you're not satisfied?</example>
            <example>I'm hoping you're right</example>
            <example>But you’re saying you’re taking it too much and mixing it with alcohol.</example>
            <example>I’m assuming you’re referring to Faceted NRQL Alerting, here.</example>
            <example>I’m assuming you’re on Windows.</example>
            <example>Claiming you're Berber is not a crime.</example>
            <example>I'm assuming you're out.</example>
            <example>I’m assuming you’re familiar with the mechanism that is making them.</example>
            <example>You mentioned NginX, so I’m assuming you’re just running a website on that port.</example>
            <example>I’m assuming you’re mainly looking at synthetic browser queries.</example>
            <example>I get what you’re saying, and I’m thinking you’re just half-serious</example>
            <example>I’m guessing you’re munging the data that is saved somewhere.</example>
            <example>I'm hoping you're the person who takes care of this book.</example>
            <example>I’m assuming you’re aware that those lines shouldn’t be there.</example>
            <example>I’m assuming you’re from the US.</example>
        </rule>
        <!-- that's|it's|who's|he's|she's|there's you're::word=\0 your::pivots=your,you're::options=your,you're -->
        <rule id="THATS_YOURE" name="that's you're (your)">
            <antipattern>
                <token postag="W.*" postag_regexp="yes" skip="2" />
                <token regexp="yes">that|it|who|what|s?he|there</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token postag="VBG" />
            </antipattern>
            <pattern>
                <token regexp="yes">that|it|who|what|s?he|there</token>
                <token regexp="yes">is|'s</token>
                <marker>
                    <token>you</token>
                    <token>'re</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>your</suggestion>?</message>
            <example correction="your">Don't ask me, that's <marker>you're</marker> own problem.</example>
            <example>It just goes to show that once you keep at whatever it is you're doing.</example>
            <example correction="your">He’s <marker>you’re</marker> best bet.</example>
            <example>It's WordPress that's you're having problems with.</example><!-- different error -->
            <example correction="your">What is <marker>you're</marker> biggest regret?</example>
        </rule>
        <!-- that's|it's|who's|he's|she's|there's they're::word=\0 their::pivots=they're,their::options=their,they're -->
        <rule id="THATS_THEYRE" name="that's they're (their)">
            <pattern>
                <token regexp="yes">that|it|who|s?he|there</token>
                <token spacebefore="no">'s</token>
                <token>they</token>
                <token>'re</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/><match no="2"/> their</suggestion>?</message>
            <url>https://languagetool.org/insights/post/there-their-theyre/</url>
            <example correction="That's their"><marker>That's they're</marker> fault.</example>
            <example>Who's their advisor this year?</example>
        </rule>
        <!-- that's|it's|who's|he's|she's|there's it's::word=\0 its::pivots=it's,its::options=it's,its -->
        <rule id="THATS_ITS" name="that's its (possessive)">
            <pattern>
                <token regexp="yes">that|it|who|s?he|there</token>
                <token spacebefore="no">'s</token>
                <token>it</token>
                <token spacebefore="no">'s</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/><match no="2"/> its</suggestion>?</message>
            <example correction="He's its"><marker>He's it's</marker> primary caretaker.</example>
        </rule>
        <rulegroup id="YOUR_YOU" name="your (you)">
            <antipattern>
                <token>you</token>
                <token postag="RB.*" postag_regexp="yes" />
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token regexp="yes">two|2|three|3|four|4</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes" />
                <token>you</token>
            </antipattern>
            <antipattern>
                <token skip="1">you</token>
                <token regexp="yes">two|three|four|guys|experts|kids|boys|girls|wives|folks|people|children|devs|developers|idiots|ladies|gentlemen|gents|lads|bastards|monsters|bros|traitors?|skanks?|fuckers?|dicks?|weirdos?|murderers?|douchebags?|morons?|dems?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&amp;|and|or|as|after|before|while</token>
                <token>you</token>
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="MD" />
            </antipattern>
            <antipattern><!-- different error -->
                <token>you</token>
                <token regexp="yes">tube|are|if</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token regexp="yes">&adverb_abbreviations;|&verb_abbreviations;|&not_really_verbs;</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token>your</token>
                    <token min="0">very</token>
                    <token>own</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception regexp="yes">so|very|really|totally|not|absolutely|extremely|still|always|obviously</exception>
                    </token>
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z0-9].*</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">so|very|really|totally|not|absolutely|extremely|still|always|obviously</token>
                    <token min="0">much</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> so good.</example>
                <example correction="You're"><marker>Your</marker> so young!</example>
                <example correction="You're"><marker>Your</marker> very welcome...</example>
                <example>Your very own Donald Trump-styled teddy bear</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token>you</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">This is for you and <marker>you</marker> family!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>thanks</token>
                    <token>for</token>
                    <token>you</token>
                    <token postag="VBG" />
                    <token />
                    <token />
                </antipattern>
                <pattern>
                    <token regexp="yes">thanks?|congratulations</token>
                    <token min="0">you</token>
                    <token>for</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Thanks for <marker>you</marker> help.</example>
                <example>Thanks for you letting me be who I am.</example>
                <example>You guys are seriously awesome, thanks for you going out of your way to show me some builds that haven't been shown to me yet.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception>go</exception><!-- common verbs that are rarely used as nouns -->
                    </token>
                    <token postag="MD" />
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="Your"><marker>You</marker> friend will handle that.</example>
                <example correction="your">Otherwise <marker>you</marker> name will be included in future mailings.</example>
                <example correction="your">If you only checked the dipstick, <marker>you</marker> son may be entirely innocent.</example>
                <example correction="Your"><marker>You</marker> input would be greatly appreciated.</example>
                <example correction="your">Then <marker>you</marker> voices will come back...</example>
                <example correction="your">Call us if <marker>you</marker> father can do this.</example>
                <example>If you still can’t see data, please let me know and I will connect you with an Infrastructure SME.</example>
                <example>What other maps can you think of and you feel should be added to the Gems of War.</example>
                <example>Lady A, as you say should behave similarly to Guardians.</example>
                <example>You two might need to combine parties like you did last time with Anne Pearson.</example>
                <example>You young people are going to have to do much more than file suits.</example>
                <example>I don't think as many people as you think will be there.</example>
                <example>What you eat right after you surf will really affect your energy for the next day’s session (or another later in the day).</example>
                <example>Our instincts as schizophrenics tell us to isolate and avoid people but having a support system as you age can work wonders.</example>
                <example>Everywhere you go will find the same scenery.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>you</token>
                    <token>sure</token>
                    <token postag="VB[DP]?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" min="1" max="2" />
                    <token postag="MD|VB[ZPD]?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Now <marker>you</marker> current site is deployed.</example>
                <example correction="Your"><marker>You</marker> first question was covered nicely above.</example>
                <example correction="your">If <marker>you</marker> usual production password does not work, try "houston".</example>
                <example correction="Your"><marker>You</marker> original clipboards were created by copying a rich text source.</example>
                <example>You only get paid for what you use.</example>
                <example>You only get one shot.</example>
                <example>Maybe you used Google Translate?</example>
                <example>You almost sound disappointed.</example>
                <example>You two look busy.</example>
                <example>You just might learn something.</example>
                <example>You better go get dressed.</example>
                <example>You regulatory folks may have already seen this.</example>
                <example>When you say nothing is working, can you access the dashboard at all?</example>
                <example>If you only need archive log data then this should be all you need.</example>
                <example>You two might need to combine parties like you did last time with Anne Pearson.</example>
                <example>You sure look exhausted!</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>your</token>
                    <token postag="JJ" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">have|had</token>
                    <marker><token>your</token></marker>
                    <token min="0">ever</token>
                    <token postag="VBN">
                        <exception postag="VBD" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>you</suggestion>?</message>
                <example correction="you">Have <marker>your</marker> seen my sister?</example>
                <example correction="you">Have <marker>your</marker> ever come across an animal like this?</example>
                <example>Can I have <marker>your</marker> full name?</example>
                <example>They have your written confirmation.</example>
            </rule>
        </rulegroup>
        <rulegroup id="YOUR_YOU_2" name="you/your (you're)">
            <antipattern><!-- used like a verb -->
                <token skip="1">factory</token>
                <token>reset</token>
            </antipattern>
            <antipattern>
                <token skip="1">you</token>
                <token regexp="yes">two|sir|three|four|russians|jews|guys|gals|experts|dudes|girls|boys|ladies|brothers|sisters|sweeties?|wives|folks?|gentlemen|gents|lads|geniuses|humans|bastards|morons|douchebags|idiots|kids|weirdos?|skanks?|traitors?|fuckers?|dicks?|devs?|developers?|people|assholes|arseholes|dems</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token inflected="yes" regexp="yes">be|become</token>
                    <token postag="RB" min="0" />
                    <token>your</token>
                    <token>everything</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">every(thing|one|body)</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> everything I have asked for.</example>
                <example>I Just Want to Be Your Everything.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>all</token>
                    <token regexp="yes">day|night|star|week|month|year|time|wheel|girls?|boys?</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>your</token>
                </antipattern>
                <antipattern>
                    <token skip="2" regexp="yes">give|make</token>
                    <token>your</token>
                    <token>all</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token skip="2">all</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt|know|say</exception>
                    </token>
                    <token min="0" regexp="yes">it|me|him|her</token>
                    <token>your</token>
                </antipattern>
                <antipattern>
                    <token>all</token>
                    <token regexp="yes">&apostrophe;|'s</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception>way</exception>
                    </token>
                    <token>all</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> all that I ever wanted.</example>
                <example correction="you're">Glad <marker>your</marker> all there.</example>
                <example correction="you're">I think <marker>your</marker> all on something.</example>
                <example>Give it your all.</example>
                <example correction="you're">Hope <marker>your</marker> all having a great day!</example>
                <example>If it is a macro, after it happens, select your All Macros smart group, and then sort your macros by Date Used.</example>
                <example>Is this your all's cellphone?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">and|&amp;</exception>
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>its</token>
                    </marker>
                    <token postag="NNP" />
                    <token>'s</token>
                </pattern>
                <message>&it_s;</message>
                <example correction="It's"><marker>Its</marker> Google's fault!</example>
                <example>All buyers, including Enron, should be entitled to refunds; not just the State of California and its IOU's.</example>
            </rule>
            <rule><!-- Would you driver pick us up? -->
                <antipattern><!-- different error -->
                    <token>fact</token>
                    <token>check</token>
                </antipattern>
                <antipattern><!-- misspelling of "pleas", caught by CONFUSION_RULE -->
                    <token>pleas</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token postag="MD" />
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="NNS?|NN:UN?" postag_regexp="yes">
                        <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                        <exception postag="RB|VB.*|JJ.*|PRP.*|IN|UH" postag_regexp="yes" />
                        <exception regexp="yes">(every|some|any)(thing|one|body|where)|nothing</exception>
                        <exception regexp="yes">sort|kind</exception><!-- sort/kind of -->
                        <exception regexp="yes">&verb_abbreviations;|&not_really_verbs;|&adverb_abbreviations;|&incorrect_noun_verbs;|pigtail</exception><!-- "pigtail" is a verb in dev speech -->
                        <exception>advice</exception><!-- confusion with "advise" -->
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Will <marker>you</marker> driver pick you up?</example>
                <example correction="your">Could <marker>you</marker> information be recovered?</example>
                <example>Would you gentlemen like to follow me?</example>
                <example>How would you sort of do that?</example>
                <example>Different error: Can you makes the kitchen?</example>
            </rule>
            <rule><!-- You can send <you> letter -->
                <pattern>
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token postag="MD" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="RB|VB.*|JJ.*|PRP.*|IN|MD|UH" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Do you have <marker>you</marker> camera with you?</example>
                <example correction="your">Have you done <marker>you</marker> homework yet?</example>
                <example correction="your">Did you hug <marker>you</marker> children yesterday?</example>
                <example>Thank you Lukas, thank you all!</example>
                <example>What do you guys think?</example>
                <example>You know you need it.</example>
                <example>Are you certain that you can do that?</example>
                <example>Do you think money will bring you happiness?</example>
                <example>Are you Elijah?</example>
                <example>Tim, you indicated you guys could get this set up for us.</example>
            </rule>
            <rule><!-- if <you> car is stolen -->
                <antipattern>
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">having|being</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">who|which|what|when|where</token>
                    <token>if</token>
                    <token>you</token>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <and>
                        <token postag="NN|NN:UN?" postag_regexp="yes" />
                        <token postag="VB.*" postag_regexp="yes" />
                    </and>
                    <token regexp="yes">have|are|were</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">if|when|once</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">be|have</exception>
                        <exception postag="RB|MD" postag_regexp="yes" />
                        <exception regexp="yes" inflected="yes">mean|say|want|think|believe|get|know</exception>
                        <exception regexp="yes">cant|wont</exception><!-- different error -->
                    </token>
                    <token inflected="yes" regexp="yes" spacebefore="yes">
                        be|have
                        <exception>be</exception>
                        <exception scope="next" postag="PRP" />
                        <exception scope="next" regexp="yes">like|as</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Call us if <marker>you</marker> car was stolen.</example>
                <example correction="your">How do you unlock this if <marker>you</marker> phone is dead?</example>
                <example>When you say nothing is working, can you access the dashboard at all?</example>
                <example>When you reply be sure to type below the closing quote tag.</example>
                <example>You might not have a definitive answer even if you start having sexual relationships.</example>
                <example>Freedom to do what you want when you want is not freedom, it's licence.</example>
                <example>Not earning miles when you fly is like keeping your money under a mattress instead of in a savings account.</example>
                <example>Which if you recall was the best?</example>
                <example>If you RSVP'd, a game card, 2 drink tickets.</example>
                <example type="triggers_error">The feeling that you have when you drive is wonderful.</example>
            </rule>
            <rule><!-- <You> information is good -->
                <antipattern><!-- You love doing that -->
                    <token>you</token>
                    <token postag="VB[DP]" postag_regexp="yes" />
                    <token regexp="yes">doing|having</token>
                </antipattern>
                <antipattern><!-- You Carl are the best -->
                    <token>you</token>
                    <token postag="NNP" />
                    <token regexp="yes">aren?</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNPS" />
                    <token postag="VB[PD]?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">but|and</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception regexp="yes">&nouns_with_you;</exception>
                        <exception inflected="yes" regexp="yes">be|have</exception>
                        <exception postag="RB.*|MD" postag_regexp="yes" />
                        <exception regexp="yes" inflected="yes">mean|say|want|think|believe|get|know|go</exception>
                        <exception regexp="yes">cant|wont</exception><!-- different error -->
                    </token>
                    <token inflected="yes" regexp="yes">
                        be|have|do
                        <exception>be</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="Your"><marker>You</marker> information was helpful.</example>
                <example correction="Your"><marker>You</marker> new coat is dirty.</example>
                <example correction="Your"><marker>You</marker> comments are welcome.</example>
                <example>You better be careful.</example>
                <example>You sir are a gentleman and a scholar.</example>
                <example>You people do good work.</example>
                <example>You love doing that, don't you?</example>
                <example>You make doing that look easy.</example>
                <example>You better do that.</example>
                <example>You Carl are the best!</example>
                <example>You Australians have nothing in common with us.</example>
            </rule>
            <rule><!-- I think <your> nice -->
                <antipattern>
                    <token>your</token>
                    <token regexp="yes" skip="1">right|welcome</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token regexp="yes">if|maybe|or|and</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">know</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt</token>
                    <token>you</token>
                    <token postag="RB" min="1" max="2" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>know</token>
                    <token>your</token>
                    <token>worth</token>
                    <token postag="CC|PCT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt|know|say</token>
                    <marker>
                        <token regexp="yes">your?|ur</token>
                    </marker>
                    <token regexp="yes" min="0">all|both|being|feeling|doing|keeping|managing|recovering</token>
                    <token regexp="yes" min="0" max="2">just|not|very|really|even|totally|absolutely|extremely|too|more|less|always|never|pretty|perfectly|obviously|normally|usually|actually|kinda|probably|almost|basically|currently|only|also|exactly|definitely|much|still</token>
                    <!-- long list of adjectives is currently necessary due to wrong tagging -->
                    <token regexp="yes">probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|invisible|profitable|(un)?recognizable|gentle|inevitable|ok(ay)?|hurt|next|fine|good|well|healthy|happy|successful|better|lucky|t?here|ready|sorry|glad|(un)?able|hungry|mad|busy|safe|welcome|angry|sick|proud|right|correct|wrong|crazy|great|cool|alone|amazing|beautiful|pretty|attractive|handsome|awesome|nice|(im)?possible|(un)?able|(un)?clear|helpful|important|nicer|best|similar|difficult|small|big|large|little|active|bad|wonderful|simpler?|easy|early|available|dangerous|enough|alright|sure|sexy|alone|nothing|free|cheap|expensive|annoying|worth|different|popular|famous|useful|old|young|hot|sweet|cute|strong|interesting|intelligent|poor|huge|rare|aware|efficient|capable|powerful|sufficient|afraid|obvious|careful|(un)?acceptable|boring|weird|valid|late|early|soon|smart|easier|useless|fantastic|hard|handy|related|relevant|normal|restricted|harm(ful|less)|one|up|clever|fair|just|only|meaningless|(un)?necessary|essential|foolish|natural|true|splendid|(un)?likely|(in)?appropriate|significant|special|confused|(un)?real|fake|perfect|dead|alive|red|green|blue|yellow|black|white|pink|purple|grey|gray|golden|broken|delicious</token>
                    <token min="0" regexp="yes">now|soon|together|tonight|today|yesterday|tomorrow|(any|some)more|t?here</token>
                    <token regexp="yes">
                        \p{P}|of|by|at|for|in|on|to|because|with(out|in)?|about|than|around|through
                        <exception regexp="yes">&apostrophe;|&quote;</exception>
                    </token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">I hope <marker>your</marker> happy.</example>
                <example correction="you're">I hope <marker>your</marker> doing better now.</example>
                <example correction="you're">And I think <marker>your</marker> right!</example>
                <example correction="you're">I know <marker>ur</marker> right.</example>
                <example correction="you're">I know <marker>your</marker> hurt.</example>
                <example correction="you're">Hope <marker>your</marker> well!</example>
                <example>I think your right now to go anywhere is very valuable.</example>
                <example>I think your natural, black hair looks best on you.</example>
                <example>I think you mean:</example>
                <example>I thought your time of the month is now.</example>
                <example>I knew you well.</example>
                <example>I don't think it hurt "W" too much.</example>
                <example>I know you better than that.</example>
                <example>I think your best, if not only, bet is an AppleScript applet that accomplishes the same thing.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|while|after|before|if|once|as</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">at|on|in|with(in)?</token>
                    <token chunk="B-NP-singular" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Please talk to me when <marker>your</marker> at the office.</example>
                <example correction="you're">Social stuff will come when <marker>your</marker> on top of your symptoms.</example>
                <example correction="you're">Because they are lots of fun when <marker>your</marker> in a good state of mind.</example>
                <example correction="you're">If <marker>your</marker> in pain just go to anyone.</example>
                <example correction="you're">It's very casual, so if <marker>your</marker> in the neighborhood, stop by and have a glass of wine.</example>
                <example correction="you're">While <marker>your</marker> at it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|while|after|before|if|once|as</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">at|on|in|with(in)?</token>
                    <token chunk="B-NP-plural" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Please talk to me when <marker>your</marker> at the offices.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>not</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ" />
                    <token regexp="yes">with|at</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">How does it feel to talk to someone <marker>your</marker> not familiar with.</example>
                <example correction="You're"><marker>Your</marker> not useless at all mate.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|once|when|as|but|because</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">t?here</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Please say hello once <marker>your</marker> there.</example>
            </rule>
            <rule>
                <antipattern>
                    <token><exception regexp="yes">long|soon|good|bad|much|fast|quick</exception></token>
                    <token>as</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">if|once|when|as|but|because</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">okay|ok|fine|available|ready|free|good|up|around|worried|new|(un)?able|(un)comfortable</token>
                    <token postag="IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Please say hello once <marker>your</marker> available for chat.</example>
                <example correction="you're">Let me know if <marker>your</marker> okay with this.</example>
                <example correction="you're">If <marker>your</marker> free for lunch sometime this week let me know.</example>
                <example correction="you're">Just thought I'd drop a line and see if <marker>your</marker> up for beers sometime this weekend.</example>
                <example>I will serve as your representative in the year end 2000 Associates PRC Meeting.</example>
                <example>Please let me know if your understanding of the questions to be addressed differs from the foregoing.</example>
                <example>You cannot have competition being viable when your base of potential customers is so small.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJ" min="0" />
                    <token chunk="E-NP-singular" />
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>in</token>
                    <token postag="RB" min="0" />
                    <token postag="PCT" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">It’s not your fault for their closed minds or for being in the situation <marker>your</marker> in.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END">welcome</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> welcome</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">much|way|far</token>
                    <token postag="JJR" />
                    <token regexp="yes">\.|\!|\?|…|,|than|as|to|for|on|in|at|with(in|out)?|from|now|soon|t?here|because|since|before|after|until|till|like|that|but|if|when|around</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> much older now</example>
                <example correction="You're"><marker>Your</marker> way better than that!</example>
                <example>Getting to Baseline Knowing how much electricity appliances use can help you budget your way closer to baseline levels.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token regexp="yes">/|\*</token>
                </antipattern>
                <antipattern>
                    <token>come</token>
                    <token>on</token>
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token regexp="yes">records?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">(in)?to|o[fn]|in|with(out)?|at|for</token>
                    <marker>
                        <token regexp="yes">your|my</token>
                        <token regexp="yes">
                            the|an?
                            <exception case_sensitive="yes" regexp="yes">AN?</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2</suggestion> or <suggestion>\3</suggestion>?</message>
                <example correction="your|the">I will send it to <marker>your the</marker> team.</example>
                <example correction="your|a">I’m partly responsible for <marker>your a</marker> decent number of your losses.</example>
                <example correction="your|the">Please forward this email to <marker>your the</marker> administrative staff of your department, so they can access the portal site.</example>
                <example>What did you do to your a/c system?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token regexp="yes">records?</token>
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token regexp="yes">/|\*</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>your</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>your</token>
                    <token>My</token>
                    <token regexp="yes">[A-Z].+</token>
                </antipattern>
                <antipattern><!-- proper noun -->
                    <token>my</token>
                    <token>verizon</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">
                        an?|my|the|his|her|our|their
                        <exception case_sensitive="yes" regexp="yes">AN?|MY</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>you</suggestion>, <suggestion>yours</suggestion>, or <suggestion>you're</suggestion> (short for 'you are')?</message>
                <example correction="you|yours|you're">I think <marker>your</marker> a very good leader.</example>
                <example correction="you|yours|you're">I imagine <marker>your</marker> a programmer.</example>
                <example correction="you|yours|you're">I guess that is why <marker>your</marker> the addict!</example>
                <example>Your O's resemble your A's.</example>
                <example>Your A record must point to your ip address `159.65.156.240`, so your server answers directly.</example>
                <example>What did you do to your a/c system?</example>
                <example>It hurts my a**.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|since|because|but|as|unless|once|until|till</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">under|over</token>
                    <or>
                        <token chunk="B-NP-singular" />
                        <token chunk="B-NP-plural" />
                    </or>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Let me know when <marker>your</marker> under pressure.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|since|because|but|as|unless|once|until|till</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>out</token>
                    <token regexp="yes">of|in|on|with|under|over|at</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Let me know as soon as <marker>your</marker> out of the meeting.</example>
                <example correction="you're">I'm very serious about covering you when <marker>your</marker> out in January.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>done</token>
                    <token regexp="yes">list|projects?|tasks?|issues?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">when|if|since|because|but|as|unless|once|until|till</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost|so|very</token>
                    <token>done</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Let me know when <marker>your</marker> done.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">to|from</token>
                    <token>your</token>
                    <token>done</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token regexp="yes">done|sick|tired</token>
                    <token>,</token>
                    <token min="0">your</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost|so|very</token>
                    <token regexp="yes">done|sick|tired</token>
                    <token regexp="yes">\p{P}|with(out|in)?|finally|already|almost|now|at|then|in|from|t?here|out|soon|for|because|but|when|as|until|till|before|after|of|under|over|via|through</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Let me know when <marker>your</marker> done.</example>
                <example correction="You're"><marker>Your</marker> done when I say you're done.</example>
                <example>You harmed them with your sick, sick greed.</example>
                <example>Give me your tired, your poor, your huddled masses.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost|so|very</token>
                    <token postag="SENT_END" regexp="yes">done|sick|tired</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Let me know when <marker>your</marker> done</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token min="0" regexp="yes">finally|already|eventually|really|now|actually|completely|totally|absolutely|almost</token>
                    <token regexp="yes">done|sick</token>
                    <token postag="VBG" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Let me know when <marker>your</marker> done making it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|once</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception>own</exception>
                    </token>
                    <token min="0" regexp="yes">then|,</token>
                    <token regexp="yes">please|t?here|lets?|make|don?</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">If <marker>your</marker> interested please let me know.</example>
                <example correction="you're">If <marker>your</marker> interested let me know.</example>
                <example>You don't get up as early as your sister, do you?</example>
            </rule>
            <rule>
                <pattern>
                    <token>hope</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token postag="IN" min="0" />
                    <token regexp="yes">t?here</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">I hope <marker>your</marker> well out there.</example>
                <example correction="you're">I hope <marker>your</marker> okay over there on the west coast.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" inflected="yes">forward|request|prepare|send|re-?send|post|re-?post|refer|redirect|email|mail|e-mail|deliver|provide|say</token>
                    <token postag="IN" />
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">explain|listen|bring|appeal|matter</token>
                    <token>to</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>you</token>
                    <token>week</token>
                </antipattern>
                <antipattern>
                    <token>courtesy</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">multiple|several|many|numerous</token>
                    <token>times</token>
                </antipattern>
                <antipattern>
                    <token skip="3">you</token>
                    <token>ago</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>due</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>one</token>
                    <token>day</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>day</token>
                    <token>by</token>
                    <token>day</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>face</token>
                    <token>to</token>
                    <token>face</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>time</token>
                    <token>to</token>
                    <token>time</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>fresh</token>
                    <token>from</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">receive|get|need</token>
                    <token>from</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token skip="3">how</token>
                    <token inflected="yes">be</token>
                    <token>to</token>
                    <token>you</token>
                </antipattern>
                <pattern>
                    <or>
                        <token chunk="I-VP" postag="VB.*" postag_regexp="yes" />
                        <token chunk="B-VP" postag="VB.*" postag_regexp="yes" />
                    </or>
                    <token postag="IN" regexp="yes">at|for|on|in|of|from|to|around|with(out|in)</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                        <exception regexp="yes">next|last|first|several|plenty|many|certain|only</exception>
                    </token>
                    <token postag="NN.*" postag_regexp="yes" min="1" max="2">
                        <exception>one</exception>
                        <exception postag="RB" />
                        <exception postag="CC" />
                        <exception postag="IN" />
                        <exception postag="UH" />
                        <exception postag="JJR" />
                        <exception postag="VBG" />
                        <exception postag="NNP" />
                        <exception postag="CD" />
                        <exception>okay</exception>
                        <exception>prior</exception>
                        <exception case_sensitive="yes" regexp="yes">Thanks|Please</exception>
                        <exception regexp="yes">&given_names_that_are_also_nouns;</exception>
                        <exception regexp="yes">bros?|mates?|pals?|brothers?|dad|m[uo]m|darling|sweethearts?|beginners|dudes?|boss|&nouns_with_you;</exception>
                        <exception>handfuls</exception>
                        <exception regexp="yes">(some|every|any)(thing|one|body)|nothing</exception>
                        <exception regexp="yes">says|matters</exception>
                        <exception>most</exception>
                    </token>
                    <token postag="IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">I'm looking at <marker>you</marker> new service.</example>
                <example correction="your">I will get on <marker>you</marker> calendar on Monday.</example>
                <example correction="your">In any way, I’d suggest to talk to <marker>you</marker> administrator.</example>
                <example correction="your">We are still waiting for <marker>you</marker> approval on this.</example>
                <example correction="your">I'm sure we could also benefit from <marker>you</marker> views of how the current technology is evolving.</example>
                <example>Take to you handfuls of ashes out of the chimney, and let Moses sprinkle it in the air in the presence of Pharaoh.</example>
                <example>Hope to hear from you on Monday.</example>
                <example>It was really good to talk to you last night.</example>
                <example>If I don't hear from you by end of week, I'll call Steve.</example>
                <example>If I have not heard from you by Noon on the 11th, I will assume that you are not interested.</example>
                <example>Hope to hear from you next week.</example>
                <example>I want to talk to you face to face.</example>
                <example>They will get to you okay?</example>
                <example>It was explained to you numerous times.</example>
                <example>This could happen to you one day.</example>
                <example>I will talk to you first thing in the morning.</example>
                <example>In that regard, you may recall that swap templates were given to you several months ago.</example>
                <example>We never merge “just an example use case” for the sake of merging it and this has been explained to you multiple times.</example>
                <example>I am on vacation; will talk to you week of July 3 to finalize any details</example>
                <example>Mark, At Greg Johnston's request, I am forwarding to you copies of two proposed EOL products the Canada office would like to set up for trading on EnronOnline.</example>
                <example>Dan, Jan, I would like for you two to estimate what the potentional impact could be for October close on the volumetric OBAs.</example>
                <example>For the future, we would need to you upload your macro in order for us to be of much help.</example>
                <example>Anything else that comes to mind for you folks?</example>
                <example>I'll talk to you tom.</example>
                <example>I'm counting on you bro!</example>
                <example>That's happened to you several times, hasn't it?</example>
                <example>This may involve a significant amount of Marie's time which may result in you having to cover for her on new matters this week if she needs help.</example>
                <example>He cares for you most.</example>
                <example>We will refund to you only costs for the first item.</example>
            </rule>
            <rule>
                <pattern>
                    <token>because</token>
                    <token>of</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">I want to talk to you because of <marker>you</marker> connection with Tom.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        <exception postag="VB.*|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">that|this</token>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Oh, <marker>your</marker> that guy who texted me.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                        <token>to</token>
                    </marker>
                    <token chunk="B-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" />
                </pattern>
                <message>There seems to be a grammar issue here. Please check.</message>
                <suggestion>your two</suggestion>
                <example correction="Your two"><marker>Your to</marker> new friends are very nice.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                        <token>to</token>
                    </marker>
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                </pattern>
                <message>There seems to be a grammar issue here. Please check.</message>
                <suggestion>your two</suggestion>
                <example correction="Your two"><marker>Your to</marker> friends are very nice.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                        <token>to</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>There seems to be a grammar issue here. Please check.</message>
                <suggestion>you to</suggestion>
                <suggestion>yours to</suggestion>
                <example correction="you to|yours to">I think this one is <marker>your to</marker> approve.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                        <token>to</token>
                    </marker>
                    <token postag="JJ">
                        <exception postag="VB" />
                    </token>
                </pattern>
                <message>There seems to be a grammar issue here. Please check.</message>
                <suggestion>you're too</suggestion>
                <example correction="You're too"><marker>Your to</marker> good for me.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|RB|PCT" postag_regexp="yes" />
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>one</token>
                    <token>of</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Now, if <marker>your</marker> one of those who agree, please let me know.</example>
                <example correction="you're">Since <marker>your</marker> one of the only names on this thing I recognize, besides Margaret's, I thought I'd ask.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" inflected="yes">share|talk|exchange</token>
                    <token>with</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&weekdays;|yesterday|tomorrow</token>
                    <token regexp="yes">morning|afternoon|noon|evening</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">next|last|upcoming</token>
                    <token regexp="yes">morning|afternoon|noon|evening|week|month|year|week-?end|christmas|thanksgiving</token>
                </antipattern>
                <antipattern>
                    <token>day</token>
                    <token>by</token>
                    <token>day</token>
                </antipattern>
                <antipattern>
                    <token>courtesy</token>
                    <token>of</token>
                </antipattern>
                <antipattern><!-- wrong chunking -->
                    <token>dive</token>
                    <token>into</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>one</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">before|after</token>
                </antipattern>
                <antipattern>
                    <token skip="1" regexp="yes">each|any|some</token>
                    <token>of</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>most</token>
                    <token>of</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- company name -->
                    <token>ABOUT</token>
                    <token>YOU</token>
                </antipattern>
                <antipattern>
                    <token>proud</token>
                    <token>of</token>
                    <token>you</token>
                    <token postag="NNP" />
                </antipattern>
                <antipattern>
                    <token>shut</token>
                    <token>up</token>
                    <token skip="2">you</token>
                    <token postag="CC" />
                </antipattern>
                <pattern>
                    <token postag="IN">
                        <exception regexp="yes">as|from|than|before|after|to|save</exception>
                    </token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="JJ.*|NN|NN:UN?" min="0" />
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN.*">
                        <exception regexp="yes">one|graduate|two|bro|buddy|mate|pal|fucker|darling|dude|brother|m[uo]m|dad|sweetheart|&months;|&abbrevMonths;|&weekdays;|&given_names_that_are_also_nouns;|today|yesterday|tomorrow|tonight</exception>
                        <exception postag="RB|IN|MD|CC|JJR" postag_regexp="yes" />
                        <exception regexp="yes">(some|any|no|every)(thing|body|one)</exception>
                    </token>
                    <token postag="IN" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Don't you have doubt in <marker>you</marker> heart about this?</example>
                <example correction="your">I believe you can get a draft on <marker>you</marker> desk by the end of tomorrow.</example>
                <example correction="your">Thank you for <marker>you</marker> time with this matter.</example>
                <example>What're you planning on doing after you graduate from high school?</example>
                <example>You can lose more funds than you deposit in the margin account.</example>
                <example>Thanks to you two for the constructive help.</example>
                <example>Are any of you closer to others.</example>
                <example>I will talk to you first thing in the morning.</example>
                <example>Look forward to speaking to you tomorrow with the intention of moving this along.</example>
                <example>Great to hear from you mom from the boat and hope you have a great time.</example>
                <example>This offer has been sent to you courtesy of BusinessWeek Online.</example>
                <example>Dear Mr. Kaminski, It was very nice to talk with you Saturday morning during the "voleyball event".</example>
                <example>During this call, we would be pleased to share with you information about Cargill's current leadership development programs.</example>
                <example>We would like to discuss the draft with you tomorrow morning with a view to its execution by tomorrow afternoon.</example>
                <example>I'm very proud of you James after all you have been through.</example>
                <example>I am going to look into and will need a breakdown from you day by for these days(8/6 thru 8/10).</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">fine|well|good|safe</token>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">trusts?</token>
                    <marker>
                        <token regexp="yes">your?</token>
                    </marker>
                    <token regexp="yes" min="0">doing|keeping</token>
                    <token regexp="yes" min="0">very|really</token>
                    <token regexp="yes">fine|well|good|safe|ok(ay)?|healthy</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Hello, trust <marker>your</marker> doing well!</example>
                <example>I trust your good feelings.</example>
            </rule>
            <rule><!-- <You> reimbursement id is 12 -->
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">but|and</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">be|have</exception>
                        <exception postag="RB|MD" postag_regexp="yes" />
                        <exception regexp="yes" inflected="yes">mean|say|want|think|believe|get|know</exception>
                        <exception regexp="yes">cant|wont</exception><!-- different error -->
                    </token>
                    <token inflected="yes" regexp="yes">
                        be|have
                        <exception>be</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="Your"><marker>You</marker> reimbursement id is 12.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN">
                        <exception>since</exception>
                    </token>
                    <token>your</token>
                    <token>being</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>being</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token postag="IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">It is not good <marker>your</marker> being angry with me.</example>
                <example correction="you're">I don’t know if <marker>your</marker> being sarcastic.</example>
            </rule>
            <rule><!-- your only a child -->
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB">
                        <exception>way</exception>
                    </token>
                    <token regexp="yes">an?|the</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">But <marker>your</marker> only a child!</example>
                <example correction="you're">Yeah, <marker>your</marker> just a little stressed.</example>
                <example>I am happy to give your way a try.</example>
            </rule>
            <rule>
                <pattern>
                    <token />
                    <token />
                    <token />
                    <token>not</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re="[BI]-NP-.*" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-.*" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">It was your current and not <marker>you</marker> previous team.</example>
            </rule>
            <rule><!-- Did <you> friend check ... ? -->
                <pattern>
                    <token regexp="yes" inflected="yes">do|will|can</token>
                    <token min="0" spacebefore="no">n't</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="NNS?|NN:UN?" postag_regexp="yes">
                        <exception regexp="yes">&nouns_with_you;</exception>
                        <exception postag="RB.*|IN" postag_regexp="yes" />
                        <exception regexp="yes">say|get|need|help|start|go|read|know|take|think|self|pre|double|anti|semi|micro|macro|auto|&uncommon_verbs;</exception>
                    </token>
                    <token postag="VB" chunk_re=".-VP" skip="-1" regexp="yes">
                        have|look|check|want
                    </token>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Did <marker>you</marker> team check the results?</example>
                <example correction="your">Didn't <marker>you</marker> team check the results?</example>
                <example correction="your">How often does <marker>you</marker> mother have you go to the supermarket to buy bread?</example>
                <example>How did you get hurt?</example>
                <example>Do you maybe want to post the whole thing?</example>
                <example>When did you last check this knife?</example>
                <example>Which do you think have more vitamin C, apples or grapes?</example>
                <example>Can you go look for help?</example>
                <example>What do you men want?</example>
                <example>Can you help look after the kids?</example>
                <example>In the meantime, can you double check your own time zone setting?</example>
            </rule>
            <rule>
                <pattern>
                    <token>for</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VB.*|RB" postag_regexp="yes" />
                        <exception regexp="yes">&nouns_with_you;</exception>
                        <exception regexp="yes">&weekdays;|&abbrevWeekdays;|&months;|&abbrevMonths;</exception>
                    </token>
                    <token regexp="yes">and|or|&amp;</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">Thanks all for <marker>you</marker> feedback and help.</example>
                <example>I hope this is a quick one for you guys and girls.</example>
                <example>I’ll open one up for you now and get a Java Support Agent to help you out.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|PCT|W.*" postag_regexp="yes">
                        <exception regexp="yes">directly|for|provided</exception>
                    </token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0"/>
                    <token postag="JJ">
                        <exception postag="NN.*" postag_regexp="yes"/>
                        <exception>own</exception>
                    </token>
                    <token>to</token>
                </pattern>
                <message>&you_re;</message>
                <short>Possible typo</short>
                <example correction="you're">By blending out all noise, you can focus on your writing until <marker>your</marker> ready to look into further suggestions.</example>
                <example correction="you're">Please let me know if <marker>your</marker> unable to attend.</example>
                <example correction="you're">John, I haven't spoken to you in a while and trust that <marker>your</marker> off to another strong year and that your family is well settled in Houston.</example>
                <example>You can take added steps to increase your security online and protect your confidential to learn more about protecting your information online.</example>
                <example>At first, I thank you so much for your listening to my poor presentation.</example>
                <example type="triggers_error">Very very much appreciate your time and your willing to help guys!</example><!-- ambiguous -->
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">when|if|once|until</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">sorry|happy|done|ready</token>
                    <token min="0">then</token>
                    <token postag="PCT|W.*|PRP.*|DT|EX" postag_regexp="yes" />
                </pattern>
                <message>&you_re;</message>
                <short>Possible typo</short>
                <example correction="you're">If <marker>your</marker> sorry, why didn't you apologize?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>that</token>
                    <token>you</token>
                    <token postag="NNP" />
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>that</token>
                    <token>you</token>
                    <token regexp="yes">&given_names_that_are_also_nouns;</token>
                </antipattern>
                <pattern>
                    <token chunk_re=".-VP" />
                    <token chunk="B-SBAR">that</token>
                    <marker>
                        <token>you</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>your</suggestion>?</message>
                <example correction="your">I heard that <marker>you</marker> division got purchased by a Swiss bank.</example>
                <example>I thought that you two knew each other.</example>
                <example>I understand that you guys were dealing with John Fielder.</example>
                <example>I believe that you Jay will readily see the priority of payments provisions in item 10.</example>
            </rule>
        </rulegroup>
        <rulegroup id="EXITED_EXCITED" name="exited (excited)">
            <rule>
                <pattern>
                    <token inflected="yes" skip="2" regexp="yes">be|get|so|very|really</token>
                    <marker><token>exited</token></marker>
                    <token>about</token>
                </pattern>
                <message>Did you mean <suggestion>excited</suggestion> (=enthusiastic) instead of 'exited' (=gone away)?</message>
                <example correction="excited">She is really <marker>exited</marker> about it.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" skip="1">be|get|so|very|really</token>
                    <marker><token>exited</token></marker>
                    <token>to</token>
                    <token postag="VBP" />
                </pattern>
                <message>Did you mean <suggestion>excited</suggestion> (=enthusiastic) instead of 'exited' (=gone away)?</message>
                <example correction="excited">She is really <marker>exited</marker> to go there.</example>
                <example correction="excited">I’m <marker>exited</marker> to continue coding.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB">
                        <exception postag="IN" />
                    </token>
                    <marker><token>exited</token></marker>
                </pattern>
                <message>Did you mean <suggestion>excited</suggestion> (=enthusiastic) instead of 'exited' (=gone away)?</message>
                <example correction="excited">She is really <marker>exited</marker> about it.</example>
                <example correction="excited">You're really <marker>exited</marker> about that, aren't you?</example>
                <example>The container is in exited state.</example>
            </rule>
        </rulegroup>

        <rulegroup id="YOUR_YOU_RE" name="Your (You're)">
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*|RP" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token regexp="yes">your|ur|ya</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception>own</exception>
                        <exception>wont</exception>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Oh <marker>your</marker> so beautiful.</example>
                <example correction="You're"><marker>Your</marker> not alone.</example>
                <example correction="You're"><marker>Your</marker> nice.</example>
                <example correction="you're">Yeah well, <marker>your</marker> probably right.</example>
                <example correction="you're">Feel free to reach out to these guys if <marker>your</marker> interested.</example>
                <example correction="you're">If you think you’re normal, <marker>your</marker> probably crazy.</example>
                <example>Consider this for your content.</example>
                <example>Please check your content</example>
                <example>Don't throw away your chance.</example>
                <example>Your nice and beautiful brother contacted me.</example>
                <example>Your nice, beautiful and handsome brother contacted me.</example>
                <example>You are the center of the Universe, not mine, but your own.</example>
                <example correction="you're">A reason I think life goes by so quickly when <marker>your</marker> older.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>gonna</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> gonna be the best.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token regexp="yes">your|ur|ya</token>
                    </marker>
                    <token>very</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">But <marker>your</marker> very cool.</example>
            </rule>

            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC  -->
                    </token>
                    <marker>
                        <token regexp="yes">your|ur|ya</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END" regexp="yes">free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|dangerous|different|enough|t?here|sexy|&short_adjectives;|&optional_short_adjectives;</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">But <marker>your</marker> so beautiful</example>
                <example>Not mine, but your own</example>
                <example>Your Grave.</example>
            </rule>

            <rule><!-- needed because of wrong tagging: "cool" is tagged NN in "Your cool." -->
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC  -->
                    </token>
                    <marker>
                        <token regexp="yes">your|ur|ya</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|dangerous|different|enough|t?here|sexy|&short_adjectives;|&optional_short_adjectives;</token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> cool.</example>
                <example>Not mine, but your own.</example>
            </rule>

            <rule>
                <pattern>
                    <token regexp="yes">yeah?|yes|no|[aoi]+h|uhm|well|y[ae]p|nope|huh|alright|,</token>
                    <marker>
                        <token regexp="yes">your|ur|ya</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END" regexp="yes">free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|dangerous|different|enough|t?here|sexy|&short_adjectives;|&optional_short_adjectives;</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">Yes <marker>your</marker> so beautiful</example>
            </rule>

            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>Your</token>
                    <token>not</token>
                    <token postag="VBG"></token>
                    <token postag_regexp="yes" postag="NN(S|:UN?)"></token>
                    <token postag_regexp="yes" postag="VB[DZ]|MD"></token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker><token>Your</token></marker>
                    <token regexp="yes">not|an?|the</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> not a nice man.</example>
                <example correction="You're"><marker>Your</marker> a great guy!</example>
                <example correction="You're"><marker>Your</marker> the nicest girl on earth!</example>
                <example><marker>You're</marker> not a nice man.</example>
                <example><marker>Your</marker> not having money doesn't mean you cannot enjoy yourself.</example><!-- https://english.stackexchange.com/questions/112837/gerund-preceded-by-a-genitive-->
                <example><marker>Your</marker> not eating vegetables can't be good for you.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">with|of|in|at|on</token>
                    <token>your</token>
                </antipattern>
                <pattern>
                    <marker><token>your</token></marker>
                    <token postag="JJ">
                        <exception>own</exception>
                        <exception postag_regexp="yes" postag="VBG|NN.*"/>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="r" regexp_replace=""/>'re</suggestion>?</message>
                <example correction="You're"><marker>Your</marker> beautiful.</example>
                <example correction="you're">Did you know that <marker>your</marker> beautiful?</example>
                <example>Did you do this on <marker>your</marker> own?</example>
                <example>I'm tired of <marker>your</marker> nagging.</example>
                <example>Try to speak English as often as possible if you want to improve your English.</example>
                <example>I have written the testimonial using the link you provided in <marker>your</marker> e-mail.</example>
                <example>Unfortunately, we don't sell it in <marker>your</marker> colour.</example>
                <example>After that, move on to your next.</example><!-- #2626 -->
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token min="0" regexp="yes">and|but|oh|yes|no|yeah|well</token>
                    <token min="0">,</token>
                    <marker><token>Your</token></marker>
                    <token regexp="yes" min="0">very|so|really|not|totally|absolutely|even|completely</token>
                    <token regexp="yes">welcome|pretty|right|wrong|correct|cool|nice|next|alone|fired|wanted|hot|better|not</token>
                    <token regexp="yes">[\.,:;!…]</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>Your</marker> welcome.</example>
                <example correction="You're"><marker>Your</marker> right, but for the wrong reason.</example>
                <example correction="You're"><marker>Your</marker> very welcome!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker><token>Your</token></marker>
                    <token regexp="yes">(sincere|faithful)ly</token>
                    <token>,</token>
                </pattern>
                <message>Did you mean <suggestion>Yours</suggestion>? (complimentary close)</message>
                <example correction="Yours"><marker>Your</marker> sincerely, Tom</example>
            </rule>
            <rule>
                <pattern>
                    <token>if</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="VBG"/>
                    <token postag_regexp="yes" postag="NN(S|:UN?)|RB"/>
                    <token>,</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="you're">If <marker>your</marker> having trouble, ask for help.</example><!-- trouble/E-NP-singular -->
                <example correction="you're">... and if <marker>your</marker> thinking carefully, you will understand why this is not easy.</example><!-- thinking/E-NP-singular -->
                <example>If <marker>you're</marker> having trouble, ask for help.</example>
                <example>If you think <marker>your</marker> having money will make you happy, you are a shallow person.</example><!-- money/E-NP-singular -->
                <example>Some people say that if <marker>your</marker> thinking patterns are very sloppy.</example>
                <example>Show me your driving license, please.</example>
                <example>Be nice to your kids. They'll choose your nursing home, after all.</example>
            </rule>
        </rulegroup>

        <!-- you're .*/JJS .*/NN::word=your \1 \2::pivots=you're,your::options=your,you're -->
        <rule id="YOURE_JJS_NN" name="you're (your) JJS NN">
            <pattern>
                <token>you</token>
                <token>'re</token>
                <token postag="JJS"><exception postag="JJS" negate_pos="yes"/></token>
                <token postag="NN|NN:UN?" postag_regexp="yes"><exception postag="NN|NN:UN?" postag_regexp="yes" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion>your <match no="3"/> <match no="4"/></suggestion>?</message>
            <example correction="your greenest banana">I'd like to buy <marker>you're greenest banana</marker> please.</example>
        </rule>
        <!-- they're .*/JJS .*/NN::word=their \1 \2::pivots=they're,their::options=their,they're -->
        <rule id="THEYRE_JJS_NN" name="they're (their) JJS NN">
            <pattern>
                <token>they</token>
                <token>'re</token>
                <token postag="JJS"><exception postag="JJS" negate_pos="yes"/></token>
                <token postag="NN|NN:UN?" postag_regexp="yes"><exception postag="NN|NN:UN?" postag_regexp="yes" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion>their <match no="3"/> <match no="4"/></suggestion>?</message>
            <example correction="their oddest hypothesis">It was <marker>they're oddest hypothesis</marker> yet.</example>
        </rule>
        <rule id="WRB_THERE_THEY_RE" name="'wherever there (they are) going'">
            <pattern>
                <token postag="WRB"></token>
                <marker>
                    <token>there</token>
                </marker>
                <token postag="VBG"></token>
            </pattern>
            <message>Did you mean <suggestion>they are</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="they are">Wherever <marker>there</marker> going, I will follow them.</example>
        </rule>
        <!-- .*/VBZ .*/IN|DT they're .*/NNP|NN|NNS::word=\0 \1 their \3::pivots=they're,their::options=they're,their -->
        <rule id="VBZ_IN_THEYRE_NN" name="VBZ IN they're (their) NN">
            <pattern>
                <token postag="VBZ"><exception postag="VBZ" negate_pos="yes"/></token>
                <token postag="IN|DT" postag_regexp="yes"><exception postag="IN|DT" postag_regexp="yes" negate_pos="yes"/></token>
                <token>they</token>
                <token>'re</token>
                <token postag="NNP|NN|NN:UN?|NNS" postag_regexp="yes"><exception postag="NNP|NN|NN:UN?|NNS" postag_regexp="yes" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> their <match no="5"/></suggestion>?</message>
            <example correction="disparages of their company">What kind of person <marker>disparages of they're company</marker>?</example>
        </rule>
        <!-- .*/IN .*/VBZ they're .*/NNP|NN|NNS::word=\0 \1 their \3::pivots=they're,their::options=they're,their -->
        <rule id="IN_VBZ_THEYRE_NN" name="IN VBZ they're (their) NN">
            <pattern>
                <token postag="IN"><exception postag="IN" negate_pos="yes"/></token>
                <token postag="VBZ"><exception postag="VBZ" negate_pos="yes"/></token>
                <token>they</token>
                <token>'re</token>
                <token postag="NNP|NN|NN:UN?|NNS" postag_regexp="yes"><exception postag="NNP|NN|NN:UN?|NNS" postag_regexp="yes" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> their <match no="5"/></suggestion>?</message>
            <example correction="of is their happiness">The only thing we think <marker>of is they're happiness</marker>.</example>
        </rule>
        <!-- .*/DT .*/VBZ they're .*/NNP|NN|NNS::word=\0 \1 their \3::pivots=they're,their::options=they're,their -->
        <rule id="DT_VBZ_THEYRE_NN" name="DT VBZ they're (their) NN">
            <pattern>
                <token postag="DT"><exception postag="DT" negate_pos="yes"/></token>
                <token postag="VBZ"><exception postag="VBZ" negate_pos="yes"/></token>
                <token>they</token>
                <token>'re</token>
                <token postag="NN[PS]?|NN:UN?" postag_regexp="yes"><exception postag="NNP|NN|NN:UN?|NNS" postag_regexp="yes" negate_pos="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> their <match no="5"/></suggestion>?</message>
            <example correction="another is their boyfriend">And if <marker>another is they're boyfriend</marker>, I will be angry.</example>
        </rule>
        <!-- need|going|have|ought to .*/VBG::word=\0 \1 \2:base::pivots=\2,\2:base -->
        <rule id="NEED_TO_VBG" name="need to VBG (VB)">
            <pattern>
                <token regexp="yes">need(s|ed)?|going|ha(ve|[sd])|ought</token>
                <token>to</token>
                <token postag="VBG">
                    <exception postag="VBG" negate_pos="yes"/>
                    <exception regexp="yes">.+in</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="2"/> <match no="3" postag="VB"/></suggestion>?</message>
            <example correction="going to hypothesize">We're <marker>going to hypothesizing</marker> about the origins of man.</example>
            <example>I'm going to fuckin' die</example>
        </rule>
        <rule id="ILL_I_LL" name="Ill (I'll)">
            <pattern case_sensitive="yes">
                <marker>
                    <token>Ill<exception scope="previous" postag_regexp="yes" postag="DT|TO"/><exception scope="previous" inflected="yes">be</exception></token>
                </marker>
                <token postag_regexp="yes" postag="[VR]B"/>
            </pattern>
            <message>Did you mean <suggestion>I'll</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="I'll"><marker>Ill</marker> explain!</example>
            <example>I'll never do this again!</example>
            <example>Ill news comes apace.</example>
        </rule>
        <rule id="I_ILL" name="I ill (I will)">
            <antipattern><!-- I make you ill -->
                <token postag="VB.*|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <pattern>
                <token case_sensitive="no" regexp="yes">I|s?he|we|they|it|you
                    <exception scope="previous" inflected="yes">be</exception>
                </token>
                <marker>
                    <token case_sensitive="yes">ill</token>
                    <token regexp="yes">[a-z].*</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>will \3</suggestion> or is a hyphen missing <suggestion>ill-\3</suggestion> (e.g., ill-treated, ill-advised)?</message>
            <short>Possible typo</short>
            <example correction="will have|ill-have">It seems that I <marker>ill have</marker> to celebrate at home.</example>
            <example correction="will treated|ill-treated">They <marker>ill treated</marker> me.</example>
            <example>Am I ill, Doc?</example>
            <example>I can make you ill.</example>
        </rule>
        <rule id="WITHE_WITH" name="with(e)">
            <pattern>
                <marker><token>withe</token></marker>
                <token postag="DT|PRP\$" postag_regexp="yes"></token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="e" regexp_replace=""/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="with">Please provide a link <marker>withe</marker> the updated information.</example>
            <example correction="with">I backed the project <marker>withe</marker> my personal money.</example>
        </rule>
        <rule id="DUCK_DUCT" name="duck (duct) tape">
            <pattern>
                <marker><token>duck</token></marker>
                <token>tape</token>
            </pattern>
            <message>Did you mean <suggestion>duct</suggestion>?</message>
            <url>https://brians.wsu.edu/2016/05/25/duck-tape/</url>
            <short>Possible typo</short>
            <example correction="duct">I used <marker>duck</marker> tape for it.</example>
        </rule>
        <rule  id="OFT_HE" name="oft he (of the)">
            <pattern>
                <marker>
                    <token>oft</token>
                    <token>he</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>of the</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="of the">One <marker>oft he</marker> officers approached him quickly.</example>
        </rule>
        <rule  id="HAST_O" name="hast o (has to)">
            <pattern case_sensitive="yes">
                <marker>
                    <token>hast</token>
                    <token>o</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>has to</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="has to">She <marker>hast o</marker> leave!</example>
        </rule>
        <rule id="GOON" name="goon (go on)">
            <pattern>
                <token inflected="yes">not</token>
                <marker><token case_sensitive="yes">goon</token></marker>
            </pattern>
            <message>Did you mean <suggestion>go on</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="go on">You can't <marker>goon</marker> like that.</example>
        </rule>
        <!-- laid ahead::word=lay ahead::pivots=laid,lay::options=laid,lay -->
        <rule id="LAID_AHEAD" name="laid (lay) ahead">
            <pattern>
                <token>laid</token>
                <token>ahead</token>
            </pattern>
            <message>Did you mean <suggestion>lay ahead</suggestion>?</message>
            <example correction="lay ahead">We never knew what <marker>laid ahead</marker>.</example>
        </rule>
        <!-- lay around::word=lie around::pivots=lay,lie::options=lay,lie -->
        <rule id="LAY_AROUND" name="lay (lie) around">
            <pattern>
                <token>lay</token>
                <token regexp="yes">around|low</token>
            </pattern>
            <message>Did you mean <suggestion>lie <match no="2"/></suggestion>?</message>
            <example correction="lie around">All he did Sunday was <marker>lay around</marker> the house.</example>
        </rule>
        <!-- laying around::word=lying around::pivots=laying,lying::options=laying,lying -->
        <rule id="LAYING_AROUND" name="laying (lying) around">
            <pattern>
                <token>laying</token>
                <token regexp="yes">around|low</token>
            </pattern>
            <message>Did you mean <suggestion>lying <match no="2"/></suggestion>?</message>
            <example correction="lying low">He had a special talent for <marker>laying low</marker>.</example>
        </rule>
        <!-- lays atop::word=lies atop::pivots=lays,lies::options=lays,lies -->
        <rule id="LAYS_ATOP" name="lays (lies) atop">
            <pattern>
                <token>lays</token>
                <token regexp="yes">atop|beside|low|near|on</token>
            </pattern>
            <message>Did you mean <suggestion>lies <match no="2"/></suggestion>?</message>
            <example correction="lies on">The text explains how important it is that the chicken <marker>lays on</marker> the noodles artfully.</example>
        </rule>
        <!-- was lain::word=was laid::pivots=lain,laid::options=lain,laid -->
        <rule id="WAS_LAIN" name="was lain (laid)">
            <pattern>
                <token regexp="yes">w(?:as|ere)</token>
                <token>lain</token>
            </pattern>
            <message>Did you mean <suggestion>\1 laid</suggestion>?</message>
            <example correction="was laid">The body <marker>was lain</marker> beside his wife in the cemetery.</example>
            <example>His body was laid beside his wife in the cemetery.</example>
        </rule>
        <!-- Jimmy Buffet::word=Jimmy Buffett::pivots=Buffet,Buffett -->
        <rule id="JIMMY_BUFFET" name="Jimmy Buffet (Buffett)">
            <pattern case_sensitive="yes">
                <token>Jimmy</token>
                <token>Buffet</token>
            </pattern>
            <message>Did you mean <suggestion>Jimmy Buffett</suggestion>?</message>
            <example correction="Jimmy Buffett"><marker>Jimmy Buffet</marker> sang at the Arco Arena.</example>
            <example>Jimmy Buffett sang at Arco Arena.</example>
        </rule>
        <rule id="HARRISON_FORD" name="Harison (Harrison) Ford">
            <pattern case_sensitive="yes">
                <token>Harison</token>
                <token>Ford</token>
            </pattern>
            <message>Did you mean the American actor and film producer <suggestion>Harrison Ford</suggestion>?</message>
            <example correction="Harrison Ford"><marker>Harison Ford</marker> is famous for playing Indiana Jones.</example>
        </rule>
        <rule id="SCHROEDINGER" name="Erwin Schroedinger (Schrödinger)">
            <pattern case_sensitive="yes">
                <token regexp="yes">Schroe?dinger</token>
            </pattern>
            <message>Did you refer to the Austrian physicist Erwin <suggestion>Schrödinger</suggestion> (1887–1961)?</message>
            <url>https://en.wikipedia.org/wiki/Erwin_Schr%C3%B6dinger</url>
            <example correction="Schrödinger">The <marker>Schrodinger</marker> equation is a mathematical formulation for studying quantum mechanics.</example>
        </rule>
        <!-- Jimmy Hendrix::word=Jimi Hendrix::pivots=Jimmy,Jimi -->
        <rule id="JIMMY_HENDRIX" name="Jimmy (Jimi) Hendrix">
            <pattern case_sensitive="yes">
                <token>Jimmy</token>
                <token>Hendrix</token>
            </pattern>
            <message>Did you mean <suggestion>Jimi Hendrix</suggestion>?</message>
            <example correction="Jimi Hendrix">Some argue that <marker>Jimmy Hendrix</marker> was the best guitarist who ever lived.</example>
            <example>Some argue that Jimi Hendrix was the best ever.</example>
        </rule>
        <!-- Phillips Arena::word=Philips Arena::pivots=Phillips,Philips::options=Phillips,Philips -->
        <rule id="PHILLIPS_ARENA" name="Phillips (Philips) Arena">
            <pattern case_sensitive="yes">
                <token>Phillips</token>
                <token>Arena</token>
            </pattern>
            <message>Did you mean <suggestion>Philips Arena</suggestion>?</message>
            <example correction="Philips Arena">The team played at <marker>Phillips Arena</marker>.</example>
        </rule>
        <!-- jive with::word=jibe with::pivots=jive,jibe -->
        <rule id="JIVE_WITH" name="jive (jibe) with">
            <pattern>
                <token>jive</token>
                <token>with</token>
            </pattern>
            <message>Make sure that '\1' refers to a type of dance. Did you mean <suggestion>jibe with</suggestion>?</message>
            <example correction="jibe with">That doesn't <marker>jive with</marker> my mental outlook.</example>
            <example>That doesn't <marker>jibe with</marker> my mental outlook.</example>
            <example type="triggers_error">You're a good dancer. Will you <marker>jive with</marker> me at the contest?</example>
        </rule>
        <!-- mash potatoes::word=mashed potatoes::pivots=mash,mashed::options=mash,mashed -->
        <rule id="MASH_POTATOES" name="mash (mashed) potatoes">
            <pattern>
                <token>mash</token>
                <token>potatoes</token>
            </pattern>
            <message>Did you mean <suggestion>mashed potatoes</suggestion>?</message>
            <example correction="mashed potatoes">His favorite food is <marker>mash potatoes</marker> and gravy.</example>
        </rule>
        <!-- is renown for::word=is renowned for::pivots=renown,renowned::options=renown,renowned -->
        <rule id="IS_RENOWN_FOR" name="is renown (renowned) for">
            <pattern>
                <token>is</token>
                <token>renown</token>
                <token>for</token>
            </pattern>
            <message>Did you mean <suggestion>is renowned for</suggestion>?</message>
            <example correction="is renowned for">Brown <marker>is renown for</marker> its annoying undergraduates.</example>
        </rule>
        <!-- brew haha::word=brouhaha -->
        <rule id="BREW_HAHA" name="brew haha (brouhaha)">
            <pattern>
                <token>brew</token>
                <token>haha</token>
            </pattern>
            <message>Did you mean <suggestion>brouhaha</suggestion>?</message>
            <example correction="brouhaha">What's all the <marker>brew haha</marker> about over there?</example>
        </rule>
        <!-- working progress::word=work in progress -->
        <rule id="WORKING_PROGRESS" name="working (work in) progress">
            <pattern>
                <token>working</token>
                <token>progress</token>
            </pattern>
            <message>Did you mean <suggestion>work in progress</suggestion>?</message>
            <example correction="work in progress">His symphony was a <marker>working progress</marker>.</example>
        </rule>
        <!-- historic record::word=historical record::pivots=historic,historical -->
        <rule id="HISTORIC_RECORD" name="historic (historical) record">
            <pattern>
                <token>historic</token>
                <token>record</token>
            </pattern>
            <message>Did you mean <suggestion>historical record</suggestion>?</message>
            <example correction="historical record">The policy was strictly a matter of <marker>historic record</marker>.</example>
        </rule>
        <!-- guest stared::word=guest-starred -->
        <rule id="GUEST_STARED" name="guest stared (guest-starred)">
            <pattern>
                <token>guest</token>
                <token>stared</token>
            </pattern>
            <message>Did you mean <suggestion>guest-starred</suggestion>?</message>
            <example correction="guest-starred">Alan Alda never <marker>guest stared</marker> in another episode.</example>
        </rule>
        <!-- in titled::word=entitled -->
        <rule id="IN_TITLED" name="in titled (entitled)">
            <pattern>
                <token regexp="yes">[ei]n</token>
                <token>titled</token>
            </pattern>
            <message>Did you mean <suggestion>entitled</suggestion>?</message>
            <example correction="entitled">The children felt <marker>in titled</marker> to their expensive education.</example>
        </rule>
        <!-- is contained of::word=contains -->
        <rule id="IS_CONTAINED_OF" name="is contained of (contains)">
            <pattern>
                <token>is</token>
                <token>contained</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>contains</suggestion>?</message>
            <example correction="contains">The beer <marker>is contained of</marker> hops and water.</example>
        </rule>
        <!-- after been::word=after being::pivots=been,being -->
        <rule id="AFTER_BEEN" name="after been (being)">
            <pattern>
                <token>after</token>
                <token>been</token>
            </pattern>
            <message>Did you mean <suggestion>after being</suggestion>?</message>
            <example correction="After being"><marker>After been</marker> assaulted, the man was often wary.</example>
        </rule>
        <!-- imminent domain::word=eminent domain::pivots=imminent,eminent -->
        <rule id="IMMINENT_DOMAIN" name="imminent (eminent) domain">
            <pattern>
                <token>imminent</token>
                <token>domain</token>
            </pattern>
            <message>Did you mean <suggestion>eminent domain</suggestion>?</message>
            <example correction="eminent domain">Their house was claimed due to <marker>imminent domain</marker>.</example>
        </rule>
        <!-- chomping at the bit::word=champing at the bit::pivots=chomping,champing -->
        <rule id="CHOMPING_AT_THE_BIT" name="chomping (champing) at the bit">
            <pattern>
                <token>chomping</token>
                <token>at</token>
                <token>the</token>
                <token>bit</token>
            </pattern>
            <message>Did you mean <suggestion>champing at the bit</suggestion>?</message>
            <example correction="champing at the bit">The horses were all <marker>chomping at the bit</marker>.</example>
        </rule>
        <!-- constellation prize::word=consolation prize::pivots=constellation,consolation -->
        <rule id="CONSTELLATION_PRIZE" name="constellation (consolation) prize">
            <pattern>
                <token>constellation</token>
                <token>prize</token>
            </pattern>
            <message>Did you mean <suggestion>consolation prize</suggestion>?</message>
            <example correction="consolation prize">The team was so upset, they didn't even claim their <marker>constellation prize</marker>.</example>
            <example>The consolation prize was a trip to the Bahamas.</example>
        </rule>
        <!-- constitutes of::word=consists of::pivots=constitutes,consists -->
        <rule id="CONSTITUTES_OF" name="constitutes (consists) of">
            <pattern>
                <token>constitutes</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>consists of</suggestion>?</message>
            <example correction="consists of">The city <marker>constitutes of</marker> five boroughs.</example>
        </rule>
        <!-- could care less::word=couldn't care less::pivots=could,couldn't -->
        <rule id="COULD_CARE_LESS" name="could (couldn't) care less">
            <pattern>
                <token>could</token>
                <token>care</token>
                <token>less</token>
            </pattern>
            <message>Did you mean <suggestion>couldn't care less</suggestion>?</message>
            <example correction="couldn't care less">The man on the street said he <marker>could care less</marker>.</example>
        </rule>
        <rule id="COULDNT_CARELESS" name="couldn't careless (care less)">
            <pattern>
                <token>could</token>
                <token spacebefore="no">n't</token>
                <marker>
                    <token>careless</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>care less</suggestion>?</message>
            <example correction="care less">I couldn't <marker>careless</marker>.</example>
        </rule>
        <!-- could give a damn::word=couldn't give a damn::filter=none -->
        <rule id="COULD_GIVE_A_DAMN" name="could (couldn't) give a damn">
            <pattern>
                <token>could</token>
                <token>give</token>
                <token>a</token>
                <token>damn</token>
            </pattern>
            <message>Did you mean <suggestion>couldn't give a damn</suggestion>?</message>
            <example correction="couldn't give a damn">Frankly, my dear, I <marker>could give a damn</marker>.</example>
        </rule>
        <!-- daily regiment::word=daily regimen::pivots=regiment,regimen -->
        <rule id="DAILY_REGIMENT" name="daily regiment (regimen)">
            <pattern>
                <token>daily</token>
                <token>regiment</token>
            </pattern>
            <message>Did you mean <suggestion>daily regimen</suggestion>?</message>
            <example correction="daily regimen">They had a strict <marker>daily regiment</marker> of calisthenics.</example>
        </rule>
        <!-- de factor::word=de facto::pivots=factor,facto -->
        <rule id="DE_FACTOR" name="de factor (facto)">
            <pattern>
                <token>de</token>
                <token>factor</token>
            </pattern>
            <message>Did you mean <suggestion>de facto</suggestion>?</message>
            <example correction="de facto">There was a <marker>de factor</marker> ban on cigarettes.</example>
        </rule>
        <!-- worse-case scenario::word=worst-case scenario::pivots=worse-case,worst-case -->
        <rule id="WORSE-CASE_SCENARIO" name="worse-case (worst-case) scenario">
            <pattern>
                <token>worse-case</token>
                <token>scenario</token>
            </pattern>
            <message>Did you mean <suggestion>worst-case scenario</suggestion>?</message>
            <example correction="worst-case scenario">They always prepared for the <marker>worse-case scenario</marker>.</example>
        </rule>
        <!-- worst comes to worst::word=worse comes to worst::pivots=worse-case,worst-case -->
        <rule id="WORST_COMES_TO_WORST" name="worst (worse) comes to worst">
            <pattern>
                <token>worst</token>
                <token>comes</token>
                <token>to</token>
                <token>worst</token>
            </pattern>
            <message>Did you mean <suggestion>worse comes to worst</suggestion>?</message>
            <example correction="worse comes to worst">If <marker>worst comes to worst</marker>, we'll just move.</example>
        </rule>
        <!-- to bath::word=to bathe::pivots=bath,bathe -->
        <rule id="TO_BATH" name="to bath (bathe)">
            <pattern>
                <token regexp="yes">to|will|[cw]ould|can</token>
                <marker>
                    <token case_sensitive="yes" regexp="yes">(sun)?bath</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>\2e</suggestion>?</message>
            <example correction="bathe">It's so relaxing to <marker>bath</marker> in the evening.</example>
        </rule>
        <!-- treasure trough::word=treasure trove::pivots=trough,trove -->
        <rule id="TREASURE_TROUGH" name="treasure trough (trove)">
            <pattern>
                <token>treasure</token>
                <token>trough</token>
            </pattern>
            <message>Did you mean <suggestion>treasure trove</suggestion>?</message>
            <example correction="treasure trove">In the wreckage they found a <marker>treasure trough</marker> of doubloons.</example>
            <example>It was a treasure trove of ideas.</example>
        </rule>
        <!-- ad nauseum::word=ad nauseam::filter=none -->
        <rule id="AD_NAUSEUM" name="ad nauseum (nauseam)">
            <pattern>
                <token>ad</token>
                <token>nauseum</token>
            </pattern>
            <message>Did you mean <suggestion>ad nauseam</suggestion>?</message>
            <example correction="ad nauseam">The song was playing <marker>ad nauseum</marker>.</example>
        </rule>
        <!-- Noble Prize::word=Nobel Prize::filter=none -->
        <rule id="NOBLE_PRIZE" name="Noble (Nobel) Prize">
            <pattern>
                <token case_sensitive="yes">Noble</token>
                <token regexp="yes">Prizes?|laureates?|committee|peace|foundation|lecture</token>
            </pattern>
            <message>Did you mean <suggestion>Nobel <match no="2" regexp_match="^prize" regexp_replace="Prize"/></suggestion>?</message>
            <example correction="Nobel Prize">He was awarded the <marker>Noble Prize</marker> in literature.</example>
            <example>He was awarded the Nobel Prize in physics.</example>
            <example correction="Nobel Prize">He was awarded the <marker>Noble prize</marker> in literature.</example>
        </rule>
        <!-- land lover::word=landlubber::filter=none -->
        <rule id="LAND_LOVER" name="land lover (landlubber)">
            <pattern>
                <token>land</token>
                <token>lover</token>
            </pattern>
            <message>Did you mean <suggestion>landlubber</suggestion>?</message>
            <example correction="landlubber">The sailors considered John to be a serious <marker>land lover</marker>.</example>
        </rule>
        <!-- strike a cord::word=strike a chord::filter=none -->
        <rule id="STRIKE_A_CORD" name="strike a cord (chord)">
            <pattern>
                <token>strike</token>
                <token>a</token>
                <token>cord</token>
            </pattern>
            <message>Did you mean <suggestion>strike a chord</suggestion>?</message>
            <example correction="strike a chord">Her comment happened to <marker>strike a cord</marker> with the colonel.</example>
        </rule>
        <!-- safety deposit box::word=safe deposit box::filter=none -->
        <rule id="SAFETY_DEPOSIT_BOX" name="safety (safe) deposit box">
            <pattern>
                <token>safety</token>
                <token>deposit</token>
                <token>box</token>
            </pattern>
            <message>Did you mean <suggestion>safe deposit box</suggestion>?</message>
            <example correction="safe deposit box">He inherited his grandfather's <marker>safety deposit box</marker>.</example>
        </rule>
        <!-- statue of limitations::word=statute of limitations::filter=none -->
        <rule id="STATUE_OF_LIMITATIONS" name="statue (statute) of limitations">
            <pattern>
                <token>statue</token>
                <token>of</token>
                <token>limitations</token>
            </pattern>
            <message>Did you mean <suggestion>statute of limitations</suggestion>?</message>
            <example correction="statute of limitations">Luckily, his crime wasn't covered by the <marker>statue of limitations</marker>.</example>
            <example>He was one year away from the statute of limitations.</example>
        </rule>
        <!-- all the farther::word=as far as::filter=none -->
        <rule id="ALL_THE_FARTHER" name="all the farther (as far as)">
            <pattern>
                <token>all</token>
                <token>the</token>
                <token>farther</token>
            </pattern>
            <message>Did you mean <suggestion>as far as</suggestion>?</message>
            <example correction="as far as">The town was <marker>all the farther</marker> than the border.</example>
            <example>The town was as far as the border.</example>
        </rule>
        <!-- discussions around::word=\0 about::pivots=around, about -->
        <rule id="DISCUSSIONS_AROUND" name="discussions around (about)">
            <pattern>
                <token>discussions</token>
                <token>around</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> about</suggestion>?</message>
            <example correction="discussions about">They had many <marker>discussions around</marker> politics.</example>
        </rule>
        <!-- as time progressed::word=as time passed::filter=none -->
        <rule id="AS_TIME_PROGRESSED" name="as time progressed (passed)">
            <pattern>
                <token>as</token>
                <token>time</token>
                <token>progressed</token>
            </pattern>
            <message>Did you mean <suggestion>as time passed</suggestion>?</message>
            <example correction="As time passed"><marker>As time progressed</marker>, the sisters got wiser.</example>
        </rule>
        <!-- as follow::word=as follows::filter=none -->
        <rule id="AS_FOLLOW" name="as follow (follows)">
            <pattern>
                <token>as</token>
                <token>follow</token>
            </pattern>
            <message>Did you mean <suggestion>as follows</suggestion>?</message>
            <example correction="as follows">The main points are <marker>as follow</marker>:</example>
        </rule>
        <!-- beyond the pail::word=beyond the pale::filter=none -->
        <rule id="BEYOND_THE_PAIL" name="beyond the pail (pale)">
            <pattern>
                <token>beyond</token>
                <token>the</token>
                <token>pail</token>
            </pattern>
            <message>Did you mean <suggestion>beyond the pale</suggestion>?</message>
            <example correction="beyond the pale">His behavior was <marker>beyond the pail</marker>.</example>
        </rule>
        <!-- beckon call::word=beck and call::filter=none -->
        <rule id="BECKON_CALL" name="beckon (beck and) call">
            <pattern>
                <token>beckon</token>
                <token>call</token>
            </pattern>
            <message>Did you mean <suggestion>beck and call</suggestion>?</message>
            <example correction="beck and call">Don't expect me to be at your <marker>beckon call</marker>.</example>
        </rule>
        <!-- begs belief::word=beggars belief::filter=none -->
        <rule id="BEGS_BELIEF" name="begs (beggars) belief">
            <pattern>
                <token>begs</token>
                <token>belief</token>
            </pattern>
            <message>Did you mean <suggestion>beggars belief</suggestion>?</message>
            <example correction="beggars belief">It <marker>begs belief</marker> that corporate policies can always pursue the best interests of a company.</example>
        </rule>
        <!-- buttload::word=boatload::filter=none -->
        <rule id="BUTTLOAD" name="buttload (boatload)">
            <pattern>
                <token>buttload</token>
            </pattern>
            <message>Did you mean <suggestion>boatload</suggestion>?</message>
            <example correction="boatload">There was a <marker>buttload</marker> of cabbage left over.</example>
            <example>There was a boatload of sprouts left over.</example>
        </rule>
        <!-- brussel sprout::word=brussels sprout::filter=none -->
        <rule id="BRUSSEL_SPROUT" name="brussel (brussels) sprout">
            <pattern>
                <token regexp="yes">brussell?|brussells</token>
                <token>sprout</token>
            </pattern>
            <message>Did you mean <suggestion>brussels sprout</suggestion>?</message>
            <example correction="brussels sprout">He left the last <marker>brussel sprout</marker> on his plate.</example>
        </rule>
        <!-- build off of::word=build on::filter=none -->
        <rule id="BUILD_OFF_OF" name="build off of (build on)">
            <pattern>
                <token>build</token>
                <token>off</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>build on</suggestion>?</message>
            <example correction="build on">Arcade Fire tried to <marker>build off of</marker> the success of their first album.</example>
        </rule>
        <!-- trite and true::word=tried and true::filter=none -->
        <rule id="TRITE_AND_TRUE" name="trite (tried) and true">
            <pattern>
                <token>trite</token>
                <token>and</token>
                <token>true</token>
            </pattern>
            <message>Did you mean <suggestion>tried and true</suggestion>?</message>
            <example correction="tried and true">It was a <marker>trite and true</marker> solution.</example>
        </rule>
        <!-- between you and I::word=between you and me::filter=none -->
        <rule id="BETWEEN_YOU_AND_I" name="between you and I (me)">
            <pattern>
                <token>between</token>
                <token>you</token>
                <token>and</token>
                <token>I</token>
            </pattern>
            <message>Did you mean <suggestion>between you and me</suggestion>?</message>
            <example correction="Between you and me"><marker>Between you and I</marker>, there's no hope of survival.</example>
            <example>Between you and me, there's no hope of cake tomorrow.</example>
        </rule>
        <!-- every since::word=ever since::filter=none -->
        <rule id="EVERY_SINCE" name="every (ever) since">
            <pattern>
                <token>every</token>
                <token>since</token>
            </pattern>
            <message>Did you mean <suggestion>ever since</suggestion>?</message>
            <example correction="ever since">And <marker>every since</marker> the war, the people have gone to bed at eleven.</example>
            <example>Ever since the turn of the century, cows have worn hats.</example>
        </rule>
        <!-- fowl swoop::word=fell swoop::filter=none -->
        <rule id="FOWL_SWOOP" name="fowl (fell) swoop">
            <pattern>
                <token>fowl</token>
                <token>swoop</token>
            </pattern>
            <message>Did you mean <suggestion>fell swoop</suggestion>?</message>
            <example correction="fell swoop">He completed the symphony in one <marker>fowl swoop</marker>.</example>
        </rule>
        <!-- gardener|garden snake::word=garter snake::filter=none -->
        <rule id="GARDENERGARDEN_SNAKE" name="gardener (garter) snake">
            <pattern>
                <token regexp="yes">gardener|garden</token>
                <token>snake</token>
            </pattern>
            <message>Did you mean <suggestion>garter snake</suggestion>?</message>
            <example correction="garter snake">We found a tiny <marker>gardener snake</marker> in the bushes.</example>
        </rule>
        <!-- hay day::word=heyday::filter=none -->
        <rule id="HAY_DAY" name="hay day (heyday)">
            <pattern>
                <token regexp="yes">h[ae]y</token>
                <token>day</token>
            </pattern>
            <message>Did you mean <suggestion>heyday</suggestion>?</message>
            <example correction="heyday">He was never as good as he was in his <marker>hay day</marker>.</example>
            <example>This was the boxer's heyday; he was fantastic.</example>
        </rule>
        <!-- hardly never::word=hardly ever::pivots=never,ever -->
        <rule id="HARDLY_NEVER" name="hardly never (ever)">
            <pattern>
                <token>hardly</token>
                <token>never</token>
            </pattern>
            <message>Did you mean <suggestion>hardly ever</suggestion>?</message>
            <example correction="hardly ever">She <marker>hardly never</marker> takes the subway.</example>
        </rule>
        <!-- hew and cry::word=hue and cry::filter=none -->
        <rule id="HEW_AND_CRY" name="hew (hue) and cry">
            <pattern>
                <token>hew</token>
                <token>and</token>
                <token>cry</token>
            </pattern>
            <message>Did you mean <suggestion>hue and cry</suggestion>?</message>
            <example correction="hue and cry">There was a massive <marker>hew and cry</marker> after the beating.</example>
            <example>There was a massive hue and cry after the robbery.</example>
        </rule>
        <!-- minus well::word=might as well::filter=none -->
        <rule id="MINUS_WELL" name="minus well (might as well)">
            <pattern>
                <token>minus</token>
                <token>well</token>
            </pattern>
            <message>Did you mean <suggestion>might as well</suggestion>?</message>
            <example correction="might as well">We <marker>minus well</marker> break up.</example>
        </rule>
        <!-- oft chance::word=off chance::filter=none -->
        <rule id="OFT_CHANCE" name="oft chance (off chance)">
            <pattern>
                <token>oft</token>
                <token>chance</token>
            </pattern>
            <message>Did you mean <suggestion>off chance</suggestion>?</message>
            <example correction="off chance">On the <marker>oft chance</marker> that you get home by nine, could you turn on the oven?</example>
            <example>On the off chance you're alive, could you call me?</example>
        </rule>
        <!-- on the same token::word=by the same token::filter=none -->
        <rule id="ON_THE_SAME_TOKEN" name="on the same token (by the same token)">
            <pattern>
                <token>on</token>
                <token>the</token>
                <token>same</token>
                <token>token</token>
            </pattern>
            <message>Did you mean <suggestion>by the same token</suggestion>?</message>
            <example correction="By the same token"><marker>On the same token</marker>, they believe you've cheated them.</example>
            <example>By the same token, they believe in faith before religion.</example>
        </rule>
        <!-- one of the only::word=one of the few::pivots=only,few -->
        <rule id="ONE_OF_THE_ONLY" name="one of the only (few)">
            <pattern>
                <token>one</token>
                <token>of</token>
                <token>the</token>
                <token>only</token>
            </pattern>
            <message>Some people suggest that the phrase is idiomatic or illogical and that a better option is <suggestion>one of the few</suggestion>.</message>
            <url>https://sesquiotic.com/2011/09/06/are-you-one-of-the-only-people-bothered-by-this/</url>
            <!-- https://brians.wsu.edu/2016/05/19/one-of-the-only/ -->
            <example correction="one of the few">He's <marker>one of the only</marker> magicians in Providence.</example>
            <example>She's one of the few musicians with an accordion.</example>
        </rule>
        <!-- pedal to the medal::word=pedal to the metal::filter=none -->
        <rule id="PEDAL_TO_THE_MEDAL" name="pedal to the medal (metal)">
            <pattern>
                <token>pedal</token>
                <token>to</token>
                <token>the</token>
                <token>medal</token>
            </pattern>
            <message>Did you mean <suggestion>pedal to the metal</suggestion>?</message>
            <example correction="pedal to the metal">To get by the police car, he put the <marker>pedal to the medal</marker>.</example>
            <example>To get by the cop car, he put the pedal to the metal.</example>
        </rule>
        <!-- pawn off::word=palm off::pivots=pawn,palm -->
        <rule id="PAWN_OFF" name="pawn off (palm off)">
            <pattern>
                <token>pawn</token>
                <token>off</token>
            </pattern>
            <message>Did you mean <suggestion>palm off</suggestion>?</message>
            <example correction="palm off">Are you trying to <marker>pawn off</marker> that annoying client?</example>
        </rule>
        <!-- plays a factor::word=plays a role::filter=none -->
        <rule id="PLAYS_A_FACTOR" name="plays a factor (plays a role)">
            <pattern>
                <token>plays</token>
                <token>a</token>
                <token>factor</token>
            </pattern>
            <message>Did you mean <suggestion>plays a role</suggestion>?</message>
            <example correction="plays a role">The goalie hardly <marker>plays a factor</marker> in the endgame.</example>
        </rule>
        <!-- realms of possibility::word=realm of possibility::filter=none -->
        <rule id="REALMS_OF_POSSIBILITY" name="realms (realm) of possibility">
            <pattern>
                <token>realms</token>
                <token>of</token>
                <token>possibility</token>
            </pattern>
            <message>Did you mean <suggestion>realm of possibility</suggestion>?</message>
            <example correction="realm of possibility">That is hardly outside the <marker>realms of possibility</marker>.</example>
            <example>That's hardly outside the realm of possibility.</example>
        </rule>
        <!-- sense of false hope|privacy|security|confidence::word=false sense of \3::filter=none -->
        <rule id="SENSE_OF_FALSE_HOPEPRIVACYSECURITY" name="sense of false security (false sense of security)">
            <pattern>
                <token>sense</token>
                <token>of</token>
                <token>false</token>
                <token regexp="yes">hope|privacy|security|confidence</token>
            </pattern>
            <message>Did you mean <suggestion>false sense of <match no="4"/></suggestion>?</message>
            <example correction="false sense of security">The members of the board were holding onto a <marker>sense of false security</marker>.</example>
        </rule>
        <!-- ring its neck::word=wring its neck::filter=none -->
        <rule id="RING_ITS_NECK" name="ring (wring) its neck">
            <pattern>
                <token>ring</token>
                <token>its</token>
                <token>neck</token>
            </pattern>
            <message>Did you mean <suggestion>wring its neck</suggestion>?</message>
            <example correction="wring its neck">I'm going to <marker>ring its neck</marker>.</example>
        </rule>
        <!-- right of passage::word=rite of passage::pivots=right,rite -->
        <rule id="RIGHT_OF_PASSAGE" name="right (rite) of passage">
            <pattern>
                <token regexp="yes">rights?</token>
                <token>of</token>
                <token>passage</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="(?i)ight" regexp_replace="ite" /> of passage</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/rite%20of%20passage</url>
            <example correction="rite of passage">The fire-ritual was a Cherokee <marker>right of passage</marker>.</example>
        </rule>
        <!-- rod|rot iron::word=wrought iron::filter=none -->
        <rule id="RODROT_IRON" name="rod (wrought) iron">
            <pattern>
                <token regexp="yes">ro[dt]</token>
                <token>iron</token>
            </pattern>
            <message>Did you mean <suggestion>wrought iron</suggestion>?</message>
            <example correction="wrought iron">She specialized in art done in <marker>rod iron</marker>.</example>
            <example>She specialized in wrought iron art.</example>
        </rule>
        <!-- souse chef::word=sous chef::filter=none -->
        <rule id="SOUSE_CHEF" name="souse (sous) chef">
            <pattern>
                <token>souse</token>
                <token>chef</token>
            </pattern>
            <message>Did you mean <suggestion>sous chef</suggestion>?</message>
            <example correction="sous chef">He gave most of his responsibility to his <marker>souse chef</marker>.</example>
        </rule>
        <!-- stock and trade::word=stock in trade::filter=none -->
        <rule id="STOCK_AND_TRADE" name="stock and trade (stock in trade)">
            <pattern>
                <token>stock</token>
                <token>and</token>
                <token>trade</token>
            </pattern>
            <message>Did you mean <suggestion>stock in trade</suggestion>?</message>
            <example correction="stock in trade">Swords and knives are their <marker>stock and trade</marker>.</example>
            <example>Swords and bullion cubes are their stock in trade.</example>
        </rule>
        <!-- sound byte::word=sound bite::filter=none -->
        <rule id="SOUND_BYTE" name="sound byte (bite)">
            <pattern>
                <token>sound</token>
                <token>byte</token>
            </pattern>
            <message>Did you mean <suggestion>sound bite</suggestion>?</message>
            <example correction="sound bite">The politician gave an awful <marker>sound byte</marker>.</example>
            <example>The politician gave a great sound bite.</example>
        </rule>
        <!-- to the manor born::word=to the manner born::filter=none -->
        <rule id="TO_THE_MANOR_BORN" name="to the manor (manner) born">
            <pattern>
                <token>to</token>
                <token>the</token>
                <token>manor</token>
                <token>born</token>
            </pattern>
            <message>Did you mean <suggestion>to the manner born</suggestion>?</message>
            <example correction="to the manner born">He played the piano as <marker>to the manor born</marker>.</example>
            <example>He played flute as to the manner born.</example>
        </rule>
        <!-- vintage point::word=vantage point::filter=none -->
        <rule id="VINTAGE_POINT" name="vintage (vantage) point">
            <pattern>
                <token>vintage</token>
                <token>point</token>
            </pattern>
            <message>Did you mean <suggestion>vantage point</suggestion>?</message>
            <example correction="vantage point">There was a great <marker>vintage point</marker> on the back side of the hill.</example>
            <example>There was a great vantage point on the back of the hill.</example>
        </rule>
        <!-- whim and a prayer::word=wing and a prayer::filter=none -->
        <rule id="WHIM_AND_A_PRAYER" name="whim (wing) and a prayer">
            <pattern>
                <token>whim</token>
                <token>and</token>
                <token>a</token>
                <token>prayer</token>
            </pattern>
            <message>Did you mean <suggestion>wing and a prayer</suggestion>?</message>
            <example correction="wing and a prayer">The Lakers appeared to be hanging on a <marker>whim and a prayer</marker>.</example>
            <example>The Lakers appeared to be hanging on a wing and a prayer.</example>
        </rule>
        <!-- year end and year out::word=year in and year out::filter=none -->
        <rule id="YEAR_END_AND_YEAR_OUT" name="year end (in) and year out">
            <pattern>
                <token>year</token>
                <token>end</token>
                <token>and</token>
                <token>year</token>
                <token>out</token>
            </pattern>
            <message>Did you mean <suggestion>year in and year out</suggestion>?</message>
            <example correction="Year in and year out"><marker>Year end and year out</marker>, we go out to the vineyards.</example>
            <example>Year in and year out, we go to the vineyards.</example>
        </rule>
        <!-- hand and hand::word=hand in hand::filter=none -->
        <rule id="HAND_AND_HAND" name="hand and hand (hand in hand)">
            <pattern>
                <token>hand</token>
                <token>and</token>
                <token>hand</token>
            </pattern>
            <message>Did you mean <suggestion>hand in hand</suggestion>?</message>
            <example correction="hand in hand">The ability to talk forever goes <marker>hand and hand</marker> with being a Brown student.</example>
            <example>The ability to talk about nothing important goes hand in hand with being a Brown student.</example>
        </rule>
        <!-- grasping for straws::word=grasping at straws::filter=none -->
        <rule id="GRASPING_FOR_STRAWS" name="grasping for straws (grasping at straws)">
            <pattern>
                <token>grasping</token>
                <token>for</token>
                <token>straws</token>
            </pattern>
            <message>Did you mean <suggestion>grasping at straws</suggestion>?</message>
            <example correction="grasping at straws">At that point, the desperate gentleman was simply <marker>grasping for straws</marker>.</example>
            <example>At the point it's just grasping at straws.</example>
        </rule>
        <!-- grill cheese::word=grilled cheese::filter=none -->
        <rule id="GRILL_CHEESE" name="grill (grilled) cheese">
            <pattern>
                <token>grill</token>
                <token>cheese</token>
            </pattern>
            <message>Did you mean <suggestion>grilled cheese</suggestion>?</message>
            <example correction="grilled cheese">The kid only wanted to eat <marker>grill cheese</marker> sandwiches.</example>
        </rule>
        <!-- might has well::word=might as well::filter=none -->
        <rule id="MIGHT_HAS_WELL" name="might has (as) well">
            <pattern>
                <token>might</token>
                <token>has</token>
                <token>well</token>
            </pattern>
            <message>Did you mean <suggestion>might as well</suggestion>?</message>
            <example correction="might as well">You <marker>might has well</marker> take off your shoes.</example>
        </rule>
        <!-- on the contraire::word=au contraire, on the contrary::filter=none -->
        <rule id="ON_THE_CONTRAIRE" name="on the contraire (au contraire)">
            <pattern>
                <token>on</token>
                <token>the</token>
                <token>contraire</token>
            </pattern>
            <message>Did you mean <suggestion>au contraire</suggestion> or <suggestion>on the contrary</suggestion>?</message>
            <example correction="Au contraire|On the contrary"><marker>On the contraire</marker>, you've been following me home!</example>
        </rule>
        <!-- damp squid::word=damp squib::filter=none -->
        <rule id="DAMP_SQUID" name="damp squid (squib)">
            <pattern>
                <token>damp</token>
                <token>squid</token>
            </pattern>
            <message>Did you mean <suggestion>damp squib</suggestion>?</message>
            <example correction="damp squib">The last firework of the evening was a disappointing <marker>damp squid</marker>.</example>
        </rule>
        <!-- cursing through veins::word=coursing through veins::filter=none -->
        <rule id="CURSING_THROUGH_VEINS" name="cursing (coursing) through veins">
            <pattern>
                <token>cursing</token>
                <token>through</token>
                <token>veins</token>
            </pattern>
            <message>Did you mean <suggestion>coursing through veins</suggestion>?</message>
            <example correction="coursing through veins">It felt like the drugs were <marker>cursing through veins</marker>.</example>
        </rule>
        <!-- daring-do::word=derring-do::filter=none -->
        <rule id="DARING-DO" name="daring-do (derring-do)">
            <pattern>
                <token>daring-do</token>
            </pattern>
            <message>Did you mean <suggestion>derring-do</suggestion>?</message>
            <example correction="derring-do">He impressed all the ladies with his <marker>daring-do</marker>.</example>
        </rule>
        <!-- death nail::word=death knell::filter=none -->
        <rule id="DEATH_NAIL" name="death nail (knell)">
            <pattern>
                <token>death</token>
                <token>nail</token>
            </pattern>
            <message>Did you mean <suggestion>death knell</suggestion>?</message>
            <example correction="death knell">The fall of the Berlin Wall was the <marker>death nail</marker> for the USSR.</example>
        </rule>
        <!-- reap what you sew::word=reap what you sow::filter=none -->
        <rule id="REAP_WHAT_YOU_SEW" name="reap what you sew (sow)">
            <pattern>
                <token>reap</token>
                <token>what</token>
                <token>you</token>
                <token>sew</token>
            </pattern>
            <message>Did you mean <suggestion>reap what you sow</suggestion>?</message>
            <example correction="reap what you sow">You always <marker>reap what you sew</marker>.</example>
        </rule>
        <!-- spare of the moment::word=spur of the moment::filter=none -->
        <rule id="SPARE_OF_THE_MOMENT" name="spare (spur) of the moment">
            <pattern>
                <token>spare</token>
                <token>of</token>
                <token>the</token>
                <token>moment</token>
            </pattern>
            <message>Did you mean <suggestion>spur of the moment</suggestion>?</message>
            <example correction="spur of the moment">It was a <marker>spare of the moment</marker> decision.</example>
        </rule>
        <!-- tongue and cheek::word=tongue in cheek::filter=none -->
        <rule id="TONGUE_AND_CHEEK" name="tongue and (in) cheek">
            <pattern>
                <token>tongue</token>
                <token>and</token>
                <token>cheek</token>
            </pattern>
            <message>Did you mean <suggestion>tongue in cheek</suggestion>?</message>
            <example correction="tongue in cheek">He said it with a fair amount of <marker>tongue and cheek</marker>.</example>
            <example>She said it with a fair amount of tongue in cheek.</example>
        </rule>
        <!-- urine analysis::word=urinalysis::filter=none -->
        <rule id="URINE_ANALYSIS" name="urine analysis (urinalysis)">
            <pattern>
                <token>urine</token>
                <token>analysis</token>
            </pattern>
            <message>Did you mean <suggestion>urinalysis</suggestion>?</message>
            <example correction="urinalysis">They got the results of the <marker>urine analysis</marker> the next day.</example>
        </rule>
        <!-- wet your appetite::word=whet your appetite::filter=none -->
        <rule id="WET_YOUR_APPETITE" name="wet (whet) your appetite">
            <pattern>
                <token>wet</token>
                <token>your</token>
                <token>appetite</token>
            </pattern>
            <message>Did you mean <suggestion>whet your appetite</suggestion>?</message>
            <example correction="whet your appetite">The first John Wayne movie will only serve to <marker>wet your appetite</marker>.</example>
            <example>The first Woody Allen movie will only serve to whet your appetite.</example>
        </rule>
        <!-- tattle-tail::word=tattle-tale::filter=none -->
        <rule id="TATTLE-TAIL" name="tattle-tail (tattle-tale)">
            <pattern>
                <token>tattle-tail</token>
            </pattern>
            <message>Did you mean <suggestion>tattle-tale</suggestion>?</message>
            <example correction="tattle-tale">Every child hates a <marker>tattle-tail</marker>.</example>
        </rule>
        <!-- old wise tail|tale::word=old wives' tale::filter=none -->
        <rule id="OLD_WISE_TAILTALE" name="old wise tail (old wives' tale)">
            <pattern>
                <token>old</token>
                <token>wise</token>
                <token regexp="yes">ta(il|le)</token>
            </pattern>
            <message>Did you mean <suggestion>old wives' tale</suggestion>?</message>
            <example correction="old wives' tale">The story of the monster was only an <marker>old wise tail</marker>.</example>
        </rule>
        <!-- on the lamb::word=on the lam::filter=none -->
        <rule id="ON_THE_LAMB" name="on the lamb (lam)">
            <pattern>
                <token>on</token>
                <token>the</token>
                <token>lamb</token>
            </pattern>
            <message>Did you mean <suggestion>on the lam</suggestion>?</message>
            <example correction="on the lam">The criminals spent most of the summer <marker>on the lamb</marker>.</example>
        </rule>
        <!-- you'll will::word=you will::filter=none -->
        <rule id="YOULL_WILL" name="youll will (you will)">
            <pattern>
                <token regexp="yes">you|I|we|they|she|he</token>
                <token>'ll</token>
                <token>will</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> will</suggestion>?</message>
            <example correction="You will"><marker>You'll will</marker> want to make sure you get the daily special.</example>
            <example>You'll want to make sure you get some french fries.</example>
        </rule>
        <!-- it's is::word=it is::filter=none -->
        <rule id="ITS_IS" name="its is (it is)">
            <pattern>
                <token regexp="yes">what|it|who|she|he|there|that|w?here</token>
                <token spacebefore="no">'s</token>
                <token regexp="yes">is|was</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> \3</suggestion>?</message>
            <example correction="She is"><marker>She's is</marker> the best dancer on the west coast.</example>
            <example>She's the best dancer on the west coast.</example>
        </rule>
        <!-- we're are::word=We are::filter=none -->
        <rule id="WERE_ARE" name="were are (we are)">
            <pattern>
                <token regexp="yes">we|they|who|you</token>
                <token>'re</token>
                <token>are</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> are</suggestion>?</message>
            <example correction="We are"><marker>We're are</marker> the favorites to win the championship.</example>
            <example correction="You are"><marker>You're are</marker> my best friend.</example>
        </rule>
        <!-- I'm am::word=I am::filter=none -->
        <rule id="IM_AM" name="Im am (I am)">
            <pattern>
                <token>I</token>
                <token>'m</token>
                <token>am</token>
            </pattern>
            <message>Did you mean <suggestion>I am</suggestion>?</message>
            <example correction="I am"><marker>I'm am</marker> a madman.</example>
            <example>I am a prodigal son.</example>
        </rule>
        <!-- I've have::word=I have::filter=none -->
        <rule id="IVE_HAVE" name="Ive have (I have)">
            <pattern>
                <token regexp="yes">I|you|we|they</token>
                <token spacebefore="no">'ve</token>
                <token>have</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> have</suggestion>?</message>
            <example correction="I have"><marker>I've have</marker> no problem taking the first watch.</example>
        </rule>
        <rule id="ITS_HAS" name="It's has (It has)">
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Ii]t|[Ss]he|[Hh]e</token>
                <token spacebefore="no">'s</token>
                <token>has</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> has</suggestion>?</message>
            <example correction="She has"><marker>She's has</marker> no problem taking the first watch.</example>
        </rule>
        <!-- I'd would::word=I would::filter=none -->
        <rule id="ID_WOULD" name="Id would (I would)">
            <pattern>
                <token regexp="yes">I|s?he|it|you|we|they</token>
                <token spacebefore="no">'d</token>
                <token regexp="yes">[wc]ould|should</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> <match no="3"/></suggestion>?</message>
            <example correction="He would"><marker>He'd would</marker> want to wake up early.</example>
            <example>He'd want to wake up early.</example>
        </rule>
        <!-- flashpoint::word=flash point -->
        <rule id="FLASHPOINT" name="flashpoint (flash point)" default="off">
            <!-- Webster only knows "flash point", lexico knows "flashpoint" -->
            <pattern>
                <token>flashpoint</token>
            </pattern>
            <message>Did you mean <suggestion>flash point</suggestion>?</message>
            <example correction="flash point">The <marker>flashpoint</marker> of lead is very high.</example>
        </rule>
        <!-- can backup::word=can back up -->
        <rule id="CAN_BACKUP" name="can backup (back up)">
            <antipattern>
                <token regexp="yes">subject|response|addition|attention</token>
                <token>to</token>
                <token>backup</token>
            </antipattern>
            <pattern>
                <token regexp="yes">can|to</token>
                <token>backup</token>
            </pattern>
            <message>Did you mean <suggestion>\1 back up</suggestion>?</message>
            <example correction="can back up">Did you know you <marker>can backup</marker> your data on an external drive?</example>
            <example>The car can back up out of the driveway easily.</example>
        </rule>
        <rule id="PRP_BACKUP" name="They backup (back up)">
            <pattern>
                <token regexp="yes">I|you|they|we</token>
                <marker>
                    <token>backup</token>
                </marker>
            </pattern>
            <message>The verb 'back up' is spelled as two words. The noun 'backup' is spelled as one.</message>
             <suggestion>back up</suggestion>
            <example correction="back up">They <marker>backup</marker> their files.</example>
            <example>The backup is working.</example>
        </rule>
        <!-- can blackout::word=can black out -->
        <rule id="CAN_BLACKOUT" name="can blackout (black out)">
            <pattern>
                <token>can</token>
                <token>blackout</token>
            </pattern>
            <message>Did you mean <suggestion>can black out</suggestion>?</message>
            <example correction="can black out">You <marker>can blackout</marker> if you have any more to drink.</example>
        </rule>
        <rulegroup id="SETUP_VERB" name="setup (set up)">
            <url>https://www.merriam-webster.com/dictionary/set%20up</url>
            <rule>
                <antipattern>
                    <token regexp="yes" inflected="yes">proceed|go|forward|refer|send|continue|move|subject|similar|navigate|prior</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token skip="6">from</token>
                    <token>to</token>
                    <token regexp="yes">set\-?up</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">been|was|were|ve|did|ha([ds]|ve)|help|is|are|'re|am|'m|to|who</token>
                    <marker>
                        <token regexp="yes">set-?up</token>
                    </marker>
                </pattern>
                <message>The verb 'set up' is spelled as two words. The noun 'setup' is spelled as one.</message>
                <suggestion>set up</suggestion>
                <example correction="set up">She has <marker>setup</marker> the tent in thirty seconds.</example>
                <example>She can set up the tent very quickly.</example>
                <example>The setup is working.</example>
            </rule>
            <rule>
                <antipattern><!-- Would setup really be necessary? -->
                    <token postag="MD" />
                    <token regexp="yes">set-?up</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- Wouldn't setup solve all our problems? -->
                    <token postag="MD" />
                    <token regexp="yes">n't|not</token>
                    <token regexp="yes">set-?up</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">set-?up</token>
                    </marker>
                </pattern>
                <message>The verb 'set up' is spelled as two words. The noun 'setup' is spelled as one.</message>
                <suggestion>set up</suggestion>
                <example correction="set up">She can <marker>setup</marker> the tent in thirty seconds.</example>
                <example>She can set up the tent very quickly.</example>
                <example>The setup is working.</example>
                <example>Would setup really be necessary?</example>
                <example>Couldn't setup solve all our problems?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|they|we|s?he</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">set-?up</token>
                    </marker>
                </pattern>
                <message>The verb 'set up' is spelled as two words. The noun 'setup' is spelled as one.</message>
                <suggestion>set up</suggestion>
                <example correction="set up">They <marker>setup</marker> a meeting.</example>
                <example correction="set up">I just <marker>setup</marker> a new meeting.</example>
                <example>The setup is working.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" />
                    <marker>
                        <token regexp="yes">set\-?up</token>
                    </marker>
                </pattern>
                <message>The verb 'set up' is spelled as two words. The noun 'setup' is spelled as one.</message>
                <suggestion>set up</suggestion>
                <example correction="set up">We didn't <marker>setup</marker> a meeting yet.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>the</token>
                    <token regexp="yes">most|same</token>
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token regexp="yes">day|week|month|year|decade|lot|bunch|little|go</token>
                </antipattern>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">set-?up</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">set-?up</token>
                    </marker>
                    <token regexp="yes">
                        an?|the|my|y?our|her|his|its
                        <exception case_sensitive="yes">A</exception>
                    </token>
                </pattern>
                <message>The verb 'set up' is spelled as two words. The noun 'setup' is spelled as one.</message>
                <suggestion>set up</suggestion>
                <example correction="set up">They <marker>setup</marker> a meeting.</example>
                <example correction="set up">I just <marker>setup</marker> a new meeting.</example>
                <example>The setup is working.</example>
                <example>In my local setup the limit is 40.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WORKOUT_VERB" name="can workout (work out)">
            <url>https://www.merriam-webster.com/dictionary/work%20out</url>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">work\-?out</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>work out</suggestion> is spelled as two words. The noun 'workout' is spelled as one.</message>
                <example correction="work out">We can <marker>workout</marker> after we get lunch.</example>
                <example>We can work out after we eat lunch.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" inflected="yes">proceed|go|forward|refer|send|continue|move|subject|similar|navigate|prior|head|drive</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>workout</token>
                    <token min="0">#</token>
                    <token regexp="yes">\d+</token>
                </antipattern>
                <antipattern>
                    <token skip="6">from</token>
                    <token>to</token>
                    <token regexp="yes">work\-?out</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">to|who</token>
                    <marker>
                        <token regexp="yes">work\-?out</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>work out</suggestion> is spelled as two words. The noun 'workout' is spelled as one.</message>
                <example correction="work out">We wanted to <marker>workout</marker> after we get lunch.</example>
                <example>Everything from initial tryouts to workout routines and the difficulties involved is shown.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="UNKNOWN|VB.*|IN" postag_regexp="yes" />
                    <token regexp="yes">it|you</token>
                    <token>workout</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">we|they|you|I|s?he</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">work\-?out</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>work out</suggestion> is spelled as two words. The noun 'workout' is spelled as one.</message>
                <example correction="work out">We <marker>workout</marker> after we get lunch.</example>
                <example>We can work out after we eat lunch.</example>
                <example>Together with you workout is really fun.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" />
                    <marker>
                        <token regexp="yes">work\-?out</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>work out</suggestion> is spelled as two words. The noun 'workout' is spelled as one.</message>
                <example correction="work out">We didn't <marker>workout</marker> after we got lunch.</example>
            </rule>
        </rulegroup>

        <rulegroup id="HANGOUT_VERB" name="hangout (hang out)">
            <antipattern>
                <token>hangout</token>
                <token regexp="yes">chats?|conversations?|messages?|files?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">can(not)?|been|[wc]ould|should|might|must|was|were|may|ve|did|ha([ds]|ve)|help|is|are|'re|am|'m|to</token>
                    <token regexp="yes">hang-?out</token>
                </pattern>
                <message>The verb 'hang out' is spelled as two words. The noun 'hangout' is spelled as one.</message>
                <suggestion>\1 hang out</suggestion>
                <url>https://www.merriam-webster.com/dictionary/hang%20out</url>
                <example correction="can hang out">We <marker>can hangout</marker> and enjoy a few beers.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|they|we|s?he</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">hang-?out</token>
                    </marker>
                </pattern>
                <message>The verb 'hang out' is spelled as two words. The noun 'hangout' is spelled as one.</message>
                <suggestion>hang out</suggestion>
                <url>https://www.merriam-webster.com/dictionary/hang%20out</url>
                <example correction="hang out">They <marker>hangout</marker> in the yard.</example>
                <example>Our favourite hangout place.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ROLLOUT_VERB" name="rollout (roll out)">
            <antipattern>
                <token skip="3">from</token>
                <token>to</token>
                <token regexp="yes">roll-?out</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">can(not)?|been|[wc]ould|should|might|must|was|were|may|ve|did|ha([ds]|ve)|help|is|are|'re|am|'m|to</token>
                    <token regexp="yes">roll-?out</token>
                </pattern>
                <message>The verb 'hang out' is spelled as two words. The noun 'hangout' is spelled as one.</message>
                <suggestion>\1 roll out</suggestion>
                <url>https://www.merriam-webster.com/dictionary/roll%20out</url>
                <example correction="can roll out">We <marker>can rollout</marker> the feature tomorrow.</example>
                <example>It only takes two days from quality check to rollout.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|they|we|s?he</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">roll-?out</token>
                    </marker>
                </pattern>
                <message>The verb 'roll out' is spelled as two words. The noun 'rollout' is spelled as one.</message>
                <suggestion>roll out</suggestion>
                <url>https://www.merriam-webster.com/dictionary/roll%20out</url>
                <example correction="roll out">They <marker>rollout</marker> the release tomorrow.</example>
                <example>The release rollout failed.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CAN_CHECKIN" name="can checkin (check in)">
            <antipattern>
                <token regexp="yes" inflected="yes">proceed|go|forward|refer|send|continue|move|prior|navigate</token>
                <token>to</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">can(not)?|[wc]ould|should|might|must|may|ve|did|ha([ds]|ve)|to</token>
                    <token regexp="yes">check-?in</token>
                </pattern>
                <message>The verb 'check in' is spelled as two words. The noun 'check-in' is spelled as one.</message>
                <suggestion>\1 check in</suggestion>
                <url>https://www.merriam-webster.com/dictionary/check%20in</url>
                <example correction="can check in">She <marker>can checkin</marker> tomorrow.</example>
                <example>Sami was checkin his e-mails.</example>
                <example>I will go to check-in and complain.</example>
            </rule>
        </rulegroup>
        <rule id="CAN_CHECKOUT" name="can checkout (check out)">
            <antipattern>
                <token regexp="yes" inflected="yes">proceed|go|forward|refer|send|continue|move|prior|navigate|head|get</token>
                <token>to</token>
            </antipattern>
            <pattern>
                <token regexp="yes">can(not)?|[wc]ould|should|might|must|may|did|to</token>
                <token regexp="yes">check-?out</token>
            </pattern>
            <message>The verb 'check out' is spelled as two words. The noun 'checkout' is spelled as one.</message>
             <suggestion>\1 check out</suggestion>
            <example correction="can check out">She <marker>can checkout</marker> tomorrow.</example>
            <example>Click the "Proceed to checkout" button.</example>
        </rule>
        <!-- got shutdown::word=got shut down -->
        <rule id="GOT_SHUTDOWN" name="got shutdown (shut down)">
            <pattern>
                <token regexp="yes">got|to</token>
                <token>shutdown</token>
            </pattern>
            <message>Did you mean <suggestion>\1 shut down</suggestion>?</message>
            <example correction="got shut down">Before he could get assigned to it, the project <marker>got shutdown</marker>.</example>
            <example>Before he could cancel it, the project got shut down.</example>
        </rule>
        <!-- got shutout::word=got shut out -->
        <rule id="GOT_SHUTOUT" name="got shutout (shut out)">
            <pattern>
                <token>got</token>
                <token>shutout</token>
            </pattern>
            <message>Did you mean <suggestion>got shut out</suggestion>?</message>
            <example correction="got shut out">The Mets <marker>got shutout</marker> by the Phillies.</example>
            <example>The Mets got shut out by the Yankees.</example>
        </rule>
        <!-- in along time::word=in a long time -->
        <rule id="IN_ALONG_TIME" name="in along (a long) time">
            <pattern>
                <token>in</token>
                <token>along</token>
                <token>time</token>
            </pattern>
            <message>Did you mean <suggestion>in a long time</suggestion>?</message>
            <example correction="in a long time">I haven't had a shower <marker>in along time</marker>.</example>
            <example>I haven't had a bath in a long time.</example>
        </rule>
        <!-- in anyway::word=in any way -->
        <rule id="IN_ANYWAY" name="in anyway (any way)">
            <pattern>
                <token><exception inflected="yes" regexp="yes">go|walk|run</exception></token>
                <marker>
                    <token>in</token>
                    <token>anyway</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>in any way</suggestion>?</message>
            <example correction="in any way">Make sure you get the plans, <marker>in anyway</marker> possible.</example>
            <example>But I went <marker>in anyway</marker>.</example>
        </rule>
        <!-- incase of::word=in case of -->
        <rule id="INCASE_OF" name="incase (in case) of">
            <pattern>
                <token>incase</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>in case of</suggestion>?</message>
            <example correction="in case of">Always keep a baseball bat by the bed, <marker>incase of</marker> an emergency.</example>
            <example>Always keep a bat by the bed, in case of emergency.</example>
        </rule>
        <!-- Portland Trailblazers::word=Portland Trail Blazers -->
        <rule id="PORTLAND_TRAILBLAZERS" name="Portland Trailblazers (Trail Blazers)">
            <pattern case_sensitive="yes">
                <token>Portland</token>
                <token>Trailblazers</token>
            </pattern>
            <message>Did you mean <suggestion>Portland Trail Blazers</suggestion>?</message>
            <example correction="Portland Trail Blazers">On Tuesday the Nets play the <marker>Portland Trailblazers</marker>.</example>
        </rule>
        <!-- take awhile::word=take a while -->
        <rule id="TAKE_AWHILE" name="take awhile (a while)">
            <pattern>
                <token>take</token>
                <token>awhile</token>
            </pattern>
            <message>Did you mean <suggestion>take a while</suggestion>?</message>
            <example correction="take a while">I'm sorry sir, your laundry will <marker>take awhile</marker> longer.</example>
            <example>I'm sorry, your laundry will take a while longer.</example>
        </rule>
        <!-- to backout::word=to back out -->
        <rule id="TO_BACKOUT" name="to backout (back out)">
            <pattern>
                <token>to</token>
                <token>backout</token>
            </pattern>
            <message>Did you mean <suggestion>to back out</suggestion>?</message>
            <example correction="to back out">There's still time <marker>to backout</marker> of the deal.</example>
        </rule>
        <!-- to blackout::word=to black out -->
        <rule id="TO_BLACKOUT" name="to blackout (black out)">
            <pattern>
                <token>
                    to
                    <exception scope="previous" regexp="yes">subject|response|addition|attention</exception>
                </token>
                <token>blackout</token>
            </pattern>
            <message>Did you mean <suggestion>to black out</suggestion>?</message>
            <example correction="to black out">He didn't want <marker>to blackout</marker> in front of his professor.</example>
            <example>He didn't want to black out in front of the professor.</example>
            <example>They are subject to blackout.</example>
        </rule>
        <!-- to comeback::word=to come back -->
        <rule id="TO_COMEBACK" name="to comeback (come back)">
            <pattern>
                <token regexp="yes">to|had</token>
                <token>comeback</token>
            </pattern>
            <message>Did you mean <suggestion>\1 come back</suggestion>?</message>
            <example correction="to come back">The Mets gave the Yankees too much of a chance <marker>to comeback</marker>.</example>
        </rule>
        <!-- along time::word=a long time -->
        <rule id="ALONG_TIME" name="along (a long) time">
            <pattern>
                <token>along</token>
                <token>time</token>
            </pattern>
            <message>Did you mean <suggestion>a long time</suggestion>?</message>
            <example correction="a long time">After <marker>along time</marker> the lovers were reunited.</example>
            <example>A long time has passed since we last saw each other.</example>
        </rule>
        <!-- downpayment::word=down payment -->
        <rule id="DOWNPAYMENT" name="downpayment (down payment)">
            <pattern>
                <token>downpayment</token>
            </pattern>
            <message>Did you mean <suggestion>down payment</suggestion>?</message>
            <example correction="down payment">The couple made their first <marker>downpayment</marker> on their new house.</example>
            <example>The couple made the first down payment on their new house.</example>
        </rule>
        <!-- ala mode::word=à la mode::filter=none -->
        <rule id="ALA_MODE" name="ala mode (a la mode)">
            <pattern>
                <token>ala</token>
                <token>mode</token>
            </pattern>
            <message>Did you mean <suggestion>à la mode</suggestion>?</message>
            <example correction="à la mode">He loves his pie <marker>ala mode</marker>.</example>
        </rule>
        <!-- afterall::word=after all -->
        <rule id="AFTERALL" name="afterall (after all)">
            <pattern>
                <token>afterall</token>
            </pattern>
            <message>Did you mean <suggestion>after all</suggestion>?</message>
            <example correction="After all"><marker>Afterall</marker>, there isn't any food to be had in this country.</example>
            <example>After all, there isn't any food to be found in this country.</example>
        </rule>
        <rule id="I_AM_WORRY" name="I am worry (worried)">
            <antipattern>
                <token>worry</token>
                <token>free</token>
            </antipattern>
            <pattern>
                <token postag="PRP"><exception>it</exception></token>
                <token postag="RB" min="0" />
                <token inflected="yes">be</token>
                <marker>
                    <token>worry</token>
                </marker>
                <token><exception inflected="yes">wart</exception></token>
            </pattern>
            <message>Did you mean <suggestion>worried</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="worried">I am <marker>worry</marker> about her.</example>
            <example correction="worried">I'm <marker>worry</marker> about her.</example>
            <example>They are worry warts.</example>
            <example>I am worry free.</example>
            <example>Rest is most efficient when it is worry and guilt free.</example>
            <example>All you do is worry about silly, little things!</example>
        </rule>
        <rule id="MUST_OF_THE_TIME_MOST_OF_THE_TIME" name="must of the time (most of the time)">
            <pattern>
                <token>must</token>
                <token>of</token>
                <token>the</token>
                <token regexp="yes">times?|people</token>
            </pattern>
            <message>Did you mean <suggestion>most \2 \3 \4</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/most%20of%20the%20time</url>
            <short>Possible typo</short>
            <example correction="most of the time">It's true <marker>must of the time</marker>.</example>
        </rule>
        <rulegroup id="COMPLEMENT_COMPLIMENT" name="complement / compliment">
            <rule>
                <pattern>
                    <marker><token inflected="yes">complement</token></marker>
                    <token>on</token>
                </pattern>
                <message>Did you mean the verb 'compliment' (=say something nice)?</message>
                <suggestion><match no="1" regexp_match="plem" regexp_replace="plim"/></suggestion>
                <short>Possible typo</short>
                <example correction="complimented">She was <marker>complemented</marker> on her beautiful eyes.</example>
            </rule>
            <rule>
                <pattern>
                    <token>my</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">complements?</token>
                    </marker>
                    <token regexp="yes">on|for</token>
                </pattern>
                <message>Did you mean the plural noun <suggestion>compliments</suggestion> (= honor, congratulations)?</message>
                <url>https://www.merriam-webster.com/dictionary/compliment</url>
                <example correction="compliments">My sincere <marker>complements</marker> on your cooking.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">accept|take</token>
                    <token regexp="yes">my|the</token>
                    <token min="0">sincere</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes" chunk_re="E-NP.*">[Cc]omplements?</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion><match no="4" regexp_match="lem" regexp_replace="lim" /></suggestion> (= honor, congratulations)?</message>
                <example correction="compliment">Please just take the <marker>complement</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="HART_HEART" name="confusion of hart/heart">
            <antipattern>
                <token>heat</token>
                <token regexp="yes">problems?</token>
            </antipattern>
            <pattern>
                <marker><token regexp="yes">h(art|eard?|eat)</token></marker>
                <token regexp="yes">diseases?|attacks?|failures?|surger(y|ies)|problems?|conditions?|transplants?|muscles?|beats?|valves?|rhythms?</token>
            </pattern>
            <message>Did you mean <suggestion>heart</suggestion> (=muscular organ)?</message>
            <short>Possible typo</short>
            <example correction="heart">She had a <marker>hart</marker> attack.</example>
        </rule>
        <rule id="CONFUSION_OF_FOND_FUND" name="confusion of fond/fund">
            <pattern>
                <token regexp="yes">executor|exchange-traded|growth|hedge|index|vulture</token>
                <marker><token regexp="yes">f[io]nds?</token></marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="o" regexp_replace="u"/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="fund">A vulture <marker>fond</marker> is a...</example>
        </rule>
        <rulegroup id="CONTRACT_CONTACT" name="confusion of contract/contact">
            <rule>
                <pattern>
                    <token regexp="yes">electrical|please|surface</token>
                    <marker><token>contract</token></marker>
                </pattern>
                <message>Did you mean <suggestion>contact</suggestion> (=connection)?</message>
                <short>Possible typo</short>
                <example correction="contact">Please <marker>contract</marker> me as soon as possible.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">sign</token>
                    <token min="0">the</token>
                    <marker><token>contact</token></marker>
                </pattern>
                <message>Did you mean <suggestion>contract</suggestion> (=binding agreement)?</message>
                <short>Possible typo</short>
                <example correction="contract">He signed the <marker>contact</marker> yesterday.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_TO_INTO" name="in to (into)">
            <short>Possible typo</short>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">divide|split</token>
                    <marker>
                        <token>in</token>
                        <token>to</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>into</suggestion> (or <suggestion>in two</suggestion>')?</message>
                <example correction="into|in two">It is split <marker>in to</marker> two sections.</example>
                <example>The board split <marker>in two</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP" regexp="yes">get|put|fly</token>
                    <token regexp="yes" min="0">me|us|that|him|her|them|it|th[oe]se</token>
                    <marker>
                        <token case_sensitive="yes">in</token>
                        <token case_sensitive="yes">to</token>
                    </marker>
                    <token regexp="yes">the|my|y?our|her|his|their|this|that|th[eo]se|an?</token>
                </pattern>
                <message>In this context, the prepositions "in" and "to" cannot follow each other. Did you mean <suggestion>into</suggestion>?</message>
                <example correction="into">Can you get us <marker>in to</marker> the top 10?</example>
                <example>Todd blackmails Dussander by threatening to turn him in to the police.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP">look</token>
                    <marker>
                        <token case_sensitive="yes">in</token>
                        <token case_sensitive="yes">to</token>
                    </marker>
                    <token postag="DT|PRP\$" chunk_re="[EB]-NP.*" postag_regexp="yes" />
                </pattern>
                <message>In this context, the prepositions "in" and "to" cannot follow each other. Did you mean <suggestion>into</suggestion>?</message>
                <example correction="into">Can you look <marker>in to</marker> that?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP">look</token>
                    <marker>
                        <token case_sensitive="yes">in</token>
                        <token case_sensitive="yes">to</token>
                    </marker>
                    <token postag="W.*" postag_regexp="yes" />
                </pattern>
                <message>In this context, the prepositions "in" and "to" cannot follow each other. Did you mean <suggestion>into</suggestion>?</message>
                <example correction="into">Can you look <marker>in to</marker> what happened?</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_RIDE_RID" name="to get ride (rid) if (of)">
            <rule>
                <pattern>
                    <token inflected="yes">get</token>
                    <marker>
                        <token>ride</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>rid</suggestion> ('get rid of' = 'discard' or 'get free of')?</message>
                <short>Possible typo</short>
                <example correction="rid">Let's get <marker>ride</marker> of that broken chair.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">get</token>
                    <token>rid</token>
                    <marker>
                        <token regexp="yes">if|off</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>of</suggestion> ('get rid of' = 'discard' or 'get free of')?</message>
                <short>Possible typo</short>
                <example correction="of">Let's get rid <marker>if</marker> that broken chair.</example>
            </rule>
        </rulegroup>
        <rule id="FOR_TIME_TO_TIME" name="for time to time (from time to time)">
            <pattern>
                <token regexp="yes">form?</token>
                <token>time</token>
                <token>to</token>
                <token>time</token>
            </pattern>
            <message>Non-standard phrase. Did you mean <suggestion>from \2 \3 \4</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="from time to time">He buys a car <marker>for time to time</marker>.</example>
            <example correction="From time to time"><marker>Form time to time</marker> I fly to Berlin.</example>
        </rule>
        <rulegroup id="TOME_TIME" name="tome (time)">
            <rule>
                <pattern>
                    <token inflected='yes' regexp='yes' skip="1">have|spare|take|all<exception scope="next">another</exception></token>
                    <marker>
                        <token>tome</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>time</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction='time'>I have no <marker>tome</marker>.</example>
                <example correction='time'>This will take some <marker>tome</marker>.</example>
                <example>Now I have another tome to add to the stack.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected='yes' regexp='yes'>be|find|have|need</token>
                    <marker>
                        <token>tome</token>
                    </marker>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>time</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction='time'>I found <marker>tome</marker> to read.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SAVE_SAFE" name="save (safe)">
            <rule>
                <antipattern>
                    <token>such</token>
                    <token>as</token>
                    <token>save</token>
                </antipattern>
                <pattern>
                    <token regexp='yes' inflected="yes">be|feel|as<exception postag="PRP"/></token>
                    <token min='0' max='2' postag="RB"/>
                    <marker>
                        <token>save</token>
                    </marker>
                </pattern>
                <message>The word "save" is a verb. Did you mean the adjective <suggestion>safe</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction='safe'>It is not <marker>save</marker> to eat moldy food.</example>
                <example correction='safe'>It was not very <marker>save</marker> for him in this area.</example>
                <example correction='safe'>Julia does not feel <marker>save</marker> in her house.</example>
                <example correction='safe'>It's <marker>save</marker>.</example>
                <example>It is safe to say that you are a genius.</example>
                <example>You will be safe here.</example>
                <example>This is totally safe.</example>
                <example>Their jobs are as safe as houses.</example>
                <example>Let's save the environment!</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="2">be</token>
                    <marker>
                        <token>save</token>
                        <token>to</token>
                        <token regexp="yes">assume|be|conclude|do|drink|go|ignore|presume|say|use|travel|order|buy</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>safe to \4</suggestion>?</message>
                <example correction="safe to ignore">It is <marker>save to ignore</marker> trivial code when writing unit tests.</example>
                <example correction="safe to travel">Is it <marker>save to travel</marker> to China?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <or>
                        <token postag="NN.*|PRP" postag_regexp="yes" />
                        <token regexp="yes">this|that</token>
                    </or>
                    <token postag="RB" min="0" />
                    <marker>
                        <token skip="5">save</token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>The word "save" is a verb. Did you mean the adjective <suggestion>safe</suggestion>?</message>
                <example correction="safe">Are we <marker>save</marker>?</example>
                <example correction="safe">Is that <marker>save</marker>?</example>
                <example correction="safe">Am I <marker>save</marker> here?</example>
                <example correction="safe">Is it <marker>save</marker> to use it?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token min="0">n't</token>
                    <or>
                        <token postag="NN.*|PRP" postag_regexp="yes" />
                        <token regexp="yes">this|that</token>
                    </or>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>save</token>
                    </marker>
                    <token>to</token>
                </pattern>
                <message>The word "save" is a verb. Did you mean the adjective <suggestion>safe</suggestion>?</message>
                <example correction="safe">Is it <marker>save</marker> to go there?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>need</token>
                    <token postag="RB" min="0" />
                    <token>safe</token>
                </antipattern>
                <antipattern>
                    <token postag="CC|SENT_START" postag_regexp="yes" />
                    <token postag="MD" />
                    <token skip="-1">safe</token>
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>
                            safe
                            <exception scope="next">to</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The word "safe" is an adjective/noun. Did you mean the verb <suggestion>save</suggestion>?</message>
                <example correction="save">He could <marker>safe</marker> my life.</example>
                <example>Can safe environments become unsafe?</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes" regexp="yes">be|have</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="PRP">I|you|we|they|s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">
                            safe(d|s)?
                            <exception scope="next">to</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The word "safe" is an adjective. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)f" regexp_replace="v" /></suggestion>?</message>
                <example correction="saves">He usually <marker>safes</marker> my life.</example>
                <example>You can bring in anyone you need to keep yourself safe.</example>
                <example>Are we safe?</example>
                <example>I'd rather have it safe.</example>
            </rule>
            <rule>
                <pattern>
                    <token>save</token>
                    <token regexp="yes">and|&amp;</token>
                    <token>sound</token>
                </pattern>
                <message>Did you mean <suggestion>safe \2 \3</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/safe_and_sound</url>
                <example correction="safe and sound">He is <marker>save and sound</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" chunk_re=".-VP">try|want|need|have|like|love|hate</token>
                    <token>to</token>
                    <marker>
                        <token>safe</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>save</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="save">I want to <marker>safe</marker> the world.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SAV_SAVE" name="confusion of 'sav' vs. 'save'">
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>sav</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>save</suggestion>?</message>
                <example correction="save">I will <marker>sav</marker> money for my car.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <marker>
                        <token regexp="yes">savs?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="2" regexp_match="(?i)av" regexp_replace="ave" /></suggestion>?</message>
                <example correction="save">I <marker>sav</marker> money for my car.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TYP_TYPE" name="confusion of 'typ' vs. 'type'">
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>typ</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>type</suggestion>?</message>
                <example correction="type">I can <marker>typ</marker> on a keyboard.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <marker>
                        <token regexp="yes">typs?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="2" regexp_match="(?i)yp" regexp_replace="ype" /></suggestion>?</message>
                <example correction="type">I <marker>typ</marker> on my typewriter.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AWAY_AWAYS" name="confusion of 'aways' vs. 'always'">
            <url>https://www.merriam-webster.com/dictionary/always</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token min="0" postag="RB" />
                    <marker>
                        <token>aways</token>
                    </marker>
                </pattern>
                <message>Did you mean the adverb <suggestion>always</suggestion>?</message>
                <example correction="always">I would <marker>aways</marker> lock the door before going to sleep.</example>
                <example>It certainly will prove a stark contrast to recent league aways the Hatters have enjoyed at the likes of Molineux, Maine Road and Hillsborough.</example>
                <example>This year there's three big aways - Rome, Dublin, and Cardiff.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <marker>
                        <token>aways</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>always</suggestion>?</message>
                <example correction="always">I <marker>aways</marker> check the stock price.</example>
                <example correction="always">One <marker>aways</marker> has to compare individual/family healthcare insurance premium costs to what they cover when making comparisons among countries.</example>
                <example>It certainly will prove a stark contrast to recent league aways the Hatters have enjoyed at the likes of Molineux, Maine Road and Hillsborough.</example>
                <example>This year there's three big aways - Rome, Dublin, and Cardiff.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">be|have</token>
                    <marker>
                        <token>aways</token>
                    </marker>
                    <token postag="VB.*|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>always</suggestion>?</message>
                <example correction="always">Russia is <marker>aways</marker> described as becoming more assertive on the international stage, something that is above their station.</example>
                <example correction="always">I'm <marker>aways</marker> looking for you.</example>
                <example>It certainly will prove a stark contrast to recent league aways the Hatters have enjoyed at the likes of Molineux, Maine Road and Hillsborough.</example>
                <example>This year there's three big aways - Rome, Dublin, and Cardiff.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SILL_STILL" name="confusion of 'sill' vs. 'still'">
            <url>https://www.merriam-webster.com/dictionary/still</url>
            <antipattern>
                <token regexp="yes" skip="2">gyp|drodgen|plastic|granite|window</token>
                <token>sill</token>
            </antipattern>
            <antipattern>
                <token skip="2">sill</token>
                <token regexp="yes">guards?|plastics?|optics?|light.*|beams?|plates?|windows?</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>sill</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>sill</token>
                    </marker>
                </pattern>
                <message>Did you mean the adverb <suggestion>still</suggestion>?</message>
                <example correction="still">I would <marker>sill</marker> lock the door before going to sleep.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <marker>
                        <token>sill</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>still</suggestion>?</message>
                <example correction="still">I <marker>sill</marker> always check the stock price every morning.</example>
                <example correction="still">Though his heart <marker>sill</marker> pumped blood, he never left his chamber, for he had fallen under an evil spell.</example>
                <example>Plastic sill guards on the rear door rubbers rubbing the paint off.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>sill</token>
                    <token regexp="yes">light.*</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">be|have</token>
                    <token min="0">n't</token>
                    <marker>
                        <token>sill</token>
                    </marker>
                    <token postag="VB.*|JJ.*|DT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>still</suggestion>?</message>
                <example correction="still">I'm <marker>sill</marker> looking for you.</example>
                <example correction="still">He is <marker>sill</marker> the best.</example>
                <example correction="still">He isn't <marker>sill</marker> the best.</example>
                <example>Most homes don’t have sill lighting, so I don’t think it’s going to look to a potential burglar like someone is home.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TEL_TELL" name="confusion of 'tel' vs. 'tell'">
            <url>https://www.merriam-webster.com/dictionary/tell</url>
            <antipattern>
                <token skip="1">tel</token>
                <token regexp="yes">avivs?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="MD" />
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">tels?</token>
                    </marker>
                </pattern>
                <message>The word "tel" is an abbreviation for "telephone". Did you maybe mean the verb <suggestion><match no="4" regexp_replace="ell" regexp_match="(?i)el" /></suggestion>?</message>
                <example correction="tell">He will <marker>tel</marker> the truth.</example>
                <example correction="tell">As far as I can <marker>tel</marker>, the files where just opened an they would revert to 0 bytes.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                        <exception regexp="yes">can|will|think|hope</exception>
                    </token>
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="PRP">I|you|we|they|s?he|it</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">
                            tels?
                        </token>
                    </marker>
                </pattern>
                <message>The word "tel" is an abbreviation for "telephone". Did you maybe mean the verb <suggestion><match no="3" regexp_replace="ell" regexp_match="(?i)el" /></suggestion>?</message>
                <example correction="tells">He always <marker>tels</marker> the truth.</example>
                <example correction="tell">How can I <marker>tel</marker> if the repeater is getting used?</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" inflected="yes">proceed|go|forward|refer|send|continue|move|subject|similar|prior|navigate</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <marker>
                        <token>tel</token>
                    </marker>
                </pattern>
                <message>The word "tel" is an abbreviation for "telephone". Did you maybe mean the verb <suggestion><match no="2" regexp_replace="ell" regexp_match="(?i)el" /></suggestion>?</message>
                <example correction="tell">He really wanted to <marker>tel</marker> the truth.</example>
                <example>I’ve been to Tel Aviv before, but this is my first time in Jerusalem.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="2" regexp="yes">tels?</token>
                    </marker>
                    <token regexp="yes">truth|stor(y|ies)|friends?|tales?|jokes?</token>
                </pattern>
                <message>The word "tel" is an abbreviation for "telephone". Did you maybe mean the verb <suggestion><match no="1" regexp_replace="ell" regexp_match="(?i)el" /></suggestion>?</message>
                <example correction="Tell"><marker>Tel</marker> a friend!</example>
            </rule>
        </rulegroup>
        <rule id="ELDER_OLDER" name="to be elder (older) than">
            <pattern case_sensitive="yes">
                <token inflected="yes">be</token>
                <marker>
                    <token>elder</token>
                </marker>
                <token>than</token>
            </pattern>
            <message>Did you mean <suggestion>older</suggestion>?</message>
            <example correction="older">She is <marker>elder</marker> than her brother.</example>
        </rule>
        <rule id="MASTERS" name="masters (master’s) degree/dissertation/thesis">
            <pattern>
                <marker>
                    <token>masters</token>
                </marker>
                <token inflected="yes" regexp="yes">degree|dissertation|thesis</token>
            </pattern>
            <message>For an academic degree, use <suggestion><match no="1" regexp_match="(Master|master)s" regexp_replace="$1’s"/></suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Master%27s_degree</url>
            <short>Possible typo</short>
            <example correction="master’s">His <marker>masters</marker> degree is excellent.</example>
            <example correction="master’s">I must submit my <marker>masters</marker> dissertation before 27 June.</example>
            <example correction="Master’s"><marker>Masters</marker> theses and dissertations are not easy to write.</example>
            <example>These musicians are <marker>masters</marker> of their art.</example>
            <example>My <marker>masters</marker> was a difficult degree.</example>
        </rule>
        <rulegroup name="too (two) o'clock" id="TOO_TWO">
            <rule>
                <pattern case_sensitive="yes">
                    <marker><token regexp="yes">too?</token></marker>
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>clock</token>
                </pattern>
                <message>Did you mean <suggestion>two</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="two">They meet at <marker>too</marker> o'clock.</example>
            </rule>
        </rulegroup>
        <rule id="TOO_CARDINAL_NUMBER" name="too CARDINAL NUMBER">
            <antipattern>
                <token>too</token>
                <token spacebefore="yes" regexp="yes">(:?[1-2]\d)?\d0<exception>1000</exception></token>
                <token>'s</token>
            </antipattern>
            <pattern>
                <token>too</token>
                <token postag="CD"></token>
            </pattern>
            <message>Did you mean <suggestion>to <match no="2"/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="to ten">We are expanding <marker>too ten</marker> new locations.</example>
            <example correction="to 37">The average time increased from 30 <marker>too 37</marker> seconds.</example>
            <example correction="To twenty-three"><marker>Too twenty-three</marker> students, we award a special prize this year.</example>
            <example correction="to 1000">The frequency quickly increases <marker>too 1000</marker>'s of Hertz.</example>
            <example correction="to 1000"><!--Most rules are applicably only to a few problems. -->This rule is applicable <marker>too 1000</marker>'s.</example>
            <example>We are expanding <marker>to ten</marker> new locations.</example>
            <example>I don't like the style. It's <marker>too 1990</marker>'s for me.</example>
        </rule>
        <rule id="TOO_DETERMINER" name="too DETERMINER">
            <antipattern>
                <token inflected="yes">be</token>
                <token>too</token>
                <token postag="JJ"/>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token min="0" regexp="yes">not|n't</token>
                <token>too</token>
                <token postag="JJ"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">t?here</token>
                <token>too</token>
                <token>this</token>
                <token regexp="yes">morning|afternoon|evening</token>
            </antipattern>
            <antipattern><!-- her too all those years ago -->
                <token postag="PRP"/>
                <token>too</token>
                <token>all</token>
                <token>those</token>
                <token postag="NNS"/>
                <token>ago</token>
            </antipattern>
            <antipattern><!-- should note too that spin -->
                <token postag="MD"/>
                <token postag_regexp="yes" postag="VBP?"/>
                <token>too</token>
                <token>that</token>
                <token postag_regexp="yes" postag="NN(S|:UN?)?|DT"/>
            </antipattern>
            <antipattern><!-- to/too that -->
                <token regexp="yes">tw?o</token>
                <token>/</token>
                <token>too</token>
                <token>that</token>
            </antipattern>
            <pattern>
                <token>too</token>
                <token postag_regexp="yes" postag="DT|PDT"><exception regexp="yes">many|much</exception></token>
            </pattern>
            <message>Did you mean <suggestion>to <match no="2"/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="to all">We expanded <marker>too all</marker> proposed new locations.</example>
            <example correction="to all">We expanded <marker>too all</marker> the proposed new locations.</example>
            <example correction="to the">Give the bone <marker>too the</marker> dog.</example>
            <example correction="to all">The company expanded from there <marker>too all</marker> the proposed new locations.</example>
            <example correction="to that">Please see <marker>too that</marker> problem immediately.</example>
            <example>We expanded <marker>to all</marker> proposed new locations.</example>
            <example><marker>Too much</marker> information is as bad as not enough information.</example>
            <example>LanguageTool users can be annoyed if they get <marker>too many</marker> incorrect warnings.</example>
            <example>Oddly enough, Jake was there <marker>too this evening</marker>, resplendent in evening jacket.</example>
            <example>How I wish that I'd gone with her too all those years ago.</example><!-- Missing comma between 'too' and 'all'. -->
            <example>... then we should note too that spin is caused by...</example>
            <example>You can see too that the universe is expanding.</example>
            <example>You might notice too that these books are rather old.</example>
            <example>I'm not too sure if this would be too close...</example>
            <example>How can we make an AP for to/too that prevents a warning for sentence 1, but finds sentence 2?</example>
            <example>I wasn't too sure what to think.</example>
            <example>Homophones such as two/too that cause confusion for students can...</example>
<!-- TODO. --><example>The company is expanding <marker>too dozens</marker> of new locations.</example>
        </rule>
        <rule id="TH_THORIUM" name="Th (The/thorium)">
            <antipattern case_sensitive="yes">
                <token>(</token>
                <token spacebefore="no">Th</token>
                <token spacebefore="no">)</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Cd, Th -->
                <token postag="NNP" regexp="yes">[A-Z][a-z]</token><!-- 2-letter chemical symbols -->
                <token spacebefore="no">,</token>
                <token>Th</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Th, Pa -->
                <token>Th</token>
                <token spacebefore="no">,</token>
                <token postag="NNP" regexp="yes">[A-Z][a-z]</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">Th</token>
                <token skip="-1"/>
                <token>thorium</token>
            </antipattern>
            <antipattern>
                <token skip="-1">thorium</token>
                <token case_sensitive="yes">Th</token>
            </antipattern>
            <pattern case_sensitive="yes"><!-- The spelling rules find errors with lower-case 'th'. -->
                <token>Th</token>
            </pattern>
            <message>Make sure that 'Th' is the chemical symbol for thorium, and not a typing error. Did you mean <suggestion>The</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="The"><marker>Th</marker> water is hot.</example>
            <example correction="The"><marker>Th</marker> usually busy train was remarkably empty today.</example>
            <example correction="The">... but if <marker>Th</marker> water is hot, stop the test.</example>
            <example correction="The"><marker>Th</marker> is in my handbag. [Missing noun.]</example>
            <example correction="The"><marker>Th</marker> thorium was contaminated.</example>
            <example>Thorium (<marker>Th</marker>) has the atomic number 90.</example>
            <example>... but elements such as Al, <marker>Th</marker>, Mg and Nb are ...</example>
            <example>... but thorium (<marker>Th</marker>) and the related ...</example>
            <example><marker>Th</marker> is the chemical symbol for thorium.</example>
            <example>The chemical symbol for Thorium is <marker>Th</marker>.</example>
<!-- False negative --><example><marker>Th</marker> contaminated thorium caused a problem.</example>
            <example>These elements (Al, Cd, <marker>Th</marker>) are ...</example>
            <example>... than the actinides before it: Th, Pa, U, Np and Pu.</example>
            <example type="triggers_error"><marker>Th</marker> was found in the sample.</example>
            <example type="triggers_error"><marker>Th</marker> must not...</example>
            <example type="triggers_error"><marker>Th</marker> usually produces 220Ra and actinium as the principal decay products.</example>
        </rule>
        <rule id="HAIRS" name="'hair' + singular verb">
            <pattern case_sensitive="yes">
                <token inflected="yes" regexp="yes">brush|comb|cut|dye|lose|wash</token>
                <token postag="PRP$"/>
                <marker><token>hairs</token></marker>
            </pattern>
            <message>'Hair' is a mass noun: Use the singular, when you refer to someone's <suggestion><match no="3" regexp_match="s" regexp_replace=""/></suggestion> as an entity.</message>
            <url>https://jakubmarian.com/hair-is-vs-hair-are-vs-hairs-are-in-english/</url>
            <short>Possible typo</short>
            <example correction="hair">She cut her <marker>hairs</marker> yesterday.</example>
        </rule>
        <rule id="AU" name="au [astronomical unit] (Au=gold)">
            <antipattern case_sensitive="yes"><!-- both 'artiste' and 'travail' are English words. Thus, this AP is necessary. -->
                <token>l</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">artiste</token>
                <token>au</token>
            </antipattern>
            <antipattern><!-- www.collinsdictionary.com/dictionary/english/lettre -->
                <token>lettre</token>
                <token>au</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Travels_in_the_Congo_(book) -->
                <token>Voyage</token>
                <token>au</token>
                <token>Congo</token>
            </antipattern>
            <antipattern><!-- www.lexico.com/en/definition/cafe_au_lait -->
                <token regexp="yes">café|cafe|sauce|invitation|port|suite|phrase|appliqués?</token>
                <token>au</token>
            </antipattern>
            <antipattern><!-- maybe French -->
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
                <token>au</token>
            </antipattern>
            <antipattern><!-- maybe French -->
                <token>au</token>
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern><!-- domain -->
                <token>.</token>
                <token spacebefore="no">au</token>
            </antipattern>
            <antipattern><!-- French -->
                <token />
                <token spacebefore="no" regexp="yes">&apostrophe;|_</token>
                <token spacebefore="no">au</token>
            </antipattern>
            <antipattern>
                <token>au</token>
                <token regexp="yes">pairs?</token>
            </antipattern>
            <antipattern>
                <token>/</token>
                <token>au</token>
                <token>/</token>
            </antipattern>
            <antipattern>
                <token skip="-1">au</token>
                <token regexp="yes">astronomic.*</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">astronomic.*</token>
                <token>au</token>
            </antipattern>
            <antipattern><!-- domain -->
                <token>au</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">com</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token>au</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <token>au
                    <exception scope="next" regexp="yes">beurre|courant|contraire|fait|fond|gratin|jus|naturel|revoir</exception><!-- French terms that are used in English -->
                </token>
            </pattern>
            <message>Make sure that '\1' means 'astronomical unit'. If you mean the chemical symbol for gold, use <suggestion>Au</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Astronomical_unit</url>
            <short>Possible typo</short>
            <example correction="Au">The chemical symbol for gold is <marker>au</marker>.</example>
            <example>The chemical symbol for gold is <marker>Au</marker>.</example>
            <example>Are you <marker>au fait</marker> the LanguageTool?</example>
            <example>...Jonas or the Artist at Work" ("Jonas ou l’artiste au travail")</example>
            <example>... text, see also: Michot, Yahya, Ibn Sînâ: Lettre au vizir Abû Sa'd.</example>
            <example>My lover works as an au pair in Italy.</example>
            <example>However, evidence for the development of /au/ in medial syllables is lacking.</example>
            <example type="triggers_error">An astronomical unit (abbreviated as AU, au, a.u., or ua) is a unit of length equal to ...</example>
            <example>..., and the international standard ISO 80000, while au is recommended by the International Astronomical ...</example>
            <example type="triggers_error">... are named after individual scientists, while au or a.u. can also mean atomic unit or even...</example>
        </rule>
        <rule id="WORD_CONTAINS_UNDERSCORE" name="A word contains an underscore" tags="picky"><!-- Refer to https://github.com/languagetool-org/languagetool/issues/1204#issuecomment-443842446 -->
            <antipattern><!-- file name: https://github.com/languagetool-org/languagetool/issues/1535 -->
                <token regexp="yes" spacebefore="no">[a-z-]+</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">[a-z0-9]{2,7}</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">['‘"“]</token>
                <token regexp="yes">[a-z-]+</token>
                <token spacebefore="no" min="1" max="-1">_<exception postag="NNP"/></token>
                <token regexp="yes" spacebefore="no">[a-z-]+</token>
                <token regexp="yes" spacebefore="no">['‘"“]</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="2">['‘"“]</token>
                <token regexp="yes">[a-z-]+</token>
                <token regexp="yes" spacebefore="no">[a-z-]+</token>
                <token regexp="yes" spacebefore="no">['‘"“]</token>
            </antipattern>
            <antipattern>
                <token skip="3" regexp="yes">=|\*|\/|\+|\-|%</token>
                <token>_</token>
            </antipattern>
            <antipattern>
                <token skip="3">_</token>
                <token regexp="yes">=|\*|\/|\+|\-|%</token>
            </antipattern>
            <antipattern><!-- https://www.computerhope.com/jargon/p/publicht.htm -->
                <token>public</token>
                <token>_</token>
                <token>html</token>
            </antipattern>
            <antipattern><!-- markdown backticks, used for code -->
                <token>`</token>
                <token />
                <token>_</token>
                <token />
                <token>`</token>
            </antipattern>
            <antipattern>
                <token>_</token>
                <token regexp="yes">id|token|name</token>
            </antipattern>
            <antipattern>
                <token>[</token>
                <token regexp="yes">[a-z-]+</token>
                <token spacebefore="no" min="1" max="-1">_<exception postag="NNP"/></token>
                <token regexp="yes" spacebefore="no">[a-z-]+</token>
            </antipattern>
            <pattern>
                <token regexp="yes">[a-z-]+</token>
                <token spacebefore="no" min="1" max="-1">_<exception postag="NNP"/></token>
                <token regexp="yes" spacebefore="no">[a-z-]+</token>
            </pattern>
            <message>An underscore (_) within a word is atypical (except in technical contexts, nicknames, etc.). Make sure that the word '\1\2\3' is correct.</message>
            <suggestion>\1 \3</suggestion>
            <suggestion>\1-\3</suggestion>
            <short>Possible typo</short>
            <example correction="test case|test-case">This <marker>test_case</marker> is not satisfactory.</example>
            <example>This <marker>test-case</marker> is satisfactory.</example>
            <example correction="for semi-colons|for-semi-colons">This test is <marker>for_semi-colons</marker>.</example>
            <example correction="not necessary|not-necessary">Some tests are <marker>not______necessary</marker>.</example><!-- The message does not show all the underscores. -->
            <example>Write your name here: <marker>______________________</marker></example>
            <example>Language Tests<marker>______________________</marker> 37</example>
            <example>Some More Language Tests <marker>_</marker> Appendix B</example>
            <example>Do only <marker>_this_</marker> test.</example>
            <example>Check out the attached file <marker>country_codes.csv</marker> before…</example>
            <example>But <marker>these_</marker> unlike other tests...</example><!-- TODO -->
            <example>Refer to <marker>_TESTS</marker>' on page 33.</example><!-- TODO -->
            <example>Status "payment_failed"</example>
            <example>my_variable = x</example>
            <example>Does it make sense to add `suppress_misspelled`?</example>
            <example>Public_html is a directory on computers running Apache web servers that stores all HTML files.</example>
        </rule>
        <rulegroup id="FR" name="fr [franc), Fr (Father, francium)">
            <url>https://www.collinsdictionary.com/dictionary/english/fr</url>
            <!-- Applicable to all locales. AmE 'fr' = franc, father, friar, from (https://www.merriam-webster.com/dictionary/fr), thus do not put 'fr' in removed.txt. If necessary, make a rule for AmE in /en-US. -->
            <antipattern>
                <token regexp="yes">[\|\[=:]</token>
                <token spacebefore="no">fr</token>
                <token regexp="yes" spacebefore="no">[\|=:]</token>
            </antipattern>
            <antipattern>
                <token>fr</token>
                <token spacebefore="no">:</token>
                <token spacebefore="no"/>
            </antipattern>
            <antipattern><!-- domains with .fr -->
                <token>.</token>
                <token spacebefore="no">fr</token>
            </antipattern>
            <rule><!-- fr -->
                <pattern>
                    <token case_sensitive="yes">fr<exception scope="previous" postag="CD"/></token>
                </pattern>
                <message>Make sure that '\1' means 'franc'. Did you mean <suggestion>for</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="for">Do a test <marker>fr</marker> errors.</example>
                <example correction="for">What did you do that <marker>fr</marker>?</example>
                <example correction="for">... and also <marker>fr</marker>: cats, dogs, rabbits, and mice.</example>
                <example>Do a test <marker>for</marker> for errors.</example>
                <example>Out of scope. <marker>Fr</marker> this type of problem…</example>
                <example>The price of grapes shot up to 32 <marker>fr</marker> a kilo.</example>
                <example>...books.google.com/books?id=VpyjGdEsCA4C|language=fr|location=France|publisher=L'Harmattan...</example>
                <example>Eiffel presented his plans to the {{lang|fr|Société des Ingénieurs Civils}}; after...</example>
                <example>[[fr:Ludwig von Mises#Le calcul économique et l'...</example>
                <example>... [[:wikisource:fr:De Buonaparte et des Bourbons|&quot;De...</example>
                <example>Refer to www.example.fr for more information.</example>
                <example>I couldn't find a reference at larousse.fr</example>
                <example>bg:Население на Ангола es:Demografía de Angola <marker>fr</marker>:Démographie de l'Angola lt:Angolos demografija...</example>
                <example>...website = banque.sonore.breton.free.fr|access-date = 2016-01-14}}&lt;/ref&gt; It...</example>
            </rule>
            <rule><!-- Fr -->
                <antipattern>
                    <token>(</token>
                    <token spacebefore="no" case_sensitive="yes">Fr</token>
                    <token spacebefore="no">)</token>
                </antipattern>
<!--            <antipattern> Why does this not work?
                    <token postag="SENT_START" skip="-1" regexp="yes">elements?|francium</token>
                    <token postag="SENT_END"/>
                </antipattern>-->
                <antipattern>
                    <token skip="-1" case_sensitive="yes">Fr</token>
                    <token regexp="yes">elements?|francium</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" regexp="yes">elements?|francium</token>
                    <token case_sensitive="yes">Fr</token>
                </antipattern>
                <antipattern><!-- #4662 18 Fr -->
                    <token postag="CD"/>
                    <token>Fr</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes">Fr<exception scope="next">.</exception><exception scope="next" postag="NNP"/></token>
                </pattern>
                <message>Make sure that '\1' is an abbreviation for 'Father' or the element francium. Did you mean <suggestion>For</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="For"><marker>Fr</marker> this type of problem…</example>
                <example><marker>For</marker> this type of problem…</example>
                <example><marker>Fr</marker> Simon makes me laugh.</example>
                <example>Do you know <marker>Fr</marker>. Silas?</example>
                <example>The element francium (<marker>Fr</marker>) has an atomic number of 87.</example>
                <example>The chemical symbol for francium is <marker>Fr</marker>.</example>
                <example>18 Fr [6 mm] outer diameter</example><!-- #4662 -->
            </rule>
        </rulegroup>

        <rulegroup id="THANKS_YOU" name="Thanks (Thank) you">
            <url>https://www.lexico.com/definition/thank_you</url>
            <antipattern>
                <token>you</token>
                <token regexp="yes">are|'re</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>thanks</token>
                        <token>you</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)(thank)s" regexp_replace="$1"></match> \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Thank you"><marker>Thanks you</marker> for your help.</example>
                <example correction="THANK YOU"><marker>THANKS YOU</marker>!</example>
                <example><marker>Thank you</marker> for your help.</example>
                <example correction="thank you">Great, <marker>thanks you</marker>.</example>
                <example>He <marker>thanks</marker> you for your help.</example>
                <example><marker>Thanks</marker>, you are good to me.</example>
                <example>Thanks you are the best.</example><!-- missing comma, different issue -->
                <example>Thanks you're the best.</example><!-- missing comma, different issue -->
            </rule>
            <rule>
                <pattern>
                    <token postag="CC" />
                    <marker>
                        <token>thanks</token>
                        <token>you</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)(thank)s" regexp_replace="$1"></match> \3</suggestion> or <suggestion>\2 to \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="thank you|thanks to you">No, but <marker>thanks you</marker>.</example>
                <example>No, but thanks you douchebag.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">say|much</token>
                    <marker>
                        <token>thanks</token>
                        <token>you</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)(thank)s" regexp_replace="$1"></match> \3</suggestion> or <suggestion>\2 to \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="thank you|thanks to you">Very much <marker>thanks you</marker>.</example>
            </rule>
        </rulegroup>

        <rulegroup id="THANK_THANKS" name="Thank (Thanks)">
            <url>https://www.merriam-webster.com/dictionary/thanks</url>
            <rule>
                <pattern>
                    <token>thank</token>
                    <token regexp="yes" spacebefore="no" min="0">[\.\,\;\:\#\*]</token>
                    <token spacebefore="no" regexp="yes">s|'s</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="Thanks"><marker>Thank's</marker> that was helpful.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="W.+" postag_regexp="yes" skip="7" />
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>thank</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>thank</token>
                    </marker>
                    <token regexp="yes" spacebefore="no">
                        [\.\,\!\;]
                        <exception scope="next">you</exception>
                    </token>
                </pattern>
                <message>Something seems to be missing here. Did you maybe mean <suggestion>thanks</suggestion> or <suggestion>thank you</suggestion>?</message>
                <example correction="thanks|thank you">@tiff <marker>thank</marker>!</example>
                <example>Who can we thank?</example>
                <example correction="Thanks|Thank you"><marker>Thank</marker>, that certainly helps.</example>
                <example>I have you to thank.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH" postag_regexp="yes">
                        <exception>why</exception>
                    </token>
                    <marker>
                        <token>thank</token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="thanks">Ah <marker>thank</marker>?</example>
                <example>I have you to thank.</example>
                <example>Who can I thank?</example>
                <example>Why thanks?</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token>
                        thanks
                        <exception scope="next">to</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 thank</suggestion>?</message>
                <example correction="to thank">I have <marker>to thanks</marker> Carl for the help.</example>
                <example>I totally agree, but since there is no other option I say yay for what we have access to thanks to awesome community members third party magic.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|TO|CC" postag_regexp="yes" />
                    <marker>
                        <token>think</token>
                    </marker>
                    <token>you</token>
                    <token regexp="yes">for|\.|\,|\!|\?</token>
                </pattern>
                <message>Did you mean <suggestion>thank</suggestion>?</message>
                <example correction="thank">Tom, <marker>think</marker> you.</example>
                <example>You don't want Tom to think you're poor.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        many
                        <exception scope="previous">how</exception>
                    </token>
                    <marker>
                        <token>thank</token>
                    </marker>
                    <token regexp="yes">,|\.|\!|for</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="thanks">Many <marker>thank</marker> for helping me.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">I|we|they|you</token>
                    <token postag="RB" min="0" />
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token postag="NNPS" />
                    <token postag="RB" min="0" />
                    <token>thank</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>thank</token>
                    </marker>
                    <token>to</token>
                    <token postag="NNP|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="Thanks"><marker>Thank</marker> to Google we now have more visitors on our website.</example>
                <example correction="thanks">I want say <marker>thank</marker> to our main sponsors.</example>
                <example>I thank to God.</example>
                <example>I thank to my parents, who supported me with money in the several past years.</example>
            </rule>
        </rulegroup>
        <rule id="HI_TIME" name="hi (his, high) time">
            <antipattern><!-- Assume initial caps is NNP -->
                <token case_sensitive="yes" regexp="yes">[A-Z][a-z].+</token>
                <token case_sensitive="yes" regexp="yes">[A-Z][a-z].+</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>hi</token>
                    <token>time</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>high \2</suggestion> or <suggestion>his \2</suggestion>?</message>
            <url>https://www.collinsdictionary.com/dictionary/english/high-time</url>
            <short>Possible typo</short>
            <example correction="high time|his time">It's <marker>hi time</marker> you did this work.</example>
            <example correction="high time|his time">During <marker>hi time</marker> with our organization, Jones made many improvements.</example>
            <example>It's <marker>high time</marker> you did this work.</example>
            <example><marker>Hi Time Wine Cellars</marker> is excited to introduce Mount Michael Wines to...</example>
        </rule>
        <rulegroup id="LANGUAGE_TOOL" name="Language Tool (LanguageTool)">
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">Language</token>
                        <token case_sensitive="yes">Tool</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\1\2</suggestion> (product name)?</message>
                <url>https://en.wikipedia.org/wiki/LanguageTool</url>
                <short>Possible typo</short>
                <example correction="LanguageTool">… and does <marker>Language Tool</marker> work on mobile devices?</example>
                <example>… and does <marker>LanguageTool</marker> work on mobile devices?</example>
                <example>Is the <marker>language tool</marker> satisfactory?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN|CC|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>Language</token>
                        <token>Tool</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>LanguageTool</suggestion> (product name)?</message>
                <url>https://en.wikipedia.org/wiki/LanguageTool</url>
                <short>Possible typo</short>
                <example correction="LanguageTool">What are the best features of <marker>Language Tool</marker>?</example>
            </rule>
        </rulegroup>
        <rule id="TR" name="tr (try)">
            <antipattern><!-- ed. and tr. -->
                <token>ed</token>
                <token spacebefore="no">.</token>
                <token>and</token>
                <token>tr</token>
                <token spacebefore="no">.</token>
            </antipattern>
            <antipattern>
                <token>tr</token>
                <token spacebefore="no">_</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\p{P}</token>
                <token spacebefore="no">tr</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="SENT_END">tr</token>
            </antipattern>
            <pattern>
                <token>
                    tr
                    <exception case_sensitive="yes">TR</exception>
                    <exception scope="next" spacebefore="no">:</exception>
                </token>
            </pattern>
            <message>Make sure that '\1' is an abbreviation for a word such as 'translator', 'treasurer' or 'trustee' and not a typing error. Did you mean <suggestion><match no="1"/>y</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="Try"><marker>Tr</marker> this test:</example>
            <example correction="try">... but you can always <marker>tr</marker>.</example>
            <example correction="try">... but if necessary, <marker>tr</marker> R. Congreve on extension 345.</example>
            <example><marker>Try</marker> this test:</example>
            <example>fi:Ada sv:Ada <marker>tr</marker>:Ada (anlam ayrımı)</example>
            <example type="triggers_error">August Comte, Catechisme positiviste (1852) or Catechism of Positivism, <marker>tr</marker>. R. Congreve, (London: Kegan Paul, 1891).</example><!-- #2511 -->
            <example>Madelung, Wilferd and Toby Mayer (ed. and tr.), Struggling with the Philosopher: A Refutation ...</example>
            <example>Visit my website erdogan.com.tr for more information.</example>
        </rule>
        <rule id="NE" name="ne (né, me, no)">
            <antipattern>
                <token>ne</token>
                <token>plus</token>
                <token>ultra</token>
            </antipattern>
            <antipattern>
                <token postag="UNKNOWN" />
                <token>ne</token>
                <token postag="UNKNOWN" />
            </antipattern>
            <antipattern>
                <token>-</token>
                <token spacebefore="no">ne</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">ne</token>
            </pattern>
            <message>Did you mean <suggestion>né</suggestion>, <suggestion>me</suggestion>, or <suggestion>no</suggestion>?</message>
            <url>https://www.lexico.com/definition/ne</url>
            <short>Possible typo</short>
            <example correction="né|me|no">Please send it to <marker>ne</marker> by fax.</example>
            <example>Please send it to <marker>me</marker> by fax.</example>
            <example>That town is in <marker>NE</marker> England.</example>
            <example>Neon (<marker>Ne</marker>) is a gas</example>
            <example>Jean-Pierre Melville, <marker>né</marker> Grumbach, took his name from his favourite author.</example>
            <example type="triggers_error">...сарын 6 nah:Tlanāuhti 6 nl:6 april nds-nl:6 april ne:६ अप्रिल new:अप्रिल ६ ja:4月6日 nap:</example> <!-- Clearly not standard text. Thus, this rule is not applicable and should not trigger an error. -->
        </rule>
        <rule id="OM" name="om (on)">
            <pattern>
                <token postag="SENT_START" skip="-1"><exception scope="next" regexp="yes">Hindu|Brahma|Vishnu|Siva|sacred|mystic</exception></token>
                <marker>
                     <token skip="-1" case_sensitive="yes">om<exception scope="next" regexp="yes">Hindu|Brahma|Vishnu|Siva|sacred|mystic</exception></token>
                </marker>
            <token postag="SENT_END"><exception scope="current" regexp="yes">Hindu|Brahma|Vishnu|Siva|sacred|mystic</exception></token>
            </pattern>
            <message>Make sure that '\2' refers to a mystic syllable and is not a spelling error. Did you mean <suggestion>on</suggestion>?</message>
            <url>https://www.lexico.com/definition/om</url>
            <short>Possible typo</short>
            <example correction="on">The test was <marker>om</marker> Thursday.</example>
            <example>The word <marker>om</marker> is a sacred Hindu word.</example>
        </rule>
        <rule id="APPSTORE" name="AppStore (App Store, Amazon Appstore)">
            <antipattern case_sensitive="yes">
                <token>Amazon</token>
                <token>Appstore</token>
            </antipattern>
            <pattern>
                <token>appstore</token>
            </pattern>
            <message>If you mean the Apple digital distribution platform, use <suggestion>App Store</suggestion>. For Amazon, use <suggestion>Amazon Appstore</suggestion>.</message>
            <url>https://www.apple.com/legal/intellectual-property/trademark/appletmlist.html</url><!-- https://en.wikipedia.org/wiki/Amazon_Appstore. I did not find trademark information on www.amazon.com/gp/help/customer/display.html/?nodeId=200738910. Amazon consistently uses 'Amazon Appstore', so I assume that that is the correct name. -->
            <short>Possible typo</short>
            <example correction="App Store|Amazon Appstore">For information about the <marker>Appstore</marker> from Amazon, refer to https://developer.amazon.com/apps-and-games/getting-started.</example>
            <example correction="App Store|Amazon Appstore">Get our app from the <marker>AppStore</marker>.</example>
            <example correction="App Store|Amazon Appstore">For information about the Amazon <marker>AppStore</marker>, refer to…</example>
            <example>For information about the <marker>Amazon Appstore</marker>, refer to…</example>
            <example>Get our app from the <marker>App Store</marker>.</example>
        </rule>
        <rule id="UR" name="Ur (You're)"><!-- #1826 -->
            <antipattern><!-- quoted text -->
                <token skip="-1" regexp="yes">['‘"“]</token>
                <token skip="-1">Ur</token>
                <token regexp="yes">['’"”]</token>
            </antipattern>
            <antipattern><!-- index entry -->
                <token>Ur</token>
                <token postag="CD"/>
                <token>,</token>
                <token postag="CD"/>
            </antipattern>
            <antipattern>
                <token>Royal</token>
                <token>Game</token>
                <token>of</token>
                <token>Ur</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" skip="-1"><exception scope="next" regexp="yes">archaelolog.*|cit(y|ies)|excavat.*|priest.*|temples?|Abraham|Akkad|Amorite|Assyrian?|Awal|Babylon.*|Basra|BC|Canaan|Chaldees|Dynasty|Egypt|Euphrates|Iraq|Ishtar|Isin|Israel|Kish|Larsa|Mesopotamia|Neo-Sumerian|Nippur|Shu-Sin|Sumer(ian)|Tigris|Zāriqum</exception></token>
                <marker>
                     <token skip="-1" case_sensitive="yes">Ur
                       <exception scope="next" regexp="yes">III|is|was</exception><!-- Keep the rule simple to prevent FP and do not use postags for lexical verbs. -->
                       <exception scope="next" regexp="yes">archaelolog.*|cit(y|ies)|excavat.*|priest.*|temples?|Abraham|Akkad|Amorite|Assyrian?|Awal|Babylon.*|Basra|BC|Canaan|Chaldees|Dynasty|Egypt|Euphrates|Iraq|Ishtar|Isin|Israel|Kish|Larsa|Mesopotamia|Neo-Sumerian|Nippur|Shu-Sin|Sumer(ian)|Tigris|Zāriqum</exception>
                       </token>
                </marker>
            <token postag="SENT_END"><exception scope="current" regexp="yes">archaelolog.*|cit(y|ies)|excavat.*|priest.*|temples?|Abraham|Akkad|Amorite|Assyrian?|Awal|Babylon.*|Basra|BC|Canaan|Chaldees|Dynasty|Egypt|Euphrates|Iraq|Ishtar|Isin|Israel|Kish|Larsa|Mesopotamia|Neo-Sumerian|Nippur|Shu-Sin|Sumer(ian)|Tigris|Zāriqum</exception></token>
            </pattern>
            <message>Make sure that '\2' refers to the ancient city in Iraq. Did you mean <suggestion>You’re</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="You’re"><marker>Ur</marker> a nice guy.</example>
            <example correction="You’re"><marker>Ur</marker> a nice guy.</example>
            <example correction="You’re"><marker>Ur</marker> 37, aren't you?</example>
            <example>Ur was an ancient city.</example>
            <example>... and other cities, such as Ur in what is now Iraq.</example>
            <example>... between the Tigris and Euphrates under the Ur III ruler Shu-Sin.</example>
            <example>... when Missy Elliott released the folkhop-influenced song "Get Ur Freak On".</example>
            <example>Ur 357, 359</example><!-- Entry in an index. -->
        </rule>
        <rule id="BU" name="bu (by, bus, but)"><!-- #2233 -->
            <antipattern>
                <token>Bu</token>
                <token>Hasa</token>
            </antipattern>
            <antipattern>
                <token>Korle</token>
                <token>Bu</token>
            </antipattern>
            <pattern>
                 <token case_sensitive="yes" regexp="yes">[Bb]u</token><!-- https://en.wikipedia.org/wiki/BU -->
            </pattern>
            <message>Make sure that '\1' is an abbreviation (bureau, bushel). Did you mean <suggestion>by</suggestion>, <suggestion>but</suggestion>, <suggestion>bug</suggestion>, or <suggestion>bus</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/bu</url>
            <short>Possible typo</short>
            <example correction="by|but|bug|bus">I did it <marker>bu</marker> mistake.</example>
            <example correction="by|but|bug|bus">The food is cheap <marker>bu</marker> t delicious.</example><!-- The suggestion does not deal with the extra 't' -->
            <example correction="by|but|bug|bus">There is a subtle <marker>bu</marker> in the software.</example>
            <example correction="by|but|bug|bus">I was on the <marker>bu</marker> when I saw the accident.</example>
            <example correction="By|But|Bug|Bus"><marker>Bu</marker> is this correct?</example>
            <example>I did it <marker>by</marker> mistake.</example>
            <example>Which BU did you mean?</example>
            <example>Refer to https://www.bu.edu for more information.</example>
            <example type="triggers_error">Our <marker>bu</marker> is full.</example><!-- Possibly correct, possibly an error. -->
            <example type="triggers_error"><marker>Bu.</marker> is an abbreviation for bushel (www.lexico.com/definition/bu.).</example>
            <example type="triggers_error">It is an Ethiopian name of the Ge‘ez script, ’ä bu gi da, taken from four letters of that script...</example><!-- http://eastafricaschoolserver.org/Wikipedia/wp/a/Abugida.htm -->
        </rule>
        <rule id="IM_I_M" name="im (I'm)">
            <antipattern>
                <token postag="UNKNOWN"/>
                <token>IM</token>
                <token postag="UNKNOWN"/>
            </antipattern>
            <antipattern>
                <token/>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">IM</token>
            </antipattern>
            <antipattern>
                <token>word</token>
                <token>IM</token>
            </antipattern>
            <antipattern><!-- IM caused -->
                <token>IM</token>
                <token chunk="B-VP" postag_regexp="yes" postag="VB.*|MD"/>
            </antipattern>
            <antipattern><!-- an IM -->
                <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/>
                <token>IM</token><!-- Not chunk:  of the IM. -->
            </antipattern>
            <antipattern><!-- an IM service -->
                <token chunk="I-NP-singular">IM</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
            </antipattern>
            <antipattern><!-- these IM services -->
                <token chunk="I-NP-plural">IM</token>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- as IM Arabic [https://en.wikipedia.org/wiki/Arabic] -->
                <token postag="IN"/>
                <token chunk="B-NP-singular">IM</token>
                <token chunk="E-NP-singular">Arabic</token>
            </antipattern>
            <antipattern>
                <token>MSN</token>
                <token>IM</token>
            </antipattern>
            <pattern>
                <marker>
                    <token case_sensitive="yes">IM<exception postag="NNP"/></token>
                </marker>
            </pattern>
            <message>Make sure that '\1' is an abbreviation (instant message, individual medley, infectious mononucleosis). Did you mean <suggestion>I'm</suggestion> or <suggestion>I am</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="I'm|I am"><marker>IM</marker> curious.</example>
            <example correction="I'm|I am">... although <marker>IM</marker> not happy about it.</example>
            <example correction="I'm|I am">Did you know <marker>IM</marker> 18 next week?</example>
            <example correction="I'm|I am">YES, <marker>IM</marker> 100% IN ENE.</example>
            <example correction="I'm|I am"><marker>IM</marker> SO SICK OF IT</example>
            <example correction="I'm|I am"><marker>IM</marker> afraid we won’t be able to read the alert.</example>
            <example correction="I'm|I am">Hello, <marker>IM</marker> Arabic.</example>
            <example><marker>I'm</marker> curious.</example>
            <example>Im curious.</example><!-- The spell checker finds this. -->
            <example>... and im 18 next week.</example><!-- The spell checker finds this. -->
            <example>The word (IM) in parentheses is not likely to be an error.</example>
            <example>The word IM (usually) is an abbreviation for 'instant message'.</example>
            <example>This IM caused me much confusion.</example>
            <example>Did you send an IM?</example>
            <example>Chris Prouty offers a panoramic overview of the response in Italy to the news: Also, set up the MSN IM so we can talk.</example>
            <example>... which you use for your IM service.</example>
            <example>... you need an accompanying IM service.</example>
            <example>I sent you an IM yesterday.</example>
            <example>Some of these IM services are not very good.</example>
            <example>Attached is another redlined draft of the IM.</example>
            <example>JUBAYR IBN MUT'IM REPORTED THAT A WOMAN...</example>
            <example type="triggers_error">THE FAMILY MOVED TO <marker>KÖNIGSFELD IM SCHWARZWALD</marker>, BADEN-WÜRTTEMBERG, WHERE HE...</example>
            <example>Sitara shows HPLC IM Wellhead.</example>
            <example>Pidgin (IM client)</example>
            <example>...in these technologies by transliterating the Arabic text using the Latin script, sometimes known as IM Arabic.</example>
            <example type="triggers_error">Pidgin (IM client).</example><!-- Compare with the example that has no full stop. -->
            <example type="triggers_error">If you want to go ahead, then we can proceed via IM.</example>
            <example type="triggers_error">International Master (shortened as IM).</example>
            <example type="triggers_error">IM Read/Write 8.</example>
            <example type="triggers_error">Add FN IM View Management Information 10.</example>
            <example type="triggers_error">I am also attaching IM Canada.</example>
            <example type="triggers_error">Lead Energy Services IM PDM Quality Efforts.</example>
            <example type="triggers_error">Add FN IM View Management Information 1.</example>
            <example type="triggers_error">I use "steveatet" on IM.</example>
            <example type="triggers_error">Please change the desk on deal 680472 from IM ME TCO to IM NE GULF3.</example>
            <example type="triggers_error">returnMessage = (returnMessage + " IM Used");</example>
        </rule>

        <rule id="ER" name="er (her, err, Er)"><!-- #2822 -->
            <antipattern><!-- quoted text -->
                <token skip="-1" regexp="yes">&quote;</token>
                <token skip="-1">er</token>
                <token regexp="yes">["”]</token>
            </antipattern>
            <antipattern><!-- Find an error in standard text only -->
                <token postag="UNKNOWN"/>
                <token>er</token>
                <token postag="UNKNOWN"/>
            </antipattern>
            <antipattern><!-- throw err; // -->
                <token>throw</token>
                <token>er</token>
                <token>;</token>
                <token>/</token>
            </antipattern>
            <antipattern><!-- er/.rvm/ -->
                <token>er</token>
                <token spacebefore="no">/</token>
                <token spacebefore="no">.</token>
            </antipattern>
            <antipattern><!-- more er's -->
                <token postag_regexp="yes" postag="JJR?"/>
                <token>er</token>
                <token>'s</token>
            </antipattern>
            <antipattern><!-- Incomplete sentences (three dots: ...) -->
                 <token>er</token>
                 <token>.</token>
                 <token>.</token>
                <token postag="SENT_END">.</token>
            </antipattern>
            <pattern>
                <token spacebefore="yes" case_sensitive="yes">er
                    <exception scope="next">…</exception>
                    </token>
            </pattern>
            <message>Do not use '\1' in formal text. Use it only in quoted text to represent a hesitation. Did you mean <suggestion>her</suggestion>, <suggestion>err</suggestion> or <suggestion>Er</suggestion> (erbium)? Or possibly, there is an unnecessary space before or after '\1'.</message>
            <url>https://www.lexico.com/definition/er</url>
            <short>Possible typo</short>
            <example correction="her|err|Er">I worship <marker>er</marker>.</example>
            <example correction="her|err|Er">Is <marker>er</marker> the chemical symbol for erbium?</example>
            <example correction="her|err|Er">If you <marker>er</marker> on the side of caution, you will be safe.</example>
            <example correction="her|err|Er">She is a worship <marker>er</marker> in our local church.</example><!-- Do not give a suggestion, because 'worshiper' is not correct. Do not suppress misspelled, because then the rule will not find the problem. -->
            <example correction="her|err|Er">This was, <marker>er</marker>, the point of rotating events.</example>
            <example correction="her|err|Er">She was the only beneficiary of the will, <marker>er</marker> go, the prime suspect.</example>
            <example>I worship <marker>her</marker>.</example>
            <example>"I'm like, <marker>er</marker>, quite pleased with this rule," he said.</example>
            <example><marker>er</marker>… Great minds think alike</example><!-- The rule is to find spelling errors, not informal text. -->
            <example>So…<marker>er</marker>…what happened?</example>
            <example>Back 'er up.</example>
            <example>Heavenly ire / ne'er sent a pest more loathsome;</example>
            <example>Orange Spike Energy (the 16oz’er)</example>
            <example>MF’er is a polite salutation.</example>
            <example>Whoe'er yields properly to Fate is deemed...</example>
            <example>Suggest to do a basic battery alternator diy’er check too.</example>
            <example>The only one I would change by adding more er’s.</example>
            <example>Its driving me crazy(er).</example>
            <example>Most unusually, in some conditions with long sentences er…</example>
            <example>The issue: The er...</example>
            <example>er.operationComplete()</example>
            <example>er.png886×761 284 KB</example>
            <example>Top level domain: .er</example>
            <example>... spørgsmål om CVR er åben.</example>
            <example>She's an uppity n***er, I think</example>
            <example>throw er; // Unhandled ‘error’ event</example>
            <example>While not as Agile, this Thundercat is **Fast**er, and more Stealthy in his performance.</example>
            <example>... from /home/deploy er/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tsort.rb:421</example>
            <example>When I try to actually use the CD player, it just says (er -2) error 2.</example>
            <example type="triggers_error">Det er et spørgsmål om CV.</example>
            <example type="triggers_error">The er in err?</example>
<!-- Not found --><example>er name is Mary.</example>
        </rule>

        <rulegroup id="NON_STANDARD_WORD" name="Non-standard word"><!-- #2833 -->
            <rule><!-- For 's etc. -->
                <antipattern>
                  <token>M</token>
                  <token>*</token>
                  <token>A</token>
                  <token>*</token>
                  <token>S</token>
                  <token>*</token>
                  <token>H</token>
                </antipattern>
                <antipattern>
                    <token spacebefore="no">(</token>
                    <token spacebefore="no" regexp="yes">s|d|ll|t|m|re|ve</token>
                    <token spacebefore="no">)</token>
                </antipattern>
                <antipattern>
                    <token spacebefore="no">[</token>
                    <token spacebefore="no" regexp="yes">s|d|ll|t|m|re|ve</token>
                    <token spacebefore="no">]</token>
                </antipattern>
                <antipattern>
                    <token spacebefore="no">(</token>
                    <token spacebefore="no">s</token>
                    <token spacebefore="no">)</token>
                </antipattern>
                <antipattern>
                    <token spacebefore="no">[</token>
                    <token spacebefore="no">s</token>
                    <token spacebefore="no">]</token>
                </antipattern>
                <antipattern>
                    <token>[</token>
                    <token spacebefore="no"/>
                    <token spacebefore="no">]</token>
                    <token spacebefore="no">s</token>
                </antipattern>
                <antipattern>
                    <token>"</token>
                    <token spacebefore="no"/>
                    <token spacebefore="no">"</token>
                    <token spacebefore="no">s</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">(non-)?\p{Lu}</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" case_sensitive="yes">S</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- do not create false alarm for programming language constants: "FOO_S" -->
                    <token regexp="yes">[A-Z0-9]+</token>
                    <token regexp="yes">_|-</token>
                    <token>S</token>
                </antipattern>
                <antipattern><!-- Premium #845 compare(S,T) -->
                    <token/>
                    <token>(</token>
                    <token regexp="yes">[a-z]</token>
                    <token>,</token>
                    <token regexp="yes">[a-z]</token>
                    <token>)</token>
                </antipattern>
                <antipattern><!-- abbreviations (a.s.a.p. / v.s.)-->
                    <token regexp="yes">[a-z]</token>
                    <token spacebefore="no">.</token>
                    <token regexp="yes" spacebefore="no">[a-z]</token>
                    <token spacebefore="no">.</token>
                </antipattern>
                <antipattern><!-- domains like en.m.wikipedia.org-->
                    <token regexp="yes">[a-z]+</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">s|d|ll|t|m|re|ve</token>
                    <token spacebefore="no">.</token>
                </antipattern>
                <antipattern>
                    <token>sh</token>
                    <token>*</token>
                    <token>t</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">\d+</token>
                    <token>.</token>
                    <token spacebefore="no" regexp="yes">s|d|ll|t|m|re|ve</token>
                </antipattern>
                <antipattern>
                    <token>-</token>
                    <token regexp="yes" spacebefore="no">[a-z]+</token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag_regexp="yes" postag="UNKNOWN|SYM"/>
                        <exception regexp="yes">&quote;|&apostrophe;</exception>
                    </token>
                    <token spacebefore="no" regexp="yes">.<exception regexp="yes">['’/]</exception></token>
                    <token spacebefore="no" regexp="yes">s|d|ll|t|m|re|ve</token>
                </pattern>
                <message>The word '\1\2\3' is not standard English. Did you mean <suggestion>\1’\3</suggestion> (curly apostrophe) or <suggestion>\1'\3</suggestion> (straight apostrophe)?</message>
                <short>Possible typo</short>
                <example correction="it’s|it's">… and <marker>it#s</marker> part of the test.</example>
                <example correction="book’s|book's">My <marker>book;s</marker> on the shelf.</example>
                <example correction="text’s|text's">Read your <marker>text(s</marker> very carefully.</example>
                <example correction="what’s|what's">The 'apostrophe' in "<marker>what´s</marker>" has the ANSI value 180. It is an acute accent: www.alanwood.net/demos/ansi.html.</example>
                <example correction="He’ll|He'll"><marker>He#ll</marker> take care of it once back from vacation.</example>
                <example>… and <marker>it's</marker> part of the test.</example>
                <example>Read the <marker>document(s)</marker> carefully.</example>
                <example>The <marker>U.S. Government</marker> will...</example>
                <example>The acronym <marker>A.B.S.</marker> can mean...</example>
                <example>... when he wrote, "<marker>[I]s</marker> this correct?"</example>
                <example>... against the dishes as she "… <marker>think[s]</marker> it an odd jumble of trash."</example>
                <example>... at approximately 10 cm/s on average.</example>
                <example>... distinguishes between dotted and dotless "I"s.</example>
                <example>... cardinal number system, e.g., ḫamsat ʾayyām →<marker>ḫam(a)s</marker> tiyyām, where certain words have a special plural...</example>
                <example>... including the first non-U.S. team (the Montreal Expos)</example><!-- Premium #815 -->
                <example>... with an operation compare(S,T) that checks whether the stacks S and T...</example>
<!-- False negative, because of the exception for /s --><example>...or complete connection loss of the Bluetooth <marker>device/s</marker> connected to a computer.</example>
<!-- False negative, out of scope --><example>If the <marker>result #s</marker> are incorrect, do the test again.</example>
                <example type="triggers_error">{{cite web |last=Simmons |<marker>first=S</marker> |title=Philosophical Dimension of Drawing In...</example>
                <example>a.s.a.p</example>
                <example>It's me v.s. them.</example><!-- TODO: needs different rule (suggesting "vs") -->
                <example>See en.m.wikipedia.org</example>
                <example>First come, first serve(d)</example>
                <example>It was defined under section 3.d of the 1989 agreement.</example>
                <example>A tab character is "\t"</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(I|you|he|she|it|we|they)[\d@](s|d|ll|t|m|re|ve)</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(.*)[\d@](.*)" regexp_replace="$1'$2"/></suggestion>?</message>
                <example correction="They'll"><marker>They@ll</marker> take care of it once back from vacation.</example>
                <example correction="He'll"><marker>He4ll</marker> take care of it once back from vacation.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>I</token>
                    <token>.</token>
                    <token>M</token>
                    <token>.</token>
                </antipattern>
                <pattern>
                    <token>I</token>
                    <token spacebefore="no"><exception regexp="yes">&apostrophe;</exception></token>
                    <token spacebefore="no">m</token>
                </pattern>
                <message>Did you mean <suggestion>I'm</suggestion>?</message>
                <example correction="I'm"><marker>I;m</marker> sorry.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">they|we|you</token>
                    <token spacebefore="no"><exception regexp="yes">&apostrophe;</exception></token>
                    <token spacebefore="no">re</token>
                </pattern>
                <message>Did you mean <suggestion>\1're</suggestion>?</message>
                <example correction="You're"><marker>You;re</marker> sorry.</example>
            </rule>
        </rulegroup>

        <rule id="TIS" name="tis (this)"><!-- #2821 -->
            <antipattern>
                 <token regexp="yes">&apostrophe;</token>
                 <token spacebefore="no">tis</token>
            </antipattern>
            <antipattern><!-- Incomplete sentences (three dots: ...) -->
                 <token>tis</token>
                 <token>.</token>
                 <token>.</token>
                <token postag="SENT_END">.</token>
            </antipattern>
            <antipattern><!-- Not English text -->
                 <token postag="UNKNOWN" regexp="yes">\p{L}\p{L}+</token>
                 <token>tis</token>
                 <token postag="UNKNOWN" regexp="yes">\p{L}\p{L}+</token>
            </antipattern>
            <antipattern>
                <token>Tis</token>
                <token>Hazari</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Washington... Tis Well www.mountvernon.org/library/digitalhistory/quotes/article/tis-well/ -->
                 <token skip="-1">Washington</token>
                 <token>Tis</token>
                 <token>well</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Tt]is
                    <exception scope="next">…</exception>
                    </token>
            </pattern>
            <message>Did you mean <suggestion>this</suggestion> or the literary contraction <suggestion>'\1</suggestion> (straight apostrophe) or <suggestion>’\1</suggestion> (curly apostrophe) as an alternative for <suggestion>it is</suggestion>?</message>
            <url>https://www.lexico.com/definition/'tis</url>
            <short>Possible typo</short>
            <example correction="this|'tis|’tis|it is">Is <marker>tis</marker> sentence correct?</example>
            <example correction="This|'Tis|’Tis|It is"><marker>Tis</marker> sentence contains an error.</example>
            <example correction="this|'tis|’tis|it is">What would the rule editor do on <marker>tis</marker> warning?</example>
            <example correction="This|'Tis|’Tis|It is"><marker>Tis</marker> a bright and sunny morn in the hamlet.</example>
            <example correction="this|'tis|’tis|it is">I think <marker>tis</marker> a difficult problem to solve.</example>
            <example correction="This|'Tis|’Tis|It is"><marker>Tis</marker> the season to be thankful.</example>
            <example correction="This|'Tis|’Tis|It is"><marker>Tis</marker> well is deep and dangerous.</example>
            <example correction="This|'Tis|’Tis|It is">... when Mike wrote, "<marker>Tis</marker> time it will work!"</example>
            <example correction="This|'Tis|’Tis|It is">..written at the same time, Brontë wrote "<marker>Tis</marker> bitter sometimes to recall/Illusions once deemed fair".</example><!-- 2020-05-04 MFU: Books of literary criticism that that I have seen with a Google search show that Brontë wrote 'Tis. -->
            <example>Is <marker>this</marker> sentence correct?</example>
            <example>The whole story is just a tis...</example>
            <example>The Gallipoli peninsula (Chersónisos tis Kallípolis) is located in the southern part of East Thrace.</example>
            <example>"I fled, 'tis true, and saved my life by flight, / bursting my bonds in frenzy of despair, / and hidden in a marish lay that night, / waiting till they should sail, if sail, perchance, they might."</example>
            <example>"Cyclops Skipper Teuton, 'Tis Said", The Washington Post, April 16, 1918.</example>
            <example>Other anthems that have used the same melody include Heil dir im Siegerkranz, Kongesangen, My Country, 'Tis of Thee, Rufst du, mein Vaterland, E Ola Ke Alii Ke Akua and The Prayer of Russians.</example>
            <example>Where ignorance is bliss, 'tis folly to be wise.</example>
            <example>In the United States, the melody is used for the patriotic song "My Country, 'Tis of Thee".</example>
            <example>...though the same melody was (and is) widely known in the United States to the lyrics "My country, 'tis of thee".</example>
            <example>Come, cheer up, my lads, 'tis to glory we steer,</example>
            <example>1831 – Samuel Francis Smith writes "My Country, 'Tis of Thee" for the Boston, Massachusetts July 4 festivities.</example>
            <example>Of course, 'tis the season, and the staff at Control Solutions wishes you a happy, healthy holiday, and a prosperous 2002.</example><!-- www.merriam-webster.com/words-at-play/why-we-say-tis-the-season -->
            <example>Washington said, "Tis well."</example>
            <example>Anyone, ‘tis all</example><!--  #2882 Incorrect. Should be an apostrophe, not a quote mark. -->
<!-- Not found --><example>When the manager said, '<marker>tis</marker> your problem, not mine,' I was angry.</example>
        </rule>

        <rule id="W_HAT" name="w hat (what)">
            <antipattern>
                <token>w</token>
                <token>his</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[\._#:\/]</token>
                <token regexp="yes">[tw]</token>
            </antipattern>
            <pattern>
                <token regexp="yes">[tw]</token>
                <token case_sensitive="yes" regexp="yes" spacebefore="yes">h(at|is|ere)</token>
            </pattern>
            <message>Did you mean <suggestion>\1\2</suggestion>?</message>
            <example correction="what">Is this <marker>w hat</marker> you want?</example>
        </rule>

        <rule id="HAWAIIAN" name="Hawaiian">
            <pattern>
                <token regexp="yes">hawaii?</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">i?an</token>
            </pattern>
            <message>Did you mean <suggestion>Hawaiian</suggestion>?</message>
            <url>https://www.lexico.com/definition/hawaiian</url>
            <short>Possible typo</short>
            <example correction="Hawaiian">He is a <marker>Hawaii'an</marker> citizen.</example>
        </rule>

        <rule id="ALZHEIMERS" name="Alzheimers">
            <pattern>
                <token>Alzheimers</token>
            </pattern>
            <message>The name of this disease is always capitalized and spelled with a possessive apostrophe.</message>
            <suggestion>Alzheimer's</suggestion>
            <url>https://languagetool.org/insights/post/capitalization-compounds/</url>
            <example correction="Alzheimer's">He was suffering from <marker>Alzheimers</marker> disease.</example>
            <example type="triggers_error">The Alzheimers moved when Alois was still young in order to give their children an opportunity to attend the Royal Humanistic Gymnasium.</example>
        </rule>

        <rulegroup id="MUS_MUST" name="mus (must)">
            <short>Possible typo</short>
            <rule><!-- Mid-sentence -->
                <pattern>
                    <token chunk_re="[IE]-NP-.*"/>
                    <marker>
                        <token spacebefore="yes" case_sensitive="yes">mus</token>
                    </marker>
                    <token spacebefore="yes" chunk_re=".-VP|B-ADVP|B-NP-.*"/>
                </pattern>
                <message>Did you mean the modal verb <suggestion>must</suggestion>? 'Mus' is the plural of the Greek letter µ (mu).</message>
                <example correction="must">This issue <marker>mus</marker> exist already.</example><!-- issue/I-NP-plural -->
                <example correction="must">These problems <marker>mus</marker> already have been corrected.</example>
                <example correction="must">You <marker>mus</marker> see my new car.</example><!-- Also found by PRP_MUS -->
                <example>This issue <marker>must</marker> exist already.</example>
                <example>Medically Unexplained Symptoms (MUS) Mental Health Treatment.</example>
                <example>How many mus are there in the sentence that follows?</example>
                <example>The number of mus was indeterminate.</example>
                <example>... in a traditional order established by medieval grammarians: mus (nominative), muris (genitive), muri (dative), murem (accusative), (O) mus (vocative).</example>
                <example>... by Giuseppe Maria Buini (mus.) and Claudio Nicola Stampa (libr.), first performed at the Teatro Ducale of Milan, Italy.</example>
                <example>... someone asks "ut mutus sit Quartus" and "erret fugiens ut mus".</example>
            </rule>
            <rule><!-- Sentence start-->
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token case_sensitive="yes">Mus</token>
                    </marker>
                    <token spacebefore="yes" chunk_re="B-NP-.*"/>
                </pattern>
                <message>Possible typo detected. Did you mean the modal verb <suggestion>must</suggestion>? 'Mus' is the plural of the Greek letter µ (mu).</message>
                <example correction="Must"><marker>Mus</marker> you do that now?</example>
                <example correction="Must"><marker>Mus</marker> the door be opened?</example>
                <example><marker>Must</marker> you do that now?</example>
                <example>The European version of this release, by La Vida Es Un Mus, contains the "Want Us Dead" record on side B.</example>
                <example>Mus, BMus, Mus.B, or Mus.Bac.</example>
                <example>Mus (genus), the genus of rodents containing many species of mice.</example>
                <example>Fawn-colored mouse, Mus cervicolor</example>
                <example>A decrease in the ratio has been found to increase the competitive ability of sperm in Mus species.</example>
                <example>... Ishaq ibn Ibrahim ibn Mus'ab, to deal with an expansion of the Khurramite rebellion.</example>
                <example>Gus Mus (born 1944), Islamic leader from Indonesia affiliated to Nahdlatul Ulama.</example>
                <example>Mus was famous for his paintings. (https://en.wikipedia.org/wiki/Italo_Mus)</example>
                <example>Mus is a city in France (https://en.wikipedia.org/wiki/Mus,_Gard)</example>
                <example>Mus carefully peels his grapes before eating them.</example>
                <example>Mus showed them how to do it.</example>
            </rule>
        </rulegroup>

        <rule id="ANTHER" name="anther (another)"><!-- #5531 -->
            <antipattern><!-- Ignore 'anther' in technical contexts -->
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1" inflected="yes" regexp="yes">dehiscence|pistil|pollen|pollination|pollinium|rostellum|sporogenous|stamen|stigma</token><!-- Refer to the 'flower' example. -->
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- fertile anther. Refer to #5537 -->
                <token chunk_re=".-NP-.*" postag_regexp="yes" postag="JJ.?"/>
                <token chunk_re=".-NP-.*">anther</token>
            </antipattern>
            <pattern>
                <token>anther
                    <exception scope="previous" postag_regexp="yes" postag="DT|PRP\$"/>
                    </token>
            </pattern>
            <message>Did you mean <suggestion>another</suggestion>? An anther is part of a flower.</message>
            <short>Possible typo</short>
            <example correction="another">I found <marker>anther</marker> problem with the test.</example>
            <example correction="another">There is more than one error; here's <marker>anther</marker>.</example>
            <example correction="another">There's <marker>anther</marker> workaround that I use.</example>
            <example correction="another">But we are not closed to <marker>anther</marker> solution you would strongly prefer.</example>
            <example correction="another">I hope you meant <marker>anther</marker> entry in the finder group?</example>
            <example correction="another">Lehman Brothers expects to add <marker>anther</marker> principal for this fund.</example>
            <example correction="another">We agree on the price of 90,000 USD by emailing <marker>anther</marker> version of the software...</example>
            <example correction="another">Someone on <marker>anther</marker> thread complained that Congress subpoenas weren't real.</example>
            <example correction="another">I saw <marker>anther</marker> new flower in our garden this morning.</example>
            <example correction="another">We saw one <marker>anther</marker> last week.</example><!-- Grammatically ambiguous -->
            <example>I found <marker>another</marker> problem with the test.</example>
            <example>An <marker>anther</marker> is the part of a stamen that contains the pollen.</example>
            <example>As the flower develops, four groups of sporogenous cells form within the anther.</example>
            <example>Its anther opens by an apical pore.</example>
            <example>At the upper edge of the stigma of single-anthered orchids, in front of the anther cap, is the rostellum.</example>
            <example>There was a strange anther problem.</example><!-- Cannot be 'strange another'. Refer to #5537 -->
            <example>In orchids, the labellum is the modified median petal that sits opposite from the fertile anther and usually highly modified from the other perianth segments.</example>
            <example>These two methods demonstrated that there was an abundant presence of the RMD transcripts in the lemma, pistil, anther, and mature pollen grains.</example>
            <example>A pollinium (plural pollinia) is a coherent mass of pollen grains in a plant that are the product of only one anther, but are transferred, during pollination, as a single unit.</example>
        </rule>

        <rule id="WOLD" name="wold (world)"><!-- #5541 -->
            <antipattern><!-- Ignore 'wold' in technical contexts -->
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1" postag_regexp="yes" postag="(NN|JJ).*" inflected="yes" regexp="yes">ridge|upland</token><!-- Refer to the 'country' example. -->
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!--  woodland, wold -->
                <token regexp="yes" postag_regexp="yes" postag="NN.*" inflected="yes">firth|frith|holt|weald|wood|woodland</token>
                <token>,</token>
                <token>wold</token>
            </antipattern>
            <antipattern><!--  wold, weald -->
                <token>wold</token>
                <token>,</token>
                <token regexp="yes" postag_regexp="yes" postag="NN.*" inflected="yes">firth|frith|holt|weald|wood|woodland</token>
            </antipattern>
            <antipattern><!-- Wold's thesis -->
                <token postag="NNP"/>
                <token>'s</token>
                <token chunk_re=".-NP-.*"/>
            </antipattern>
            <antipattern><!-- Wold argued  -->
                <token postag="NNP"/>
                <token min="0" max="4" postag="RB"/>
                <token chunk_re=".-VP" postag_regexp="yes" postag="VB.*"/><!-- Ignore incorrect inflections: Wold actually argue -->
            </antipattern>
            <antipattern><!-- Verb: wold actually be [Found by WOLD_WOULD]-->
                <token>wold</token>
                <token min="0" max="4" postag="RB"/>
                <token>be</token>
            </antipattern>
            <antipattern><!-- Verb: wold function /wold have been / wold have locked out [Found by WOLD_WOULD]-->
                <token>wold</token>
                <token chunk_re="E-NP-singular|B-VP" postag="VB"/>
            </antipattern>
            <pattern>
                <token chunk_re=".-NP-.*" postag="NN:UN">wold</token>
            </pattern>
            <message>Did you mean the noun <suggestion>word</suggestion> or <suggestion>world</suggestion>? A wold is an upland area of open country.</message>
            <short>Possible typo</short>
            <example correction="word|world">This is the largest cake in the <marker>wold</marker>.</example><!-- Semantic ambiguity -->
            <example correction="word|world">Is America the largest country in the <marker>wold</marker>?</example>
            <example correction="Word|World"><marker>Wold</marker> politics interests me.</example>
            <example correction="word|world">What are the origins of the <marker>wold</marker> wide web?</example>
            <example correction="word|world">This unusual <marker>wold</marker> exemplified the problems of disambiguation.</example>
            <example correction="word|world">This <marker>wold</marker> shows how a single letter can change the meaning entirely.</example>
            <example correction="word|world">Our troubled <marker>wold</marker> pains me; it could be so much better.</example>
            <example correction="word|world">Our <marker>wold</marker> has many problems.</example>
            <example correction="word|world">Many people in the <marker>wold</marker> argued that trade was necessary.</example>
            <example>This is the largest cake in the <marker>world</marker>.</example>
            <example>I wold like a cup of tea.</example>
            <example>400 million wold have been better.</example>
            <example>The discovery of 5 wold have been hailed as a triumph of intergalactic space exploration.</example>
            <example>More than three items wold not actually have been a problem.</example>
            <example>... and specifically wold have locked out competition.</example>
            <example>My first guess wold be a belt tensioner.</example>
            <example>My second guess wold actually be that you should start again.</example>
            <example>I can see how this wold be a powerful option for Insights.</example>
            <example>Stow on the Wold is beautiful.</example>
            <example>A wold is an upland area of open country.</example>
            <example>They went riding out along the ridge of the wold toward Burythorpe.</example>
            <example>Wold's thesis, A Study in the analysis of stationary time series, was an important contribution.</example>
            <example>Wold argued that doing a trade over the telephone was still, in most cases, the quickest method.</example>
            <example>Wold actually argue with me for hours.</example>
            <example>Other terms used to mean "an area with a high density of trees" are wood, woodland, wold, weald, holt, frith and firth.</example>
            <example>They had to do a firmware update to my SmartThings hub before the bulbs wold function.</example><!-- function/E-NP-singular -->
            <example>I could not find any settings that wold override this.</example><!-- override/E-NP-singular -->
            <example>The cybercourt wold have the same power to subpoena witnesses.</example>
            <example type="triggers_error">... hillsides, incorporating the term, wold, meaning, woodland.</example>
        </rule>

    </category>

    <category id="COMPOUNDING" name="Compounding">
        <rulegroup id="PICTURE_PERFECT_HYPHEN" name="picture perfect (picture-perfect)">
            <url>https://www.merriam-webster.com/dictionary/picture-perfect</url>
            <rule>
                <pattern>
                    <token postag="PRP\$|DT|SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>picture</token>
                        <token>perfect</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="PRP.*|DT|IN|W.*|CC|RB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The adjective <suggestion>\2-\3</suggestion> is spelled with a hyphen.</message>
                <example correction="picture-perfect">She has a <marker>picture perfect</marker> look.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">be|look|seem|have</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>picture</token>
                        <token>perfect</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="picture-perfect">She looks <marker>picture perfect</marker>!</example>
            </rule>
        </rulegroup>
        <rule id="SAME_DAY_DELIVERY_HYPHEN" name="hyphen in 'same day delivery'">
            <pattern>
                <token>same</token>
                <token>day</token>
                <token regexp="yes" min="0">flower|grocery|food</token>
                <token>delivery</token>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2 \3 \4</suggestion>
            <example correction="same-day delivery">Amazon offers <marker>same day delivery</marker>.</example>
        </rule>
        <rule id="TOUCH_POINT" name="Touch point (Touchpoint)">
            <pattern>
                <token chunk_re="[BI]-NP.*">touch</token>
                <token chunk_re="E-NP.*" regexp="yes">points?</token>
            </pattern>
            <message>The noun <suggestion>touch<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://en.wiktionary.org/wiki/touchpoint</url>
            <example correction="touchpoints">We have multiple <marker>touch points</marker> with our users.</example>
        </rule>
        <rule id="DROP_DEAD_HYPHEN" name="missing hyphen in 'drop dead'">
            <antipattern>
                <token postag="MD|TO|PRP_S.*|NNPS?" postag_regexp="yes" />
                <token postag="RB" min="0" max="3" />
                <token>drop</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">please|lets</token>
                <token postag="RB" min="0" max="3" />
                <token>drop</token>
            </antipattern>
            <antipattern>
                <token>let</token>
                <token>'s</token>
                <token postag="RB" min="0" max="3" />
                <token>drop</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">do</token>
                <token postag="RB" min="0" max="3" />
                <token>drop</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">do|can|will|should|must</token>
                <token postag="RB" min="0" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token>drop</token>
            </antipattern>
            <antipattern>
                <token postag="VBP" />
                <token regexp="yes">and|or|&amp;</token>
                <token>drop</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Drop</token>
                <token>Dead</token>
                <token regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token postag="RB|UH" postag_regexp="yes" min="0" max="3" />
                <token>drop</token>
                <token>dead</token>
                <token postag="SENT_END" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token postag="RB|UH" postag_regexp="yes" min="0" max="3" />
                <token>drop</token>
                <token postag="SENT_START">dead</token>
            </antipattern>
            <antipattern>
                <token>drop</token>
                <token>dead</token>
                <token>!</token>
            </antipattern>
            <pattern>
                <token>drop</token>
                <token>dead</token>
            </pattern>
            <message>The adjective or adverb <suggestion>\1-\2</suggestion> is normally spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/drop-dead</url>
            <example correction="drop-dead">I'm <marker>drop dead</marker> tired.</example>
            <example>Why don't you just drop dead?</example>
            <example>Nice to see you didn't drop dead, following.</example>
            <example>Drop dead!</example>
        </rule>
        <rule id="SEEKER_COMPOUNDS" name="home seeker (homeseeker)">
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Hh]ome|[Ss]un|[Jj]ob</token>
                <token case_sensitive="yes" regexp="yes">seekers?</token>
            </pattern>
            <message>The noun <suggestion>\1\2</suggestion> is spelled as one word.</message>
            <example correction="homeseeker">I'm a <marker>home seeker</marker>.</example>
        </rule>
        <rule id="RESISTANT_HYPHEN" name="water resistant (water-resistant)">
            <antipattern>
                <token postag="W.*|SENT_START|CC|PCT" postag_regexp="yes" />
                <token inflected="yes">be</token>
                <token min="0">n't</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ" min="0" />
                <token regexp="yes">water|rub|fire|acid</token>
                <token skip="-1">resistant</token>
                <token>?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">water|rub|fire|acid|heat</token>
                <token>resistant</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is normally spelled with a hyphen.</message>
            <example correction="water-resistant">The new iPhones are <marker>water resistant</marker>.</example>
            <example>Isn't the water resistant against any form of ...?</example>
        </rule>
        <rule id="THERETO" name="thereto (there to)">
            <pattern>
                <token inflected="yes" regexp="yes">go|be|come</token>
                <marker>
                    <token regexp="yes">t?hereto</token>
                </marker>
                <token postag="VB" />
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="(?i)(^.*e)(to)" regexp_replace="$1 $2" /></suggestion> instead of the adverb "\2"?</message>
            <example correction="here to">He is <marker>hereto</marker> help.</example>
        </rule>
        <rule id="DECISION_MAKING" name="decision making (decision-making)">
            <antipattern>
                <token inflected="yes">be</token>
                <token min="0">n't</token>
                <token regexp="yes">the|this|that</token>
                <token>decision</token>
                <token>making</token>
                <token skip="-1">
                    <exception postag="NN.*" postag_regexp="yes" />
                </token>
                <token>?</token>
            </antipattern>
            <pattern>
                <token>decision</token>
                <token>making</token>
            </pattern>
            <message>The noun <suggestion>\1-\2</suggestion> (= the process of deciding something) is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/decision-making</url>
            <example correction="decision-making">The <marker>decision making</marker> took us 3 days.</example>
            <example>Isn't that decision making it harder for us?</example>
        </rule>
        <rule id="CHRISTMAS_TIME" name="Christmas time (Christmastime)">
            <pattern>
                <token>Christmas</token>
                <token>time</token>
            </pattern>
            <message>The noun <suggestion>Christmastime</suggestion> (= the Christmas season) is normally spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/Christmastime</url>
            <example correction="Christmastime">I will have vacation around <marker>Christmas time</marker>.</example>
        </rule>
        <rule id="DO_ABLE" name="Do able (Doable)">
            <pattern>
                <token>do</token>
                <token case_sensitive="yes">able</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>doable</suggestion>?</message>
            <example correction="doable">Do you think that this is <marker>do able</marker>?</example>
        </rule>
        <rule id="YARDER_HYPHEN" name="a 42 yarder (42-yarder)">
            <pattern>
                <token regexp="yes">an?|the|another</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token regexp="yes">\d+</token>
                    <token>yarder</token>
                </marker>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\3-\4</suggestion>
            <example correction="42-yarder">He has thrown a <marker>42 yarder</marker>.</example>
        </rule>
        <rule id="PRO_RATA" name="prorata -> pro rata">
            <pattern>
                <token regexp="yes">pro-?(rata|bono|forma)</token>
            </pattern>
            <message>The Latin adjective/adverb <suggestion>pro <match no="1" regexp_match="(?i)pro-?" regexp_replace="" /></suggestion> is spelled as two words.</message>
            <url>https://www.merriam-webster.com/dictionary/pro%20forma</url>
            <example correction="pro rata">The transaction includes a <marker>pro-rata</marker> portion of the non-deductible contributions.</example>
        </rule>
        <rule id="DRIVE_THROUGH_HYPHEN" name="missing hyphen in 'drive-through'">
            <antipattern>
                <token postag="MD|PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>drive</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">please|lets</token>
                <token postag="RB" min="0" />
                <token>drive</token>
            </antipattern>
            <antipattern>
                <token>let</token>
                <token>'s</token>
                <token postag="RB" min="0" />
                <token>drive</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>drive</token>
                    <token>through</token>
                </marker>
                <token min="0" chunk_re="[BI]-NP.*" postag="NN.*|JJ.*" postag_regexp="yes" />
                <token regexp="yes" chunk_re="E-NP.*">restaurants?|penalt(y|ies)|wash|shops?|facility|starbucks|mcdonalds|zoos?|safaris?|subways?|cinemas?|supermarkets?|sores?|markets?</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <example correction="drive-through">We got our food from a <marker>drive through</marker> supermarket.</example>
            <example>Let's drive through zoos and discover wild animals!</example>
        </rule>
        <rulegroup id="ON_OFF_SCREEN_HYPHEN" name="missing hyphen in 'on/off screen'">
            <antipattern>
                <token>screen</token>
                <token regexp="yes">sizes?|resolutions?|readers?|shots?|sharings?|capture|dumps?|memor(y|ies)|savers?|mirror(ing)?|recorders?|recordings?</token>
            </antipattern>
            <rule>

                <pattern>
                    <token>off</token>
                    <token>screen</token>
                </pattern>
                <message>The adjective or adverb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <url>https://www.merriam-webster.com/dictionary/off-screen</url>
                <example correction="off-screen">She remains a mystery woman <marker>off screen</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="DT|PRP\$|IN" postag_regexp="yes">
                        <exception postag="CC" />
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>on</token>
                        <token>screen</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VBN|MD|IN|DT|PRP.*|RB" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The adjective or adverb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <url>https://www.merriam-webster.com/dictionary/on-screen</url>
                <example correction="on-screen">I enabled the <marker>on screen</marker> keyboard.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">appear|be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>on</token>
                        <token chunk_re="E-NP.*">screen</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen, or did you forget an article?</message>
                <suggestion>\3 the \4</suggestion>
                <url>https://www.merriam-webster.com/dictionary/on-screen</url>
                <example correction="on-screen|on the screen">The notification appeared <marker>on screen</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="ONE_HANDED_HYPHEN" name="one handed (one-handed)">
            <antipattern>
                <token>no</token>
                <token>one</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="3">all|every|any</token>
                <token>but</token>
                <token regexp="yes">one|two</token>
            </antipattern>
            <antipattern>
                <token>handed</token>
                <token postag="DT|PRP\$|PRP_O.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token regexp="yes">one|two</token>
                <token>handed</token>
            </pattern>
            <message>The adjective or adverb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/one-handed</url>
            <example correction="one-handed">She caught the ball <marker>one handed</marker>.</example>
            <example>No one handed them anything.</example>
            <example>One handed me a basket and said "My child shop with care.</example>
            <example>All the employees but one handed in their notices.</example>
        </rule>
        <rule id="OFF_HAND_COMPOUND" name="off hand (offhand)">
            <antipattern>
                <token>hand</token>
                <token regexp="yes">in|to</token>
                <token regexp="yes">hand|glove</token>
            </antipattern>
            <antipattern>
                <token>hand</token>
                <token regexp="yes">full?|cuff.*|bag.*|craft.*|luggage|brakes?|wash.*|down|jobs?|pick.*|knit.*|writ.*|over|puppets?|signals?|saniti.*</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes" chunk_re=".-VP">jump|pay|drop</token>
                <token>off</token>
            </antipattern>
            <pattern>
                <token>off</token>
                <token regexp="yes">hand(ed)?</token>
            </pattern>
            <message>The adjective or adverb <suggestion>off<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/offhand</url>
            <example correction="offhand">I can't think of a better solution <marker>off hand</marker>.</example>
        </rule>
        <rule id="STRAIGHT_UP_HYPHEN" name="straight up (straight-up)">
            <pattern>
                <token postag="PRP\$|DT|IN|CD" postag_regexp="yes">
                    <exception regexp="yes">like|to</exception>
                </token>
                <token regexp="yes" min="0">very|really|quite</token>
                <token postag="JJ" min="0" />
                <marker>
                    <token>straight</token>
                    <token regexp="yes">up|time</token>
                </marker>
                <token postag="JJ" min="0" />
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="IN|RB|CC|MD|DT|PRP.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>The adjective <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/straight-up</url>
            <example correction="straight-up">I'm a <marker>straight up</marker> gentleman.</example>
        </rule>
        <rule id="NEAR_DEATH_HYPHEN" name="near death (near-death)">
            <pattern>
                <marker>
                    <token>near</token>
                    <token>death</token>
                </marker>
                <token regexp="yes">experiences?</token>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/near-death%20experience</url>
            <example correction="near-death">He had a <marker>near death</marker> experience.</example>
        </rule>
        <rulegroup id="UP_TO_DATE_HYPHEN" name="up to date (up-to-date)">
            <url>https://www.merriam-webster.com/dictionary/up-to-date</url>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem|look</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>up</token>
                        <token>to</token>
                        <token>date</token>
                    </marker>
                </pattern>
                <message>It appears that hyphens are missing in the adjective <suggestion>\3-\4-\5</suggestion>.</message>
                <example correction="up-to-date">The software is <marker>up to date</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>up</token>
                        <token>to</token>
                        <token>date</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes">
                        <exception postag="IN|MD|DT|PRP.*|RB|CC" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>It appears that hyphens are missing in the adjective <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="up-to-date">That is an <marker>up to date</marker> software.</example>
            </rule>
            <rule>
                <pattern>
                    <token>up</token>
                    <token>2</token>
                    <token>date</token>
                </pattern>
                <message>The adjective <suggestion>\1-to-\3</suggestion> is spelled with hyphens.</message>
                <example correction="up-to-date">The software is <marker>up 2 date</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">up-?2-?date</token>
                </pattern>
                <message>The adjective <suggestion>up-to-date</suggestion> is spelled with hyphens.</message>
                <example correction="up-to-date">The software is <marker>up2date</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="THREE_LINE_HYPHEN" name="missing hyphen in 'three line'">
            <pattern>
                <marker>
                    <token>three</token>
                    <token>line</token>
                </marker>
                <token regexp="yes">octaves?|whips?|poems?|stanzas?|verses?|equal</token>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="three-line">The teacher explained to us what <marker>three line</marker> octaves are.</example>
        </rule>
        <rule id="FOR_PROFIT_HYPHEN" name="missing hyphen in 'for-profit'">
            <pattern>
                <token regexp="yes">an?|the|my|y?our|his|of</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>for</token>
                    <token>profit</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="PRP.*|DT|MD|CC|W.*|RB" postag_regexp="yes" />
                </token>
            </pattern>
            <message>The adjective <suggestion>\3-\4</suggestion> is normally spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/for-profit</url>
            <example correction="for-profit">Microsoft is a <marker>for profit</marker> business.</example>
        </rule>
        <rule id="TRICKLE_DOWN_HYPHEN" name="missing hyphen in 'trickle down'">
            <pattern>
                <marker>
                    <token>trickle</token>
                    <token>down</token>
                </marker>
                <token regexp="yes">econom(y|ies)|effects?|economics|spendings?|benefits?|theor(y|ies)|technolog(y|ies)|methods?</token>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/trickle-down</url>
            <example correction="Trickle-down"><marker>Trickle down</marker> economics is the economic proposition that taxes on businesses and the wealthy in society should be reduced as a means to stimulate business investment in the short term and benefit society at large in the long term.</example>
        </rule>
        <rulegroup id="TAILOR_MADE_HYPHEN" name="missing hyphen in 'tailor-made'">
            <url>https://www.merriam-webster.com/dictionary/tailor-made</url>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>tailor</token>
                        <token>made</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="tailor-made">This solution was <marker>tailor made</marker> for this scenario.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>tailor</token>
                        <token>made</token>
                    </marker>
                    <token>for</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="tailor-made">This solution was <marker>tailor made</marker> for this scenario.</example>
            </rule>
        </rulegroup>
        <rulegroup id="X_RATED_HYPHEN" name="X-rated">
            <rule>
                <antipattern>
                    <token>rated</token>
                    <token regexp="yes">it|them|this|that</token>
                </antipattern>
                <antipattern>
                    <token>rated</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>x</token>
                    <token>rated</token>
                </pattern>
                <message>The adjective <suggestion>X-rated</suggestion> is spelled with a hyphen.</message>
                <example correction="X-rated">This move is <marker>x rated</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">x-rated</token>
                </pattern>
                <message>The "X" in the adjective <suggestion>X-rated</suggestion> needs to be capitalized.</message>
                <example correction="X-rated">This move is <marker>x-rated</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DAYTIME" name="day time (daytime)">
            <antipattern>
                <token>time</token>
                <token regexp="yes">continuums?|frames?|limits?|periods?|windows?</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token chunk_re="B-VP.*" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="IN|RP" postag_regexp="yes" />
                    <token min="0" postag="P?DT" postag_regexp="yes" />
                    <marker>
                        <token>day</token>
                        <token>time</token>
                    </marker>
                </pattern>
                <message>This word is usually spelled as one word.</message>
                <suggestion>daytime</suggestion>
                <example correction="daytime">You should go during the <marker>day time</marker>, it's really pretty.</example>
                <example>The next day time was running out.</example>
                <example>One day time will no longer be an issue.</example>
                <example>I tell him every day time and again, but he won't listen.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>day</token>
                        <token>time</token>
                    </marker>
                    <token chunk_re="[IE]-NP.*" />
                </pattern>
                <message>This word is usually spelled as one word.</message>
                <suggestion>daytime</suggestion>
                <example correction="daytime">I joined some <marker>day time</marker> tennis leagues at our club.</example>
                <example>The next day time was running out.</example>
                <example>One day time will no longer be an issue.</example>
                <example>I tell him every day time and again, but he won't listen.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ONE_PAGER_HYPHEN" name="one pager (one-pager)">
            <rule>
                <pattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>one</token>
                        <token>pager</token>
                    </marker>
                </pattern>
                <message>This noun is normally spelled with a hyphen.</message>
                <suggestion>\3-\4</suggestion>
                <example correction="one-pager">I'm have written a <marker>one pager</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>one</token>
                    <token>pagers</token>
                </pattern>
                <message>This noun is normally spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="one-pagers">I'm have written a couple of <marker>one pagers</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="SECOND_LARGEST_HYPHEN" name="Missing hyphen in 'second largest'">
            <pattern>
                <marker>
                    <token regexp="yes">second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth</token>
                    <token postag="JJS">
                        <exception regexp="yes">most|least</exception>
                    </token>
                </marker>
                <token postag="JJ" min="0" />
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="PRP.*|DT|VBN|CC|IN|MD" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="fourth-largest">Cologne is the <marker>fourth largest</marker> city in Germany.</example>
            <example>She is the second most recognizable woman.</example>
        </rule>
        <rule id="MILLION_DOLLAR_HYPHEN" name="Missing hyphen in 'billion dollar'">
            <antipattern>
                <token postag="CD" skip="2" />
                <token regexp="yes">(multi)?[mb]illion|(multi)?trillion|thousand</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="2">.*[0-9].*</token>
                <token regexp="yes">(multi)?[mb]illion|(multi)?trillion|thousand</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">(multi)?[mb]illion|(multi)?trillion|thousand</token>
                    <token regexp="yes">dollar|euro|pound</token>
                </marker>
                <token regexp="yes">houses?|ideas?|apps?|compan(y|ies)|corporates?|start-?ups?|business|corporations?|bills?|cars?|mansions?|enterprises?|questions?|industry|plans?|series|yachts?|ships?|sailboats?|boats?|mistakes?|offer</token>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="billion-dollar">That's a <marker>billion dollar</marker> idea!</example>
        </rule>
        <rulegroup id="FUND_RAISE_HYPHEN" name="Missing hyphen in 'fund raise'">
            <rule>
                <pattern>
                    <token postag="MD|TO" postag_regexp="yes">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fund</token>
                        <token>raise</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled as one word.</message>
                <example correction="fund-raise">I want to <marker>fund raise</marker> for a good cause.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fund</token>
                        <token>raised</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled as one word.</message>
                <example correction="fund-raised">I have <marker>fund raised</marker> for a good cause.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|you|we|they|I|(some|any|no|every)(body|thing|one)</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fund</token>
                        <token regexp="yes">raises?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled as one word.</message>
                <example correction="fund-raise">I <marker>fund raise</marker> for a good cause.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HEAD_TO_HEAD_HYPHEN" name="missing hyphens in 'head-to-head'">
            <url>https://www.merriam-webster.com/dictionary/head-to-head</url>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">be|go|race|compete|stand|run|meet|play|perform</token>
                    <marker>
                        <token>head</token>
                        <token>to</token>
                        <token>head</token>
                    </marker>
                </pattern>
                <message>The adjective or adverb <suggestion>\2-\3-\4</suggestion> is normally spelled with hyphens.</message>
                <example correction="head-to-head">They are <marker>head to head</marker> in the race.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>head</token>
                        <token>to</token>
                        <token>head</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="IN|DT|PRP.*|RB|CC|MD|VBN" postag_regexp="yes" />
                    </token> 
                </pattern>
                <message>The adjective or adverb <suggestion>\1-\2-\3</suggestion> is normally spelled with hyphens.</message>
                <example correction="head-to-head">It is a <marker>head to head</marker> battle.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WEEK_OVER_WEEK_HYPHEN" name="missing hyphen in 'year over year'">
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|y?our|my|their|his|her|this|no</token>
                    <marker>
                        <token regexp="yes">week|day|year|month</token>
                        <token>over</token>
                        <token>
                            <match no="1" />
                        </token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="IN|RB|VBN|DT|MD|CC|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>This word is normally spelled with hyphens.</message>
                <suggestion>\2-\3-\4</suggestion>
                <example correction="week-over-week">This <marker>week over week</marker> increase was caused by our ad campaign.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|y?our|my|their|his|her|this|no</token>
                    <token postag="CD|JJ.*|UNKNOWN" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">week|day|year|month|quarter</token>
                        <token>over</token>
                        <token>
                            <match no="2" />
                        </token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="IN|RB|VBN|DT|MD|CC|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>This word is normally spelled with hyphens.</message>
                <suggestion>\3-\4-\5</suggestion>
                <example correction="week-over-week">This 40% <marker>week over week</marker> increase was caused by our ad campaign.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">%|percent|\d+%</token>
                    <marker>
                        <token regexp="yes">week|day|year|month|quarter</token>
                        <token>over</token>
                        <token>
                            <match no="1" />
                        </token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="IN|RB|VBN|DT|MD|CC|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>This word is normally spelled with hyphens.</message>
                <suggestion>\2-\3-\4</suggestion>
                <example correction="week-over-week">This 40% <marker>week over week</marker> increase was caused by our ad campaign.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">week|day|year|month|quarter</token>
                        <token>over</token>
                        <token>
                            <match no="0" />
                        </token>
                    </marker>
                    <token regexp="yes">increases?|decreases?|growth|comparisons?|changes?|declines?</token>
                </pattern>
                <message>This word is normally spelled with hyphens.</message>
                <suggestion>\1-\2-\3</suggestion>
                <example correction="week-over-week">This 40% <marker>week over week</marker> increase was caused by our ad campaign.</example>
            </rule>
        </rulegroup>

        <rule id="ABOVE_MENTIONED" name="above mentioned">
            <antipattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="IN" />
                <token />
                <token>mentioned</token>
                <token postag="PRP.*|DT|EX" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="IN" />
                <token />
                <token>mentioned</token>
                <token regexp="yes">,|:</token>
            </antipattern>
            <pattern>
                <token regexp="yes">above|below</token>
                <token>mentioned</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/above-mentioned</url>
            <example correction="above-mentioned">The <marker>above mentioned</marker> changes weren't implemented.</example>
        </rule>
        <rule id="EVERY_BODY" name="every body (everybody)">
            <antipattern case_sensitive="yes">
                <token>every</token>
                <token regexp="yes">Body|BODY</token>
            </antipattern>
            <antipattern>
                <token>body</token>
                <token>of</token>
                <token>water</token>
            </antipattern>
            <antipattern>
                <token>body</token>
                <token regexp="yes">tag|element|statement</token>
            </antipattern>
            <antipattern>
                <token>every</token>
                <token>body</token>
                <token postag="VBZ" />
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" />
                <token>body</token>
            </antipattern>
            <antipattern>
                <token>body</token>
                <token>is</token>
                <token regexp="yes">beautiful|wonderful</token>
            </antipattern>
            <pattern>
                <token>every</token>
                <token chunk_re="E-NP.*">body</token>
            </pattern>
            <message>The pronoun <suggestion>every<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/everybody</url>
            <example correction="Everybody"><marker>Every body</marker> is happy!</example>
            <example correction="everybody">Please inform <marker>every body</marker> about this.</example>
            <example>Every body is a good body.</example>
        </rule>
        <rule id="SOME_TIMES" name="some times (sometimes)">
            <antipattern>
                <token>times</token>
                <token>new</token>
                <token>roman</token>
            </antipattern>
            <antipattern>
                <token>times</token>
                <token regexp="yes">journalists?|newspapers?</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token>some</token>
            </antipattern>
            <antipattern>
                <token skip="1">times</token>
                <token regexp="yes">this|next|upcoming|last</token>
                <token regexp="yes">week|month|year|week-?end</token>
            </antipattern>
            <antipattern>
                <token skip="1">times</token>
                <token regexp="yes">ago|yesterday|today|tonight|tomorrow</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">are|'re|were|be</token>
                <token>some</token>
                <token>times</token>
                <token min="0">back</token>
                <token regexp="yes">where|when(ever)?|then</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">have|'ve</token>
                <token postag="RB" min="0" />
                <token>been</token>
                <token>some</token>
                <token>times</token>
                <token min="0">back</token>
                <token regexp="yes">where|when(ever)?|then</token>
            </antipattern>
            <antipattern>
                <token>times</token>
                <token regexp="yes">and|&amp;|or</token>
                <token>dates</token>
            </antipattern>
            <antipattern>
                <token skip="4">dates</token>
                <token>times</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">take</token>
                <token>some</token>
            </antipattern>
            <antipattern>
                <token skip="2">let</token>
                <token>know</token>
                <token>some</token>
                <token>times</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">block|reserve|mark|confirm|book|schedule</token>
                <token>some</token>
                <token>times</token>
            </antipattern>
            <antipattern>
                <token>some</token>
                <token>times</token>
                <token inflected="yes" regexp="yes">block|reserve|mark|confirm|book|schedule</token>
            </antipattern>
            <antipattern>
                <token>times</token>
                <token regexp="yes" skip="3">in|on|at|to</token>
                <token regexp="yes">timetables?|timelines?|calendars?|schedules?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes" skip="1">know|remember|send|share</token>
                <token>some</token>
                <token>times</token>
                <token min="0">back</token>
                <token regexp="yes">where|when(ever)?|then</token>
            </antipattern>
            <antipattern><!-- Please send me some times you are available to chat. -->
                <token>some</token>
                <token>times</token>
                <token min="0" regexp="yes">when|where|once|after|before</token>
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="MD" min="0" />
                <token inflected="yes" regexp="yes">be|have</token>
                <token postag="RB" min="0" />
                <token regexp="yes">available|free</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">here|below|above</token>
                <token>are</token>
                <token>some</token>
                <token>times</token>
                <token regexp="yes">that|which</token>
            </antipattern>
            <antipattern>
                <token>what</token>
                <token regexp="yes">are|were</token>
                <token>some</token>
                <token>times</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">are|were|propose[sd]?</token>
                <token>some</token>
                <token>times</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>times</token>
                <token>in</token>
                <token regexp="yes">CST|CDT|MST|MDT|PST|PDT|EST|EDT</token>
            </antipattern>
            <antipattern>
                <token>some</token>
                <token>times</token>
                <token>that</token>
                <token>work</token>
                <token>for</token>
                <token regexp="yes">you|me|us|them|him|her</token>
            </antipattern>
            <pattern>
                <token>some</token>
                <token case_sensitive="yes">times</token>
            </pattern>
            <message>Did you mean the adverb <suggestion>sometimes</suggestion> (= occasionally)?</message>
            <url>https://www.merriam-webster.com/dictionary/sometimes</url>
            <example correction="Sometimes"><marker>Some times</marker> I have to check it twice just to be sure.</example>
            <example>Still not amazing, but he'll be useful for some players at some times.</example>
            <example>I feel great with Stronglifts, I will study new programs but it will take some times.</example>
            <example>It all happened some times ago.</example>
            <example>Please let me know some times that would be convenient for you.</example>
            <example>There have been some times where I've thrown even more resources than you at a new Mythic and gotten nothing for my investment.</example>
            <example>You will notice that I have blocked some times on my calendar to get reviews written and delivered.</example>
            <example>I selected some times for tomorrow.</example>
            <example>Please send me some times you are available to chat.</example>
            <example type="triggers_error">Sami and Layla spoke some times but they never dated.</example>
        </rule>
        <rule id="OUT_PERFORM_COMPOUND" name="out + perform">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception postag="MD" />
                    <exception inflected="yes" regexp="yes">be|do|have</exception>
                </token>
                <token>out</token>
            </antipattern>
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Oo]ut</token>
                <token inflected="yes">perform</token>
            </pattern>
            <message>The verb <suggestion>out<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="outperforming">Tesla is <marker>out performing</marker> other carmakers when it comes to EV.</example>
        </rule>
        <rule id="WELL_WISH_HYPHEN" name="missing hyphen in 'well wishes'">
            <pattern>
                <token postag="VB.*|DT|PRP\$|IN" postag_regexp="yes" />
                <token postag="JJ" min="0" />
                <marker>
                    <token>well</token>
                    <token chunk_re="[IE]-NP.*" regexp="yes">wish(es)?</token>
                </marker>
            </pattern>
            <message>The noun <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/well-wish</url>
            <example correction="well-wishes">Thanks for the <marker>well wishes</marker>.</example>
        </rule>
        <rule id="TRUE_CRIME_HYPHEN" name="missing hyphen in 'true-crime'">
            <pattern>
                <marker>
                    <token>true</token>
                    <token>crime</token>
                </marker>
                <token regexp="yes">tales?|documentar(y|ies)|movies?|series|tv|shows?|stor(y|ies)|podcasts?|books?|films?|museums?|enthusiasts?|fans?|files?|communit(y|ies)|sitcoms?</token>
            </pattern>
            <message>Consider adding a hyphen to this noun/adjective.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="true-crime">He likes to watch <marker>true crime</marker> documentaries.</example>
        </rule>
        <rule id="ON_OFF_HYPHEN" name="on off (on-off)">
            <pattern>
                <marker>
                    <token>on</token>
                    <token>off</token>
                </marker>
                <token regexp="yes">relationships?|switch(es)?|affairs?|patterns?</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/on-off</url>
            <example correction="on-off">Tom and Mary are having an <marker>on off</marker> relationship.</example>
        </rule>
        <rulegroup id="VERB_NOUN_CONFUSION" name="warm up (warm-up)">
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token postag="V.*|IN" postag_regexp="yes">
                    <exception regexp="yes">after|before|since</exception>
                </token>
                <token>her</token>
            </antipattern>
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token>skin</token>
                <token />
                <token postag="IN" />
            </antipattern>
            <rule><!-- up -->
                <antipattern><!-- The harassed mule got his back up and began kicking up dust. -->
                    <token inflected="yes" regexp="yes" skip="4">get|lift|put|move|bring|pull</token>
                    <token>back</token>
                    <token>up</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>in</token>
                    <token>the</token>
                    <token>air</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>in</token>
                    <token>arms</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>to</token>
                    <token regexp="yes">date|par|here|mud|one</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>to</token>
                    <token>at</token>
                    <token>least</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>to</token>
                    <token postag="CD" />
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>to</token>
                    <token>no</token>
                    <token>good</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token>to</token>
                    <token>a</token>
                    <token>date</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token regexp="yes">above|against|there|untill?</token>
                </antipattern>
                <antipattern>
                    <token>up</token>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <token>down</token>
                </antipattern>
                <antipattern><!-- Let's take a walk up the mountain -->
                    <token regexp="yes">walk|run</token>
                    <token>up</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="PRP$" />
                    <token>chin</token>
                    <token>up</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" chunk_re=".-VP">set</token>
                    <token skip="2" />
                    <token>up</token>
                </antipattern>
                <antipattern>
                    <token>tie</token>
                    <token>up</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>look</token>
                    <token>up</token>
                    <token>to</token>
                    <token regexp="yes">see|check|recogni[sz]e</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">UPS</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>up</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="JJ" />
                    <token>back</token>
                    <token>up</token>
                    <token>to</token>
                    <token regexp="yes">the|that|this|my|his|her|y?our|their</token>
                </antipattern>
                <antipattern>
                    <token>step</token>
                    <token>up</token>
                    <token>from</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">
                            mash|check|slap|sign|break|mess|mix|pull|push|walk|tie|take|sit|top|warm|run|hang|start|pop|line|catch|stand|mark|set|pick|back|hook|clean|look|make|follow|cover|brush|get|lock|step|speed|mock|link|dial|wash|chin|wake|screw|hurry|call|fuck
                        </token>
                        <token regexp="yes">ups?</token>
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a noun or modifier, it needs to be hyphenated.</message>
                <suggestion suppress_misspelled="yes">\3-\4</suggestion>
                <!-- <suggestion suppress_misspelled="yes"><match no="2" case_conversion="alllower" /><match no="3" case_conversion="alllower" /></suggestion> -->
                <example correction="warm-up">A <marker>warm up</marker> is required before every workout session.</example>
                <example correction="mock-up">If the colors look good we'll start the <marker>mock up</marker> of the trading screen.</example>
                <example correction="start-up">She recently left KPMG to work for a <marker>start up</marker> company, who is now going bankrupt.</example>
                <example>The harassed mule got his back up and began kicking up dust.</example>
                <example>The omnibus swap below, plus this Annex A make up the "omnibus" confirm.</example>
                <example>Let's take a walk up the mountain!</example>
                <example correction="chin-up">He can't even do a <marker>chin up</marker>.</example>
                <example>Keep your chin up!</example>
                <example correction="break-up">After her <marker>break up</marker> with Marc, she stayed single for a year.</example>
                <example>I will have her break up all relationships.</example>
                <example>I will make her warm up before the training starts.</example>
                <example>She can poll everyone for a convenient time slot and set the call up.</example>
                <example>It's the first time we see a woman take up her pen in defence of her sex.</example>
            </rule>
            <rule><!-- ups -->
                <antipattern>
                    <token case_sensitive="yes">UPS</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        mash|check|slap|sign|break|mess|mix|pull|push|walk|tie|take|sit|top|warm|run|hang|start|pop|line|catch|stand|mark|set|pick|back|hook|clean|look|make|follow|cover|brush|get|lock|step|speed|mock|link|dial|wash|chin|wake|screw|call
                    </token>
                    <token>ups</token>
                </pattern>
                <message>This plural noun needs to be hyphenated.</message>
                <suggestion>\1-\2</suggestion>
                <!-- <suggestion suppress_misspelled="yes"><match no="2" case_conversion="alllower" /><match no="3" case_conversion="alllower" /></suggestion> -->
                <example correction="warm-ups">We did two <marker>warm ups</marker> before we started the training.</example>
                <example>The harassed mule got his back up and began kicking up dust.</example>
                <example>The omnibus swap below, plus this Annex A make up the "omnibus" confirm.</example>
                <example>Let's take a walk up the mountain!</example>
            </rule>
            <rule><!-- out -->
                <!-- https://internal1.languagetool.org/regression-tests/via-http/2021-01-30/en-US/result_grammar_VERB_NOUN_CONFUSION[2].html -->
                <antipattern>
                    <token>out</token>
                    <token regexp="yes">of|there|front</token>
                </antipattern>
                <antipattern>
                    <token>out</token>
                    <token regexp="yes">and|&amp;</token>
                    <token>about</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="4">get|move|put</token>
                    <token regexp="yes">cash|work|sign</token>
                    <token>out</token>
                </antipattern>
                <antipattern>
                    <token>out</token>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <token>in</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" skip="2" regexp="yes">take|spread</token>
                    <token>time</token>
                    <token>out</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">read</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token />
                    <token>out</token>
                    <token>loud</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">look</token>
                    <token>out</token>
                    <token>the</token>
                </antipattern>
                <antipattern>
                    <token postag="JJ" />
                    <token>time</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>out</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">call|miss|fall|cut|black|opt|stand|pull|hide|bail|pay|freak|hang|shout|cash|print|try|burn|sign|log|break|time|look|roll|work|check|lay|take|read|knock|wash|watch|carry|turn</token>
                        <token regexp="yes">outs?</token>
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a noun or modifier, it needs to be hyphenated.</message>
                <suggestion suppress_misspelled="yes">\3-\4</suggestion>
                <!-- <suggestion suppress_misspelled="yes"><match no="2" case_conversion="alllower" /><match no="3" case_conversion="alllower" /></suggestion> -->
                <example correction="knock-out">A <marker>knock out</marker> put him to the floor.</example>
                <example>Stop your grumbling and get the work out of the way.</example>
                <example>Last night, I got a call out of the blue from Tom.</example>
                <example>At least you got your cash out and booked.</example>
                <example>Thank you for taking the time out of your busy schedule to provide assistance.</example>
                <example>Sami never spends his time out there.</example>
                <example>Please read your work out loud.</example>
                <example>A look out the front door …</example>
                <example>Seems like a far time out, but I am not sure where to cut it (again your thoughts are welcomed).</example>
            </rule>
            <rule><!-- outs -->
                <pattern>
                    <token regexp="yes">call|miss|fall|cut|black|opt|stand|pull|hide|bail|pay|freak|hang|shout|cash|print|try|burn|sign|log|break|time|look|roll|work|check|lay|take|read|knock|wash|watch|carry</token>
                    <token>outs</token>
                </pattern>
                <message>This plural noun needs to be hyphenated.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="knock-outs">These <marker>knock outs</marker> put him to the floor.</example>
                <example>Stop your grumbling and get the work out of the way.</example>
            </rule>
            <rule><!-- off -->
                <antipattern>
                    <token skip="1" chunk_re=".-VP" />
                    <token skip="1" chunk_re="E-NP.*" />
                    <token>off</token>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern><!-- Take your hand off my neck. -->
                    <token>off</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>off</token>
                    <token>course</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">get|take|cut|slice|hit|wipe|snatch|pull</token>
                    <token skip="5" />
                    <token>off</token>
                </antipattern>
                <antipattern>
                    <token>off</token>
                    <token regexp="yes">air|again</token>
                </antipattern>
                <antipattern>
                    <token>hand</token>
                    <token>off</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>off</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&nouns_with_off;</token>
                        <token regexp="yes">offs?</token>
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a noun or modifier, it needs to be hyphenated.</message>
                <suggestion suppress_misspelled="yes">\3-\4</suggestion>
                <!-- <suggestion suppress_misspelled="yes"><match no="2" case_conversion="alllower" /><match no="3" case_conversion="alllower" /></suggestion> -->
                <example correction="kick-off">The <marker>kick off</marker> for the project starts at 8am.</example>
                <example>Take your hand off my neck.</example>
                <example>You can't take your hand off fast enough!</example>
                <example>He is cutting his hand off.</example>
                <example>Mr. B. Lowery, First of all, you sent me a picture with the head cut off.</example>
                <example>Last year really saw the business take off.</example>
            </rule>
            <rule><!-- offs -->
                <pattern>
                    <token regexp="yes">&nouns_with_off;</token>
                    <token>offs</token>
                </pattern>
                <message>This plural noun needs to be hyphenated.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="kick-offs">The <marker>kick offs</marker> for the project start at 8am.</example>
                <example>Take your hand off my neck.</example>
                <example>You can't take your hand off fast enough!</example>
                <example>He is cutting his hand off.</example>
            </rule>
            <rule><!-- down -->
                <antipattern>
                    <token>down</token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token regexp="yes">up|out</token>
                </antipattern>
                <antipattern>
                    <token>down</token>
                    <token>the</token>
                </antipattern>
                <antipattern>
                    <token>down</token>
                    <token>along</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>down</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>back</token>
                    <token>down</token>
                    <token regexp="yes">to|towards|into</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" skip="2" regexp="yes">take|move|walk|jump</token>
                    <token>step</token>
                    <token>down</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&nouns_with_down;</token>
                        <token regexp="yes">downs?</token>
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a noun or modifier, it needs to be hyphenated.</message>
                <suggestion suppress_misspelled="yes">\3-\4</suggestion>
                <!-- <suggestion suppress_misspelled="yes"><match no="2" case_conversion="alllower" /><match no="3" case_conversion="alllower" /></suggestion> -->
                <example correction="take-down">The <marker>take down</marker> happened immediately.</example>
            </rule>
            <rule><!-- downs -->
                <pattern>
                    <token regexp="yes">&nouns_with_down;</token>
                    <token>downs</token>
                </pattern>
                <message>This plural noun needs to be hyphenated.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="take-downs">The <marker>take downs</marker> happened immediately.</example>
            </rule>
            <rule><!-- over -->
                <antipattern>
                    <token>over</token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token regexp="yes">out|over|done|above</token>
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token>the</token>
                    <token regexp="yes">air|fence|hill|long|medium|counter|course|board</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="4">wave|put|pull|move|hold|run|place|pass</token>
                    <token>hand</token>
                    <token>over</token>
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token regexp="yes">t?here</token>
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>voice</token>
                    <token>over</token>
                    <token regexp="yes">ips?|internet.*</token>
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token regexp="yes">\d.*</token>
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token postag="CD" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="3">have|get</token>
                    <token regexp="yes">hold|hand</token>
                    <token>over</token>
                    <token chunk_re=".-NP.*" />
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token regexp="yes">me|her|him|them|it|us|you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>over</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>                
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&nouns_with_over;</token>
                        <token regexp="yes">overs?</token>
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a noun or modifier, it needs to be hyphenated.</message>
                <suggestion suppress_misspelled="yes">\3-\4</suggestion>
                <!-- <suggestion suppress_misspelled="yes"><match no="2" case_conversion="alllower" /><match no="3" case_conversion="alllower" /></suggestion> -->
                <example correction="take-over">The <marker>take over</marker> happened immediately.</example>
                <example>When I wave a hand over it, the deadbolt unlocks and the entry light comes on.</example>
                <example>Sami held his hand over Layla's mouth.</example>
                <example>Hey, could you give me a hand over here, please?</example>
                <example>Together, the two companies will gain a hold over 80 percent of Spain's power market with a combined market capitalization of the equivalent to $32 billion.</example>
                <example>We provide you with a Voice Over IP connection(VOIP), where the offsite development team is just a 4 digit extension away.</example>
                <example>He is having a hold over you.</example>
                <example>He put his hand over me.</example>
                <example>He's having a hold over you.</example>
            </rule>
            <rule><!-- overs -->
                <pattern>
                    <token regexp="yes">&nouns_with_over;</token>
                    <token>overs</token>
                </pattern>
                <message>This plural noun needs to be hyphenated.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="take-overs">The <marker>take overs</marker> happened immediately.</example>
            </rule>
            <rule><!-- back -->
                <antipattern>
                    <token>back</token>
                    <token regexp="yes">[tw]hen</token>
                </antipattern>
                <antipattern>
                    <token>call</token>
                    <token>back</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the|my|her|his|their|y?our</token>
                    <token postag="JJ" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token>back</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&nouns_with_back;</token>
                        <token regexp="yes">backs?</token>
                    </marker>
                </pattern>
                <message>When '<match no="3" case_conversion="alllower" /> <match no="4" case_conversion="alllower" />' is used as a noun or modifier, it's written as one word.</message>
                <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion>
                <example correction="buyback">The <marker>buy back</marker> was expensive.</example>
                <example>I'm expecting a call back next week.</example>
            </rule>
            <rule><!-- backs -->
                <pattern>
                    <token regexp="yes">&nouns_with_back;</token>
                    <token chunk_re="E-NP.*">backs</token>
                </pattern>
                <message>This plural noun is written as one word.</message>
                <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="flashbacks">I had several <marker>flash backs</marker> while driving through my hometown.</example>
            </rule>
            <rule><!-- away -->
                <antipattern>
                    <token regexp="yes">.*minutes?</token>
                    <token>walk</token>
                    <token>away</token>
                </antipattern>
                <antipattern>
                    <token>away</token>
                    <token>from</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&nouns_with_away;</token>
                        <token regexp="yes">aways?</token>
                    </marker>
                </pattern>
                <message>When '<match no="3" case_conversion="alllower" /> <match no="4" case_conversion="alllower" />' is used as a noun or modifier, it's written as one word.</message>
                <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion>
                <example correction="workaway">He is a <marker>work away</marker> person.</example>
                <example>The school is only a five-minute walk away.</example>
                <example>Houston's center turned into a ghost town as employees went home or moved to satellite offices to continue their work away from the big office towers.</example>
            </rule>
            <rule><!-- aways -->
                <pattern>
                    <token regexp="yes">&nouns_with_away;</token>
                    <token>aways</token>
                </pattern>
                <message>This plural noun is written as one word.</message>
                <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="takeaways">Do you have collected any <marker>take aways</marker>?</example>
            </rule>
        </rulegroup>
        <rule id="CLICK_THROUGH_RATE" name="Hyphen in 'click through rate'">
            <antipattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <token regexp="yes">click|view</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">view|click</token>
                    <token>through</token>
                    <token regexp="yes">conversions?|rates?|optimi[sz]ations?</token>
                </marker>
            </pattern>
            <message>It appears that a hyphen is missing.</message>
            <suggestion>\1-\2 \3</suggestion>
            <example correction="click-through rate">Our new ad has a much higher <marker>click through rate</marker>.</example>
        </rule>
        <rule id="SCORE_COMPOUNDS" name="score card (scorecard)">
            <antipattern>
                <token postag="MD|TO" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>score</token>
            </antipattern>
            <pattern>
                <token>score</token>
                <token regexp="yes">cards?|sheets?|books?|pads?</token>
            </pattern>
            <message>The noun <suggestion>score<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="scorecard">The development goals had a mixed <marker>score card</marker>.</example>
        </rule>
        <rule id="PRESIDENT_ELECT" name="president-elect">
            <antipattern>
                <token>elect</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token regexp="yes">president|vp</token>
                <token>elect</token>
            </pattern>
            <message>This word is normally spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/president-elect</url>
            <example correction="president-elect">Joe Biden is <marker>president elect</marker>.</example>
        </rule>
        <rulegroup id="STAND_UP_HYPHEN" name="stand up comedian (stand-up)">
            <url>https://www.merriam-webster.com/dictionary/stand-up</url>
            <rule>
                <pattern>
                    <marker>
                        <token>stand</token>
                        <token>up</token>
                    </marker>
                    <token regexp="yes">comedy|comedies|comedians?|freezers?|paddl(e|ind)|collars?|meetings?|artists?|guy|bars?</token>
                </pattern>
                <message>The noun or adjective <suggestion>\1-\2</suggestion> is normally spelled with a hyphen.</message>
                <example correction="stand-up">He is a <marker>stand up</marker> comedian.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>up</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|y?our|my|his|her|their|no|of|this</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">few|longer</exception>
                    </token>
                    <marker>
                        <token>stand</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>\3-\4</suggestion> is normally spelled with a hyphen.</message>
                <example correction="stand-up">The daily <marker>stand up</marker> is everyday at 9pm.</example>
                <example>He could no longer stand up.</example>
                <example>I will have her stand up and fight.</example>
            </rule>
            <rule>
                <pattern>
                    <token>stand</token>
                    <token>ups</token>
                </pattern>
                <message>The plural noun <suggestion>\1-\2</suggestion> is normally spelled with a hyphen.</message>
                <example correction="stand-ups">We had many daily <marker>stand ups</marker> in the current project sprint.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LEFT_OVER_COMPOUND" name="left over → leftover">
            <url>https://www.merriam-webster.com/dictionary/leftover</url>
            <rule>
                <pattern>
                    <token>left</token>
                    <token>overs</token>
                </pattern>
                <message>The noun <suggestion>leftovers</suggestion> is spelled as one word.</message>
                <example correction="leftovers">There were no <marker>left overs</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <marker>
                        <token>left</token>
                        <token>over</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="PRP.*|RB|MD|CC|DT|W.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The noun <suggestion>leftover</suggestion> is spelled as one word.</message>
                <example correction="leftover">He ate the <marker>left over</marker> bread.</example>
            </rule>
        </rulegroup>
        <rule id="VIDEO_TAPE_COMPOUND" name="video tape (videotape)">
            <pattern>
                <token>video</token>
                <token inflected="yes">tape</token>
            </pattern>
            <message>The word <suggestion>video<match no="2" case_conversion="alllower" /></suggestion> is normally spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/videotape</url>
            <example correction="videotapes">He has watched all <marker>video tapes</marker>.</example>
        </rule>
        <rule id="MID_HYPHEN" name="missing hyphen after 'mid'">
            <antipattern>
                <token case_sensitive="yes">MID</token>
            </antipattern>
            <pattern>
                <token>mid</token>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="RB.*|MD|CC|PRP.*|EX|DT|IN|VBN" postag_regexp="yes" />
                    <exception regexp="yes">next|\d|gets?|makes?|like|knows?|takes?|go(es)?</exception>
                    <exception regexp="yes">[a-z]</exception><!-- single letter -->
                    <exception case_sensitive="yes" regexp="yes">march|may|august</exception><!-- caught by LOWERCASE_MONTHS -->
                </token>
            </pattern>
            <message>This word is normally spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="mid-sleep">He woke up <marker>mid sleep</marker> and screamed.</example>
            <example correction="mid-thirties">Tom was in his <marker>mid thirties</marker> when he got married.</example>
            <example>Kevin, Jo Williams said that you needed a quote for transportation from Mid 4 to Mid 3 in the Waha area.</example>
            <example>This cost is added in addition to the power price at MID C. Mennad's nose was hurting.</example>
        </rule>
        <rule id="DROP_IN_NN" name="drop-in">
            <antipattern><!-- a drop in NNS -->
                <token regexp="yes">an?|this</token>
                <token postag="JJ" min="0" />
                <token>drop</token>
                <token>in</token>
                <token chunk_re=".-NP-plural" />
            </antipattern>
            <pattern>
                <marker>
                    <token>drop</token>
                    <token>in</token>
                </marker>
                <token regexp="yes" chunk_re="E-NP.*">
                    basis|discos?|replacements?|restaurants?|bars?|caf[eé]s?|clinics?|facility|periods?|seats?|audio
                </token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <example correction="drop-in">This software is a <marker>drop in</marker> replacement.</example>
            <example>Why is there a drop in restaurants?</example>
        </rule>
        <rule id="ASTRA_ZENECA" name="AstraZeneca">
            <pattern>
                <token>astra</token>
                <token>zeneca</token>
            </pattern>
            <message>The pharma company <suggestion>AstraZeneca</suggestion> is spelled without a space in between.</message>
            <url>https://en.wikipedia.org/wiki/AstraZeneca</url>
            <example correction="AstraZeneca">The pharma company <marker>Astra Zeneca</marker> is from the UK.</example>
        </rule>
        <rule id="HOUSE_HYPHEN" name="missing hyphen in '2 family house'">
            <pattern>
                <marker>
                    <token regexp="yes">[1-8]|one|two|three|four|five|six|seven|eight</token>
                    <token regexp="yes">family|person</token>
                </marker>
                <token regexp="yes">house|mansion|apartment|trailer</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="2-family">They live in a <marker>2 family</marker> house.</example>
        </rule>
        <rule id="NO_FLY_ZONE_HYPHEN" name="missing hyphen in 'no fly zone'">
            <pattern>
                <token>no</token>
                <token regexp="yes">fly|drive</token>
                <token regexp="yes">zones?|lists?|areas?</token>
            </pattern>
            <message>This expression is usually spelled with a hyphen between '\1' and '\2'.</message>
            <suggestion>\1-\2 \3</suggestion>
            <url>https://www.merriam-webster.com/dictionary/no-fly%20zone</url>
            <example correction="no-fly zone">The airplane accidentally entered the <marker>no fly zone</marker>.</example>
        </rule>
        <rulegroup id="NO_FAULT_HYPHEN" name="missing hyphen in 'no fault insurance'">
            <url>https://www.merriam-webster.com/dictionary/no-fault</url>
            <rule>
                <pattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>no</token>
                        <token>fault</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="RB.*|IN|MD|CC|PRP.*|DT" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>When <suggestion>\3-\4</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
                <example correction="no-fault">The <marker>no fault</marker> insurance.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>no</token>
                        <token>fault</token>
                    </marker>
                    <token min="0">auto</token>
                    <token regexp="yes">insurances?|divorces?|zones?|laws?|principles?</token>
                </pattern>
                <message>When <suggestion>\1-\2</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
                <example correction="no-fault">The <marker>no fault</marker> insurance.</example>
            </rule>
        </rulegroup>
        <rule id="FORCE_FEED_HYPHEN" name="missing hyphen in 'force feed'">
            <antipattern>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token>force</token>
            </antipattern>
            <pattern>
                <token>force</token>
                <token inflected="yes">feed</token>
            </pattern>
            <message>It appears that a hyphen is missing in the verb <suggestion>\1-\2</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/force-feed</url>
            <example correction="force-feed">I will <marker>force feed</marker> the children with vegetables.</example>
        </rule>
        <rule id="HAND_FULL_COMPOUND" name="hand full (handful)">
            <pattern>
                <token regexp="yes">an?</token>
                <token postag="JJ" min="0" />
                <marker>
                    <token>hand</token>
                    <token regexp="yes">full?</token>
                </marker>
                <token>of</token>
            </pattern>
            <message>The noun <suggestion>handful</suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/handful</url>
            <example correction="handful">It is only a <marker>hand full</marker> of people.</example>
        </rule>
        <rulegroup id="DO_OVER_HYPHEN" name="do over (do-over)">
            <url>https://www.merriam-webster.com/dictionary/do-over</url>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|y?our|his|her|their|its</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>do</token>
                        <token>over</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>\3-\4</suggestion> is normally spelled with a hyphen.</message>
                <example correction="do-over">It is overdue for a complete <marker>do over</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>do</token>
                    <token>overs</token>
                </pattern>
                <message>The plural noun <suggestion>\1-\2</suggestion> is normally spelled with a hyphen.</message>
                <example correction="do-overs">It is overdue for a couple of <marker>do overs</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MAKE_OVER_COMPOUND" name="make over (makeover)">
            <url>https://www.merriam-webster.com/dictionary/make-over</url>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|y?our|his|her|their|its</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>make</token>
                        <token>over</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>makeover</suggestion> is normally spelled as one word.</message>
                <example correction="makeover">It is overdue for a complete <marker>make over</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>make</token>
                    <token>overs</token>
                </pattern>
                <message>The plural noun <suggestion>makeovers</suggestion> is normally spelled as one word.</message>
                <example correction="makeovers">It is overdue for a couple of <marker>make overs</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="NOTE_TAKING_HYPHEN" name="note taking (note-taking)">
            <pattern>
                <token>note</token>
                <token>taking</token>
            </pattern>
            <message>The noun or adjective <suggestion>\1-\2</suggestion> is normally spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/note-taking</url>
            <example correction="note-taking">I discovered a nice <marker>note taking</marker> app.</example>
        </rule>
        <rulegroup id="HEART_BROKEN_COMPOUND" name="heart broken (heartbroken)">
            <rule>
                <pattern>
                    <marker>
                        <token>heart</token>
                        <token regexp="yes">broken|felt</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="MD|IN|W.*|PRP.*|RB" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The adjective <suggestion>heart<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="heartbroken">He's a <marker>heart broken</marker> man.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|feel</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>heart</token>
                        <token regexp="yes">broken|felt</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>heart<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="heartbroken">I was really <marker>heart broken</marker> when you left.</example>
            </rule>
        </rulegroup>
        <rule id="DOG_EAT_DOG_HYPHEN" name="dog-eat-dog">
            <antipattern>
                <token>dog</token>
                <token>food</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>dog</token>
                    <token>eat</token>
                    <token>dog</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="IN|MD|W.*|CC|RB|PRP.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>The adjective phrase <suggestion>\1-\2-\3</suggestion> is spelled with a hyphen when it modifies a noun.</message>
            <example correction="dog-eat-dog">We live in a <marker>dog eat dog</marker> society.</example>
            <example>Why won't my dog eat dog food?</example>
        </rule>
        <rule id="ROLL_OUT_HYPHEN" name="the roll out (roll-out)">
            <pattern>
                <token regexp="yes">the|an?|my|y?our|their|its|his|her|no|of|for|at|on</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>roll</token>
                    <token regexp="yes">outs?</token>
                </marker>
            </pattern>
            <message>The noun <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
            <example correction="roll-out">The <marker>roll out</marker> of the new version was a success.</example>
        </rule>
        <rule id="BORN_HYPHEN" name="Missing hyphen in 'An American born scientist'">
            <pattern>
                <marker>
                    <token postag="NNP" regexp="yes">Saudi|American|German|French|Dutch|Ukrainian|Indian|Czech|Danish|Canadian|Mexican|Panamanian|Spanish|Russian|Polish|Irish|Italian|Austrian|Swiss|Belgium|Egyptian|Australian|Bahraini|English|Swedish|California|York|Cuban|Texas|Florida|Norwegian|Chinese|Scottish|Japanese|European|Asian|Brazilian|British|Portuguese|Iranian</token>
                    <token>born</token>
                </marker>
                <token postag="NN.*|PCT" postag_regexp="yes">
                    <exception postag="IN|CC|PRP.*|RB|W.*|DT" postag_regexp="yes" />
                </token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="American-born">He is an <marker>American born</marker> scientist.</example>
        </rule>
        <rule id="ON_PAGE_HYPHEN" name="on page seo (on-page seo)">
            <pattern>
                <marker>
                    <token regexp="yes">on|off</token>
                    <token>page</token>
                </marker>
                <token regexp="yes">seo|optimi[sz]ations?|connectors?|factors?</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <example correction="on-page">He did some <marker>on page</marker> optimizations to boost his website in Google.</example>
        </rule>
        <rulegroup id="SIGN_UP_HYPHEN" name="sign up (sign-up)">
            <antipattern>
                <token postag="IN" />
                <token>front</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">with|have|has</token>
                <token regexp="yes" skip="1">an?</token>
                <token>sign</token>
                <token>up</token>
                <token postag="PCT|CC|IN" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|y?our|their|its|his</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>sign</token>
                        <token regexp="yes">ups?|ins|offs</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="sign-up">The <marker>sign up</marker> form is on the right-hand side.</example>
                <example>Lastly, if you watch as you drive home (I know you are looking around anyway) you might see a church with a sign up, etc.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>sign</token>
                        <token regexp="yes">in|off|up</token>
                    </marker>
                    <token regexp="yes">forms?|pages?|process(es)?|box(es)?|sheets?|procedures?|buttons?|links?|periods?|statistics?|metrics?|sites?|campaigns?|lists?|flows?|experience</token>
                </pattern>
                <message>The noun <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="sign-up">The <marker>sign up</marker> form is on the right-hand side.</example>
                <example>He pointed to a sign in front of one of the doors that I couldn’t see from where I was.</example>
                <example>I saw a sign in Berber that read "Airport."</example>
            </rule>
        </rulegroup>
        <rule id="CHECK_BOX_COMPOUND" name="check box (checkbox)">
            <pattern>
                <token regexp="yes">an?|the|my|y?our|their|its|his</token>
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception postag="NN.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>check</token>
                    <token regexp="yes">box(es)?|lists?|mates?</token>
                </marker>
            </pattern>
            <message>The noun <suggestion>check<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="checkbox">Please click on the <marker>check box</marker> to confirm it.</example>
        </rule>
    </category>

    <!-- ====================================================================== -->
    <!-- Grammar -->
    <!-- ====================================================================== -->
    <category id="GRAMMAR" name="Grammar" type="grammar">
        <rule id="WHO_S_NN_VB" name="Who's (whose) idea was that?">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">ask|know|question|wonder</exception>
                </token>
                <token>who</token>
                <token>'s</token>
            </antipattern>
            <pattern>
                <token postag="CC|SENT_START|PCT|VB.*" postag_regexp="yes" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Ww]ho</token>
                    <token>'s</token>
                </marker>
                <token postag="JJ" min="0" chunk_re="B-NP.*" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token regexp="yes">was|am|were|are|is|will|[cw]ould|should|must|can|do|did|does|have|has</token>
                <token min="0">n't</token>
                <token postag="DT|NN.*|JJ.*|PRP.*" postag_regexp="yes" skip="-1" />
                <token>?</token>
            </pattern>
            <message>It appears that the correct determiner here is <suggestion>whose</suggestion>.</message>
            <example correction="whose">I would like to know <marker>who's</marker> car is that?</example>
            <example correction="Whose"><marker>Who's</marker> bag is this for?</example>
        </rule>
        <rule id="THAT_S_WHAT_S" name="That's what's (what)">
            <pattern>
                <token>that</token>
                <token>'s</token>
                <marker>
                    <token>what</token>
                    <token>'s</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VBZ">
                    <exception postag="JJ.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It appears that the verb is not needed</message>
            <suggestion>\3</suggestion>
            <example correction="what">That's <marker>what's</marker> matters!</example>
            <example>That's what's going on.</example>
        </rule>
        <rule id="PROOFED_PROVED" name="It proofed (proved) to be better">
            <pattern>
                <marker>
                    <token>proofed</token>
                </marker>
                <token>to</token>
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <token postag="VB" />
            </pattern>
            <message>Did you mean to write 'proved'?</message>
            <suggestion>proved</suggestion>
            <example correction="proved">It <marker>proofed</marker> to perform better than custom keyboards.</example>
            <example correction="proved">It <marker>proofed</marker> to really be more performant than custom keyboards.</example>
        </rule>
        <rule id="ANY_WAY_TO_VB" name="Is there anyway (any way) to change this?">
            <antipattern>   <!-- calling shippers individually anyway -->
                <token chunk_re=".-VP" />
                <token min="0" chunk_re="B-NP.*" />
                <token min="0" max="2" chunk_re="I-NP.*" />
                <token min="0" chunk_re="E-NP.*" />
                <token min="0" chunk="B-ADVP" />
                <token>anyway</token>
            </antipattern>
            <antipattern>   <!-- stop by the mall anyway -->
                <token chunk_re=".-VP" />
                <token chunk="B-PP" />
                <token chunk_re="B-NP.*" />
                <token min="0" max="2" chunk_re="I-NP.*" />
                <token chunk_re="E-NP.*" />
                <token>anyway</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token skip="-1">anyway</token>
                <token postag="SENT_END"><exception>?</exception></token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token chunk="B-ADJP" />
                <token min="0" chunk="I-ADJP" />
                <token>anyway</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" />
                <token chunk="B-PRT" />
                <token>anyway</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>anyway</token>
                </marker>
                <token>to</token>
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <token postag="VB" chunk_re=".-VP" />
            </pattern>
            <message>Instead of the adverb, did you mean to write 'any way'?</message>
            <suggestion>any way</suggestion>
            <example correction="any way">Is there <marker>anyway</marker> to change this?</example>
            <example correction="Any way"><marker>Anyway</marker> to tell?</example>
            <example correction="any way">I would submit a feature request, but there isn't <marker>anyway</marker> to do that anymore…</example>
            <example correction="any way">I haven't ever heard of <marker>anyway</marker> to interface these two systems together.</example>
            <example>They were planning on calling shippers individually anyway to make them aware of the Needles space.</example>
            <example>I would expect that Sarah Tomalty will attend anyway to make sure we make good on our promise.</example>
            <example>Let me know, b/c I have to stop by the mall anyway to get my favorite mascara, and I just as soon go there at the same time.</example>
            <example>Anyway to answer your question it is customary to an extent.</example>
            <example>The API feature set is likely to be very limited anyway to start with.</example>
            <example>Might need to come by anyway to see what else you have done to it.</example>
        </rule>
        <rulegroup id="HOW_IS_ARE" name="How are (is) your new school?">
            <rule>  <!-- is -->
                <antipattern>
                    <token>is</token>
                    <token chunk="B-NP-plural" />
                    <token min="0" max="2" chunk="I-NP-plural" />
                    <token postag="NN(:UN?)?" postag_regexp="yes" chunk="E-NP-plural" />
                </antipattern>
                <antipattern>
                    <token>is</token>
                    <token postag="CD" />
                    <token regexp="yes">bucks|cents|dollars|minutes|hours</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>how</token>
                    <marker>
                        <token>is</token>
                    </marker>
                    <token chunk="B-NP-plural">
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                        <exception>this</exception>
                    </token>
                </pattern>
                <message>Possible agreement error: Did you mean to write 'are'?</message>
                <suggestion>are</suggestion>
                <example correction="are">How <marker>is</marker> your new friends?</example>
                <example correction="are">How <marker>is</marker> the IDSA negotiations going with these guys?</example>
                <example correction="are">How <marker>is</marker> gold and gems equal though?</example>
                <example correction="are">How much do you relapse and/or how <marker>is</marker> your voices now?</example>
                <example>How is your back these days?</example>
                <example>How is his surname pronounced?</example>
                <example>And how is five bucks going to serve as compensation when you're fired for being late?</example>
                <example>How is Bharjee jee our regards to her.</example>
            </rule>
            <rule>  <!-- are -->
                <antipattern>
                    <token>are</token>
                    <token chunk="B-NP-singular" />
                    <token min="0" max="2" chunk="I-NP-singular" />
                    <token regexp="yes">.*s</token>
                </antipattern>
                <antipattern>
                    <token>are</token>
                    <token chunk="B-NP-singular" />
                    <token min="0" max="2" chunk="I-NP-singular" />
                    <token min="0" chunk="E-NP-singular" />
                    <token regexp="yes">.*'?s</token>
                </antipattern>
                <antipattern>
                    <token skip="3">are</token>
                    <token skip="3" postag="," />
                    <token postag="," />
                </antipattern>
                <antipattern>
                    <token skip="2">are</token>
                    <token>and</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>how</token>
                    <marker>
                        <token>are</token>
                    </marker>
                    <token chunk="B-NP-singular">
                        <exception postag="NNP?S" postag_regexp="yes" />
                        <exception regexp="yes">some|th[eo]se|they|u|we|ye|yo[uy]</exception>
                    </token>
                </pattern>
                <message>Possible agreement error: Did you mean to write 'is'?</message>
                <suggestion>is</suggestion>
                <example correction="is">How <marker>are</marker> your new school?</example>
                <example correction="is">How <marker>are</marker> the fan wired to the switch?</example>
                <example>How are the new dashboard apis coming along?</example>
                <example>How are the arlo camera's ?</example>
                <example>How are Janna, Gina, (sp) and your mom.</example>
                <example>How are mom and dad?</example>
                <example>How are Algerians viewing all this?</example>
            </rule>
        </rulegroup>
        <rulegroup id="IS_POSSIBLE_TO" name="Is (it) possible to ...?">
            <antipattern>
                <token>,</token>
                <token skip="3" />
                <token>,</token>
                <token regexp="yes">is|was</token>
            </antipattern>
            <antipattern><!-- Do you want to find out what is and isn't right? -->
                <token regexp="yes">is|was</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">or|and|&amp;|but</token>
                <token>is</token>
                <token>n't</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">if|whether|as|because|for|now</exception>
                    </token>
                    <marker>
                        <token regexp="yes">is|was</token>
                        <token min="0">n't</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="W.*|IN|EX|JJR|NN.*" postag_regexp="yes" />
                        <exception>not</exception>
                    </token>
                    <token regexp="yes">(in)?correct|wrong|right|(im)?possible|ok(ay)?|fine|done|feasible</token>
                    <token skip="-1" regexp="yes">to|for|that|if|when</token>
                    <token>?</token>
                </pattern>
                <message>It appears that a pronoun is missing.</message>
                <suggestion>\2\3 it</suggestion>
                <example correction="Is it"><marker>Is</marker> possible to use LanguageTool in Word?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">if|whether|as|because|for|now</exception>
                    </token>
                    <marker>
                        <token regexp="yes">is|was</token>
                        <token min="0">n't</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="W.*|IN|EX|JJR|NN.*" postag_regexp="yes" />
                        <exception>not</exception>
                    </token>
                    <token regexp="yes">(in)?correct|wrong|right|(im)?possible|ok(ay)?|fine|done|feasible</token>
                    <token>?</token>
                </pattern>
                <message>It appears that a pronoun is missing.</message>
                <suggestion>\2\3 it</suggestion>
                <example correction="Is it"><marker>Is</marker> possible?</example>
                <example>Do I think in certain situations that inoculating Third World children against malaria or diphtheria, or whatever, is right?</example>
                <example>Is later okay?</example>
                <example>Do you want to find out what is and isn't right?</example>
            </rule>
        </rulegroup>
        <rule id="WHERE_YOU_FROM" name="Where you from?">
            <pattern>
                <token postag="UH|SENT_START|CC|PCT" postag_regexp="yes" />
                <marker>
                    <token>where</token>
                    <token>you</token>
                    <token regexp="yes">at|from</token>
                    <token>?</token>
                </marker>
            </pattern>
            <message>This question appears to be missing a verb.</message>
            <suggestion>\2 are \3 \4\5</suggestion>
            <example correction="Where are you from?"><marker>Where you from?</marker></example>
        </rule>
        <rule id="ADDITIONAL" name="Additional (Additionally)">
            <antipattern>
                <token>thankful</token>
                <token>that</token>
                <token postag="NNP|EX|DT|PRP.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">Additional|Usual|Hopeful|Occasional|Thankful</token>
                </marker>
                <token min="0">,</token>
                <token postag="PRP.*|EX|DT" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the introductory adverb <suggestion>\2ly</suggestion>?</message>
            <example correction="Additionally"><marker>Additional</marker> we will have to check the results.</example>
        </rule>
        <rulegroup id="UNDOS" name="undos (undoes)">
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Uu]ndos|[Rr]edos|dos</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="2" regexp_match="s$" regexp_replace="es" /></suggestion>?</message>
                <example correction="undoes">He <marker>undos</marker> all the changes.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes" chunk="B-VP">[Uu]ndos|[Rr]edos</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="1" regexp_match="s$" regexp_replace="es" /></suggestion>?</message>
                <example correction="undoes">He <marker>undos</marker> all the changes.</example>
            </rule>
        </rulegroup>
        <rule id="SIGN_IN" name="You need to sign-in (sign in) somewhere">
        <!-- blind spot we don't catch yet -->
            <pattern>
                <token chunk_re=".-VP" regexp="yes">(sign|log)-(in|up|off)</token>
            </pattern>
            <message>When 'sign in' is used as a verb, it does not need to be hyphenated.</message>
            <suggestion><match no="1" regexp_match="-" regexp_replace=" " /></suggestion>
            <example correction="sign in">You need to <marker>sign-in</marker> somewhere.</example>
            <example correction="sign in">It seems to me that tribute chance procs more with how many times a day you <marker>sign-in</marker> versus just signing in the one time a day.</example>
            <example correction="sign in">I can't even <marker>sign-in</marker> Wordpress backend.</example>
        </rule>
        <rule id="SINGED_CONTRACT" name="confusion singed/signed">
            <antipattern>
                <token skip="-1" regexp="yes">burn.*|char.*|fires?|flames?|scorch.*|sear.*</token>
                <token>singed</token>
            </antipattern>
            <antipattern>
                <token skip="-1">singed</token>
                <token regexp="yes">burn.*|char.*|fires?|flames?|scorch.*|sear.*</token>
            </antipattern>
            <antipattern>
                <token chunk_re="O">
                    <exception postag="CC" />
                </token>
            </antipattern>
            <pattern>
                <marker>
                    <token>singed</token>
                </marker>
                <token chunk_re="E-NP.*|B-PP|O" />
            </pattern>
            <message>Are you sure you meant to write 'singed' (a synonym for 'burnt'), or did you mean 'signed'?</message>
            <suggestion>signed</suggestion>
            <example correction="signed">Here is a copy of the <marker>singed</marker> contract.</example>
            <example correction="signed">There will be a risk assumption form to be <marker>singed</marker> and turned in by the end of the week.</example>
            <example correction="signed">I believe that Bookout has <marker>singed</marker> with the OU basketball program, but what I don't know is if OU has turned in the papers or not.</example>
            <example>Tom got too close to the fire and singed his beard.</example>
            <example>This was then singed over a gas flame, then bleached and or dyed.</example>
        </rule>
        <rulegroup id="THE_SOME" name="the some cars (some cars)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Tt]he</token>
                        <token regexp="yes" case_sensitive="yes">[Ss]ome</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>There appears to be a superfluous article here.</message>
                <suggestion>\2</suggestion>
                <example correction="some">The URL or <marker>the some</marker> of the parameters are not valid.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Tt]he</token>
                    <token regexp="yes" case_sensitive="yes">[Ss]ome</token>
                </pattern>
                <message>There appears to be a superfluous article here.</message>
                <suggestion>\2</suggestion>
                <suggestion>\1 same</suggestion>
                <example correction="some|the same">I have talked to <marker>the some</marker> applicants.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Tt]he</token>
                    <token case_sensitive="yes">any</token>
                </pattern>
                <message>There appears to be a superfluous article here.</message>
                <suggestion>\2</suggestion>
                <example correction="any">The URL or <marker>the any</marker> of the parameters are not valid.</example>
            </rule>
        </rulegroup>
        <rule id="IT_HAS_WORK_FOR" name="It has work (worked) for"><!-- special case not caught by HAVE_PART_AGREEMENT -->
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">believe|think|hope|doubt|assume|say</exception>
                </token>
                <token regexp="yes" skip="1">it|this|that</token>
                <token>has</token>
            </antipattern>
            <pattern>
                <token regexp="yes">it|this|that</token>
                <token postag="RB" min="0" />
                <token>has</token>
                <token min="0" inflected="yes">not</token>
                <marker>
                    <token>work</token>
                </marker>
                <token>for</token>
            </pattern>
            <message>It appears that the correct verb form here is <suggestion>worked</suggestion> or <suggestion>been working</suggestion>.</message>
            <example correction="worked|been working">This hasn't <marker>work</marker> for me.</example>
        </rule>
        <rule id="THOUSANDS_OF_NN" name="There are thousands of add-on(s) available">
            <antipattern>
                <token>of</token>
                <token chunk="B-NP-singular" />
                <token min="0" chunk="I-NP-singular" />
                <token postag="NN(S|:UN?)" postag_regexp="yes" chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token>of</token>
                <token skip="2" chunk="B-NP-singular" />
                <token regexp="yes">.*s</token>
            </antipattern>
            <pattern>
                <token regexp="yes">dozens|hundreds|thousands|millions|billions</token>
                <token>of</token>
                <marker>
                    <token postag="NN" chunk="B-NP-singular">
                        <exception postag="J.*" postag_regexp="yes" />
                        <exception regexp="yes">baht|kelvin|ringgit|staff</exception>
                    </token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">The noun '<match no="3"/>' seems to be countable. Consider using the plural form: <suggestion><match no="3" postag="NNS" postag_regexp="yes"/></suggestion>.</message>
            <short>Grammatical error</short>
            <example correction="add-ons">There are thousands of <marker>add-on</marker> available.</example>
            <example correction="craftsmen">The only industry in Aurangabad allured hundreds of <marker>craftsman</marker>.</example>
            <example correction="people|persons">Their patented "bioinformatics" technologies could save hundreds of <marker>person</marker>, for whom the drug will be designed to be nearly 100% effective.</example>
            <example>Greenspan is pumping money anywhere from 5 to 20 billions of repo money in the system everyday.</example>
            <example>There are hundreds of vehicle detailing videos on YouTube.</example>
            <example>Our new Outlet Store is stocked with thousands of bargain CDs for as low as 99.</example>
            <example>Bride prices of 50,000 to 300,000 baht have been documented, but bride prices can sometimes run into the tens of millions of baht.</example>
        </rule>
        <rule id="THE_CC" name="the and" default="temp_off">
            <!-- re-enable once v.4.4.1 of the browser add-on is completely rolled out-->
            <antipattern>
                <token>the</token>
                <token />
                <token regexp="yes">has|had|is|was</token>
            </antipattern>
            <antipattern>
                <token skip="3">the</token>
                <token regexp="yes">blocks?|operators?|statements?|quer(y|ies)|conjunctions?|values?|forms?|clauses?|conditions?|words?|terms?</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token />
                <token>/</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token>the</token>
                <token>and</token>
                <token postag="IN" />
                <token>the</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="CC" />
                <token regexp="yes">and|&amp;|or</token>
                <token postag="CC" />
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Tt]he</token>
                </marker>
                <token case_sensitive="yes" regexp="yes">if|since|when|and|or|because|but|although</token>
            </pattern>
            <message>It appears that a noun is missing after "\1".</message>
            <example correction="">Who's <marker>the</marker> and why?</example>
            <example>The once celebrated Matthew Bridge used to cross the Yarmuk at its confluence with the Jordan.</example>
            <example>In cases in which the action in the if clause takes place …</example>
            <example>Note the if block.</example>
            <example>The or operator can be used to set bits in a bit field to 1, by or-ing the field with a constant field with the relevant bits set to 1.</example>
            <example>The Index for a Determination Period shall be the mean of daily official settlement prices for Jet Kerosene located in the table "Product Price Assessments" and published under the and opposite the caption "Jet/Kero 54" as published in Platt's Oilgram Price Report for each day within such Determination Period.</example>
        </rule>
        <rule id="AFFECTS" name="These are some of the affects (effects) we've seen">
            <antipattern>
                <token skip="10" regexp="yes">anger|behavior|emotion|fear|flat(ten)?|grief|heuristic</token>
                <token regexp="yes">affects?</token>
            </antipattern>
            <antipattern>
                <token skip="10" regexp="yes">affects?</token>
                <token regexp="yes">anger|behavior|emotion|fear|flat(ten)?|grief|heuristic</token>
            </antipattern>
            <pattern>
                <token regexp="yes" chunk_re="B-NP.*|O">an?y?|much|no|the</token>
                <marker>
                    <token regexp="yes">affects?
                        <exception regexp="yes" case_sensitive="yes">A.*</exception>
                    </token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2" postag="N.*" postag_regexp="yes">effect</match></suggestion>? '<match no="2" case_conversion="startupper" />' is not commonly used as a noun, unless you are referring to characteristics of an emotional state.</message>
            <example correction="effects">These are some of the <marker>affects</marker> the gaming industry has seen over the past few years.</example>
            <example correction="effect">This is an <marker>affect</marker> that the gaming industry has seen over the past few years.</example>
            <!-- second example already found by confusion pairs, but I want to make sure the singular works -->
            <example>This affects batteryReports, wakeUpNotifications, and the function of association groups.</example>
            <example>The goal I'd like to achive, is to only show released and not yet archived versions in the Affects Version/s Field in JIRA Service Desk Customer Portal.</example>
        </rule>
        <rule id="IT_TIME_TO" name="It (is) time to ...">
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes" min="0">not</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP">
                    <exception inflected="yes" regexp="yes">think|hope|doubt|assume</exception>
                </token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token chunk="B-PP" postag="IN" />
                <token>it</token>
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token>worth</token>
                <token>it</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Ii]t</token>
                    <token min="0" regexp="yes">finally|now</token>
                    <token>time</token>
                </marker>
                <token regexp="yes">to|for</token>
            </pattern>
            <message>It appears that a verb is missing.</message>
            <suggestion>\1's \2 \3</suggestion>
            <example correction="It's time"><marker>It time</marker> to party!</example>
            <example>Is it time to eat?</example>
            <example>Isn't it time for dinner?</example>
        </rule>
        <rulegroup id="HOW_MANY_Q_AGREEMENT" name="How many cards are (is) that?">
            <rule>  <!-- singular this/that -->
                <pattern>
                    <token>how</token>
                    <token>many</token>
                    <token min="0" chunk="I-NP-plural" />
                    <token chunk="E-NP-plural" />
                    <marker>
                        <token regexp="yes">am|are|were</token>
                    </marker>
                    <token regexp="yes" skip="-1">this|that</token>
                    <token>?</token>
                </pattern>
                <message>Possible agreement error: the determiner/pronoun '\6' requires a third-person verb form.</message>
                <suggestion>is</suggestion>
                <suggestion>was</suggestion>
                <example correction="is|was">How many cards <marker>are</marker> that?</example>
            </rule>
            <rule>  <!-- plural these/those -->
                <pattern>
                    <token>how</token>
                    <token>many</token>
                    <token min="0" chunk="I-NP-plural" />
                    <token chunk="E-NP-plural" />
                    <marker>
                        <token postag="VBZ" chunk="B-VP" />
                    </marker>
                    <token regexp="yes" skip="-1">these|those</token>
                    <token>?</token>
                </pattern>
                <message>Possible agreement error: the determiner/pronoun '\6' requires a plural verb form.</message>
                <suggestion><match no="5" postag="VBP" /></suggestion>
                <example correction="do">How many people <marker>does</marker> these changes effect?</example>
            </rule>
        </rulegroup>
        <rule id="ON_THE_LOOK_OUT" name="on the look out (lookout)">
            <pattern>
                <token>on</token>
                <token>the</token>
                <marker>
                    <token>look</token>
                    <token>out</token>
                </marker>
            </pattern>
            <message>In this idiom, <suggestion>lookout</suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/on%20the%20lookout%20for</url>
            <example correction="lookout">She is on the <marker>look out</marker> for cheap clothes.</example>
        </rule>
        <rulegroup id="ARE_WE_HAVE" name="Are we have (Do we have)">
            <short>Possible agreement error</short>
            <antipattern>
                <token inflected="yes">be</token>
                <token min="0">n't</token>
                <token chunk="B-SBAR">that</token>
            </antipattern>
            <antipattern><!-- Was your number lock disabled @philweber? -->
                <token postag="PRP_S.*|NN.*|DT" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="NN.*" postag_regexp="yes" chunk_re=".-VP" /><!-- incorrect chunking -->
                <token postag="RB" min="0" />
                <token postag="VB[GN]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Was your number lock disabled @philweber? -->
                <token postag="PRP_S.*|NN.*|DT" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="NN.*" postag_regexp="yes" chunk_re=".-VP" /><!-- incorrect chunking -->
                <token postag="UNKNOWN|NN.*" postag_regexp="yes" /><!-- incorrect chunking -->
                <token postag="RB" min="0" />
                <token postag="VB[GN]" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>reason</token>
                <token min="0">being</token>
                <token>,</token>
                <token regexp="yes">is|was</token>
            </antipattern>
            <antipattern><!-- Is the query explain plan running at DB or JPA layer? -->
                <token inflected="yes" skip="4">be</token>
                <token postag="VBG" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern><!-- Is the Brackets feature based on the `live-server` Node package, like `atom-live-server` is? -->
                <token inflected="yes" skip="2">be</token>
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token chunk_re="B-VP" />
                <token chunk_re="I-VP" postag="VBN" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token min="0">n't</token>
                <token postag="DT" />
                <token postag="PRP_S.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>being</token>
            </antipattern>
            <antipattern><!-- People who are shy have difficulty in being assertive. -->
                <token chunk_re="E-NP.*" />
                <token min="0">,</token>
                <token regexp="yes">who|which</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token>have</token>
                <token postag="VBN" chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token postag="CC|PCT" postag_regexp="yes" />
                <token>is</token>
                <token regexp="yes">we|they|you</token>
            </antipattern>
            <antipattern><!-- The issue, currently, is ... -->
                <token chunk_re="E-NP.*" />
                <token>,</token>
                <token postag="RB" min="1"  max="3" />
                <token>,</token>
                <token regexp="yes">is|was|are|were</token>
            </antipattern>
            <antipattern><!-- Are you sure don't want to go to Australia? -->
                <token skip="4" inflected="yes">be</token>
                <token>sure</token>
            </antipattern>
            <antipattern><!-- Is it love? -->
                <token regexp="yes">is|was</token>
                <token inflected="yes" min="0">not</token>
                <token regexp="yes">it|this|that</token>
                <token postag="RB" min="0" />
                <token>love</token>
            </antipattern>
            <antipattern><!-- Incorrect chunking: "Is time travel possible?"-->
                <token regexp="yes">is|was|are|were</token>
                <token inflected="yes" min="0">not</token>
                <token chunk_re="B-NP.*" />
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="JJR?" postag_regexp="yes" chunk="B-ADJP" />
            </antipattern>
            <antipattern><!-- Aren't you please going to sit down?  -->
                <token inflected="yes">be</token>
                <token inflected="yes" min="0">not</token>
                <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- Kids who were kids then tell me ... -->
                <token chunk_re="E-NP.*" />
                <token min="0">,</token>
                <token regexp="yes">who|which|where</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern><!-- Kids who were kids then tell me ... -->
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">who|which|where</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern><!-- I've written text which is I hope simple and straightforward ... -->
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
                <token min="0">,</token>
                <token regexp="yes">who|which|where</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern><!-- Are you Google? -->
                <token inflected="yes">be</token>
                <token inflected="yes" min="0">not</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="NNP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">is|was</token>
                <token min="0">n't</token>
                <token regexp="yes">it|this|that</token>
                <token postag="RB" min="0" />
                <token>save</token>
                <token regexp="yes">to|for</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">is|was|are|were</token>
                <token min="0">n't</token>
                <token chunk_re="E-NP.*" regexp="yes">possible|necessary|fine|homosexual</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">which|that</token>
                <token regexp="yes">is|was|are|were</token>
                <token>I</token>
                <token regexp="yes">think|believe|hope|doubt|assume</token>
                <token postag="W.*|DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>plug</token>
                <token regexp="yes">and|&amp;</token>
                <token>play</token>
            </antipattern>
            <antipattern>
                <token>maternity</token>
                <token chunk_re=".-VP">leave</token><!-- chunking error -->
            </antipattern>
            <antipattern>
                <token>time</token>
                <token chunk_re=".-VP">delay</token><!-- chunking error -->
            </antipattern>
            <antipattern>
                <token>guilt</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">is|'s|was</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_out;</token>
                <token>out</token>
                <token chunk_re="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token regexp="yes">are|'re|were</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_out;</token>
                <token>out</token>
                <token chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes">is|'s|was</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_up;</token>
                <token>up</token>
                <token chunk_re="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token regexp="yes">are|'re|were</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_up;</token>
                <token>up</token>
                <token chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes">is|'s|was</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_down;</token>
                <token>down</token>
                <token chunk_re="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token regexp="yes">are|'re|were</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_down;</token>
                <token>down</token>
                <token chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes">is|'s|was</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_in;</token>
                <token>in</token>
                <token chunk_re="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token regexp="yes">are|'re|were</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token regexp="yes">&nouns_with_in;</token>
                <token>in</token>
                <token chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern><!-- Is rice wine the same as normal wine? -->
                <token regexp="yes">is|'s</token>
                <token chunk="E-NP-singular" />
                <token>wine</token>
            </antipattern>
            <antipattern><!-- Is Domain Name a ranking factor -->
                <token regexp="yes">is|'s|was</token>
                <token>domain</token>
                <token>name</token>
                <token postag="DT|IN" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="1">be</token>
                <token chunk_re="E-NP.*" />
                <token>wait</token>
                <token>what</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP">comfort</token><!-- incorrect chunking -->
                <token>food</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>excuse</token>
                <token>enough</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>phone</token>
                <token>call</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>grid</token>
                <token>view</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>case</token>
                <token>review</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>overhand</token>
                <token>serve</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>dream</token>
                <token regexp="yes">chasers?</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>Hilbert</token>
                <token>transform</token>
            </antipattern>
            <antipattern><!-- Was it really attempt number 5? -->
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token regexp="yes">number|no|nr|#</token>
                <token min="0">.</token>
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- run-on sentence -->
                <token>how</token>
                <token>are</token>
                <token>you</token>
                <token>hope</token>
                <token regexp="yes">your?|my</token>
            </antipattern>
            <antipattern><!-- caught by WHOS_NN -->
                <token>who</token>
                <token>'s</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">do|did|are|were</token>
                <token postag="PRP_S.*|DT|PRP\$|NNP" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token postag="W.*" postag_regexp="yes">
                            <exception regexp="yes">that|.+ever</exception>
                        </token>
                        <token spacebefore="no" regexp="yes">'s|'re</token>
                        <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                        <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                        <token postag="RB" min="0">
                            <exception postag="IN|EX" postag_regexp="yes" />
                        </token>
                        <token postag_regexp="yes" chunk_re=".-VP">have</token>
                    </marker>
                </pattern>
                <message>There seems to be an error in these verb forms.</message>
                <suggestion>\1 <match no="2" postag=".*" postag_regexp="yes">do</match>\3 \4 \5 \6</suggestion>
                <suggestion>\1\2 \3 \4 \5 <match no="6" postag="VBG" /></suggestion>
                <example correction="What does Tom have|What's Tom having"><marker>What's Tom have</marker> to do with it?</example>
                <example>What's that you have?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|CC|SENT_START|W.*" postag_regexp="yes">
                        <exception regexp="yes">that|though|now|for|.+ever</exception>
                    </token>
                    <marker>
                        <token inflected="yes">
                            be
                            <exception regexp="yes">'s|'re|be</exception>
                        </token>
                        <token min="0">n't</token>
                        <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                        <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                        <token postag="RB" min="0">
                            <exception postag="IN|EX" postag_regexp="yes" />
                        </token>
                        <token postag_regexp="yes" chunk_re=".-VP">have</token>
                    </marker>
                </pattern>
                <message>There seems to be an error in these verb forms.</message>
                <suggestion><match no="2" postag=".*" postag_regexp="yes">do</match>\3 \4 \5 \6 \7</suggestion>
                <suggestion>\2\3 \4 \5 \6 <match no="7" postag="VBG" /></suggestion>
                <example correction="Do we have|Are we having"><marker>Are we have</marker> to do this now?</example>
                <example>That is all I have</example>
                <example>One problem I have ran into though is that I have a small SSD drive that is used solely for the swap file.</example>
                <example>The way I understand this now is I have two options.</example>
                <example>What is that you have in your right hand?</example>
                <example>People who are shy have difficulty in being assertive.</example>
                <example>The problem now is I have a potentially irritating macro.</example>
                <example>The issue, currently, is we have three different specifications given to us over the past few months.</example>
                <example>Different error: Isn't it have been the situation with weapon for almost a year?</example><!-- TODO -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="W.*" postag_regexp="yes">
                            <exception regexp="yes">that|.+ever</exception>
                        </token>
                        <token spacebefore="no" regexp="yes">'s|'re</token>
                        <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                        <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                        <token postag="RB" min="0">
                            <exception postag="IN|EX" postag_regexp="yes" />
                        </token>
                        <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP">
                            <exception postag="VBN|VBG|MD|JJR?" postag_regexp="yes" />
                            <exception inflected="yes" regexp="yes">be|have</exception>
                            <exception regexp="yes">&uncommon_verbs;|out|please</exception>
                        </token>
                    </marker>
                </pattern>
                <message>There seems to be an error in these verb forms.</message>
                <suggestion>\1 <match no="2" postag=".*" postag_regexp="yes">do</match> \3 \4 \5 \6</suggestion>
                <suggestion>\1\2 \3 \4 \5 <match no="6" postag="VBG" /></suggestion>
                <suggestion>\1\2 \3 \4 \5 <match no="6" postag="VBN" /></suggestion>
                <example correction="How does it feel|How's it feeling|How's it felt"><marker>How's it feel</marker> now?</example>
                <example correction="What does the note say|What's the note saying|What's the note said"><marker>What's the note say</marker>?</example>
                <example>Then what is this I wonder?</example>
                <example>Who's this I see coming?</example>
                <example>What's your maternity leave policy?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|CC|SENT_START|W.*" postag_regexp="yes">
                        <exception regexp="yes">that|though|now|for|.+ever</exception>
                    </token>
                    <marker>
                        <token inflected="yes">
                            be
                            <exception regexp="yes">'s|'re|be</exception>
                        </token>
                        <token min="0">n't</token>
                        <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                        <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                        <token postag="RB" min="0">
                            <exception postag="IN|EX" postag_regexp="yes" />
                        </token>
                        <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP">
                            <exception postag="VBN|VBG|MD|JJR?" postag_regexp="yes" />
                            <exception inflected="yes" regexp="yes">be|have</exception>
                            <exception regexp="yes">&uncommon_verbs;|out|please|log</exception>
                            <exception scope="next">'s</exception>
                        </token>
                    </marker>
                </pattern>
                <message>There seems to be an error in these verb forms.</message>
                <suggestion><match no="2" postag=".*" postag_regexp="yes">do</match>\3 \4 \5 \6 \7</suggestion>
                <suggestion>\2\3 \4 \5 \6 <match no="7" postag="VBG" /></suggestion>
                <suggestion>\2\3 \4 \5 \6 <match no="7" postag="VBN" /></suggestion>
                <example correction="Do I finally go|Am I finally going|Am I finally gone"><marker>Am I finally go</marker> home?</example>
                <example correction="does it legally authorize|is it legally authorizing|is it legally authorized">Which leads to the question: is it technically feasible, and <marker>is it legally authorize</marker>?</example>
                <example>Am I correct in saying the new ones are 3rd generation?</example>
                <example>Just a note, however, is that I've had supported z-wave devices fail for similar reasons (lack of power).</example>
                <example>Was your number lock disabled @philweber?</example>
                <example>Why is the ignore config not working?</example>
                <example>Is @reiner fix released already?</example>
                <example>One problem I have ran into though is that I have a small SSD drive that is used solely for the swap file.</example>
                <example>Why is the instrumentation transform call triggering additional lookup work?</example>
                <example>Is it only Safari that isolates cookies in private mode by default?</example>
                <example>What I'm trying to say here, is that we need to prioritize the kinds of discourse that will empower the culture and minimize negativity.</example>
                <example>Is the date range fixed or can it be adjusted?</example>
                <example>Is the query explain plan running at DB or JPA layer?</example>
                <example>Is the Brackets feature based on the `live-server` Node package, like `atom-live-server` is?</example>
                <example>Is you question perhaps related to this one?</example>
                <example>Are my clothes already dry?</example>
                <example>Are you sure don't want to go to Australia?</example>
                <example>Be patient please.</example>
                <example>Is it not love that builds, connects, and creates in the same manner as hate destroys?</example>
                <example>Is it out?</example>
                <example>Is time travel possible?</example>
                <example>Is it love?</example>
                <example>Where is your favorite make out spot?</example>
                <example>What is Synthetics monitor doing differently?</example>
                <example>I've written text which is I hope simple and straightfoward</example>
                <example>Were you out?</example>
                <example>If so, are they literally plug and play?</example>
                <example>they will have their tops aligned, which is I think what you wanted.</example>
                <example>Was it really love?</example>
                <example>Are your lips dry?</example>
                <example>Teb, can you have whoever is responsible confirm for me what TW's last settled equity rate is.</example>
                <example>Why are you out at this hour?</example>
                <example>Where is my seat please?</example>
                <example>Is rice wine the same as normal wine?</example>
                <example>Is Domain Name a ranking factor?</example>
                <example>Aren't you please going to sit down?</example>
                <example>“Kids who were kids then tell me how it was to be walking to school and out of the clouds came a parachute with candy bars that almost hit them on the head.”</example>
                <example>Is it comfort food for you?</example>
                <example>Newbie here, is the event log on the client servers?</example>
                <example>Was it really attempt number five?</example>
            </rule>
        </rulegroup>
        <rulegroup id="THERE_IS_A_LOT_OF" name="there is (are) a lot of">
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">t?here</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" chunk="E-NP-plural">trousers|shorts|jeans|knickers|.*gloves|.*shoes|.*eyes|earrings|airpods|goggles|(ear|head)phones|.*glasses|scissors|.*cuffs</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here</token>
                        <token postag="RB" min="0" />
                        <token regexp="yes">'s|is</token>
                    </marker>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|tons|numbers?|bunch|plenty|handful|couple|many|some|few</token>
                    <token min="0">of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Consider using the plural verb form for the plural noun "\9".</message>
                <suggestion>\1 \2 are</suggestion>
                <example correction="There really are"><marker>There really is</marker> a lot of similar items between the 2 products</example>
                <example>There is a pair of scissors on the desk.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here</token>
                        <token postag="RB" min="0" />
                        <token regexp="yes">'s|is</token>
                    </marker>
                    <token postag="RB">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|tons|numbers?|bunch|plenty|handful|couple|many|some|few</token>
                    <token min="0">of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Consider using the plural verb form for the plural noun "\10".</message>
                <suggestion>\1 \2 are</suggestion>
                <example correction="There really are"><marker>There really is</marker> not a lot of similar items between the 2 products</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here</token>
                        <token postag="RB" min="0" />
                        <token>was</token>
                    </marker>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|tons|numbers?|bunch|plenty|handful|couple|many|some|few</token>
                    <token min="0">of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Consider using the plural verb form for the plural noun "\9".</message>
                <suggestion>\1 \2 were</suggestion>
                <example correction="There really were"><marker>There really was</marker> a lot of similar items between the 2 products</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here</token>
                        <token postag="RB" min="0" />
                        <token>was</token>
                    </marker>
                    <token postag="RB">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|tons|numbers?|bunch|plenty|handful|couple|many|some|few</token>
                    <token min="0">of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Consider using the plural verb form for the plural noun "\10".</message>
                <suggestion>\1 \2 were</suggestion>
                <example correction="There really were"><marker>There really was</marker> not a lot of similar items between the 2 products</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here</token>
                        <token postag="RB" min="0" />
                        <token>has</token>
                    </marker>
                    <token>been</token>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|tons|numbers?|bunch|plenty|handful|couple|many|some|few</token>
                    <token min="0">of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Consider using the plural verb form for the plural noun "\10".</message>
                <suggestion>\1 \2 have</suggestion>
                <example correction="There really have"><marker>There really has</marker> been a lot of similar items between the 2 products</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here</token>
                        <token postag="RB" min="0" />
                        <token>has</token>
                    </marker>
                    <token postag="RB">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <token>been</token>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|tons|numbers?|bunch|plenty|handful|couple|many|some|few</token>
                    <token min="0">of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Consider using the correct verb form for the plural noun "\11".</message>
                <suggestion>\1 \2 have</suggestion>
                <example correction="There really have"><marker>There really has</marker> not been a lot of similar items between the 2 products</example>
            </rule>
        </rulegroup>
        <rulegroup id="THIS_ALL" name="this (these) all" default="temp_off">
            <!-- TODO: change "this all" to "all this" -->
            <rule>
                <antipattern>
                    <token regexp="yes">is|was</token>
                    <token regexp="yes" min="0">n't|not</token>
                    <token>this</token>
                </antipattern>
                <pattern>
                    <token postag="IN|TO|VB.*" postag_regexp="yes" chunk_re=".-(PP|VP)" />
                    <marker>
                        <token>this</token>
                        <token>all</token>
                    </marker>
                    <token postag="W.*|CC|PCT" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>these \3</suggestion>?</message>
                <example correction="these all">We tested <marker>this all</marker> and they worked for us.</example>
                <example>Is this all?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>this</token>
                        <token>all</token>
                    </marker>
                    <token regexp="yes">were|are</token>
                </pattern>
                <message>Did you mean <suggestion>these \3</suggestion>?</message>
                <example correction="These all"><marker>This all</marker> were attending the event.</example>
            </rule>
        </rulegroup>
        <rule id="AS_DISCUSS" name="as discuss (discussed)">
            <pattern>
                <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                <token>as</token>
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <marker>
                    <token regexp="yes">discuss?</token>
                </marker>
                <token min="0">before</token>
                <token postag="IN|DT|PRP.*|NNP|EX|PCT" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>discussed</suggestion>?</message>
            <example correction="discussed">As <marker>discuss</marker> we are not happy with this solution.</example>
        </rule>
        <rule id="AS_SAD" name="as sad (said)">
            <antipattern>
                <token>sad</token>
                <token>as</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                <token>as</token>
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <marker>
                    <token regexp="yes">sad|sayed</token>
                </marker>
                <token min="0">before</token>
                <token postag="DT|PRP.*|NNP|EX|PCT" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>said</suggestion> (past tense of "say")?</message>
            <example correction="said">As <marker>sad</marker> we are not happy with this solution.</example>
        </rule>
        <rule id="AS_MENTION" name="as mention (mentioned)">
            <pattern>
                <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                <token>as</token>
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <marker>
                    <token>mention</token>
                </marker>
                <token min="0">before</token>
                <token postag="DT|PRP.*|NNP|EX|PCT" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>mentioned</suggestion> (past tense of "mention")?</message>
            <example correction="mentioned">As <marker>mention</marker> we are not happy with this solution.</example>
        </rule>
        <rulegroup id="UNKNOWN_HAVE_ITS" name="have its (has its/have their)">
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">and|&amp;|or|for</exception>
                    </token>
                    <token postag="UNKNOWN" chunk_re="E-NP.*" regexp="yes" case_sensitive="yes">
                        [A-Z].*
                        <exception regexp="yes">.+s</exception>
                    </token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP">
                            <exception postag="VB[DZNG]" postag_regexp="yes" />
                        </token>
                        <token case_sensitive="yes">its</token>
                    </marker>
                    <token chunk_re="[EI]-NP.*" />
                </pattern>
                <message>Please check if the verb form or is correct.</message>
                <suggestion><match no="3" postag="VBZ" /> \4</suggestion>
                <suggestion>\3 their</suggestion>
                <example correction="has its|have their">Since Xyz <marker>have its</marker> new product, ....</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">and|&amp;|or|for</exception>
                    </token>
                    <token postag="UNKNOWN" chunk_re="E-NP.*" regexp="yes" case_sensitive="yes">
                        [A-Z].*
                        <exception regexp="yes">.+s</exception>
                    </token>
                    <marker>
                        <token>have</token>
                        <token postag="VBN" chunk_re=".-VP" />
                        <token case_sensitive="yes">its</token>
                    </marker>
                    <token chunk_re="[EI]-NP.*" />
                </pattern>
                <message>Please check if the verb form or is correct.</message>
                <suggestion><match no="3" postag="VBZ" /> \4 \5</suggestion>
                <suggestion>\3 \4 their</suggestion>
                <example correction="has released its|have released their">Since Xyz <marker>have released its</marker> new product, ....</example>
            </rule>
        </rulegroup>
        <rulegroup id="I_AM_VB" name="I am (I) + VERB BASE">
            <!-- TODO: 
                * We are go there
                * He is go to college
                * Tom is go to college
                * I am here
            -->
            <short>Possible agreement error</short>
            <antipattern><!-- #1350 I am overcome by -->
                <token regexp="yes">am|'m</token>
                <token>overcome</token>
                <token regexp="yes">by|,|\.|!</token>
            </antipattern>
            <antipattern><!-- So that "I'm form Germany" can be matched by confusion set -->
                <token case_sensitive="yes">I</token>
                <token regexp="yes">am|'m</token>
                <token>form</token>
            </antipattern>
            <antipattern><!-- www.merriam-webster.com/dictionary/best%20friends -->
                <token>best</token>
                <token regexp="yes">friends?</token>
            </antipattern>
            <antipattern><!-- RSVP'ing -->
                <token postag="VB" />
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">e?d|ing|n</token>
            </antipattern>
            <antipattern>
                <token>brand</token>
                <token>new</token>
            </antipattern>
            <antipattern><!-- I'm Moo Ching -->
                <token case_sensitive="yes" regexp="yes">am|'m</token>
                <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
                <token postag="UNKNOWN|NNP" postag_regexp="yes" case_sensitive="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token regexp="yes">doctor|nurse|vary|jack|don</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token />
                <token>'s</token>
            </antipattern>
            <antipattern><!-- I am Sue -->
                <token inflected="yes">be</token>
                <token postag="NNP" />
            </antipattern>
            <antipattern><!-- I'm use to it -->
                <token inflected="yes">be</token>
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>gender</token>
                <token>queer</token>
            </antipattern>
            &multi_word_verbs;
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token>am</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">become|come</token>
                </pattern>
                <message>Did you mean <suggestion>\1 have \3 \4</suggestion>?</message>
                <example correction="I have become"><marker>I am become</marker> death.</example> 
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token>'m</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">become|come</token>
                </pattern>
                <message>Did you mean <suggestion>\1've \3 \4</suggestion>?</message>
                <example correction="I've become"><marker>I'm become</marker> death.</example> 
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token>am</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">surprise|disappoint|depress</token>
                </pattern>
                <message>Did you mean <suggestion>\1 \2 \3 <match no="4" postag="VBN" /></suggestion>?</message>
                <example correction="I am surprised"><marker>I am surprise</marker> that it worked.</example> 
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token>'m</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">surprise|disappoint|depress</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2 \3 <match no="4" postag="VBN" /></suggestion>?</message>
                <example correction="I'm surprised"><marker>I'm surprise</marker> that it worked.</example> 
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token>'m</token>
                    <token postag="VB">go</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2 going</suggestion>?</message>
                <example correction="I'm going"><marker>I'm go</marker> to have a good time.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token>am</token>
                    <token postag="VB">go</token>
                </pattern>
                <message>Did you mean <suggestion>\1 am going</suggestion>?</message>
                <example correction="I am going"><marker>I am go</marker> to have a good time.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">I</token>
                        <token>'m</token>
                        <token postag="VB">have</token>
                    </marker>
                    <token chunk_re=".-NP.*" />
                </pattern>
                <message>Did you mean <suggestion>\1\2 having</suggestion> or <suggestion>\1 have</suggestion>?</message>
                <example correction="I'm having|I have"><marker>I'm have</marker> a good time.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">I</token>
                        <token>am</token>
                        <token postag="VB">have</token>
                    </marker>
                    <token chunk_re=".-NP.*" />
                </pattern>
                <message>Did you mean <suggestion>\1 \2 having</suggestion> or <suggestion>\1 have</suggestion>?</message>
                <example correction="I am having|I have"><marker>I am have</marker> a good time.</example>
            </rule>
            <rule>
                <antipattern><!-- When I'm queen -->
                    <token regexp="yes">am|'m</token>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- #1350 I am fan of -->
                    <token regexp="yes">am|'m</token>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag_regexp="yes" postag="IN|PCT"/>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes">I</token>
                    <token regexp="yes">am|'m</token>
                    <token postag="VB">
                        <exception postag_regexp="yes" postag="IN|JJR?|R(B|P)" regexp="yes">(?!(go|start)$).+</exception><!-- "go" is RP -->
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 \3</suggestion> or <suggestion>\1 <match no="3" postag="VBD"/></suggestion>?</message>
                <example correction="I know|I knew"><marker>I am know</marker> that English is not easy.</example>
                <example correction="I go|I went"><marker>I am go</marker> there.</example>
                <example correction="I come|I came"><marker>I am come</marker> to offer what service may be in my power.</example><!-- "I have come... " is also possible, but keep the rule simple. -->
                <example correction="I overcome|I overcame">Usually, <marker>I am overcome</marker> all the trials that life brings.</example>
                <example correction="I know|I knew"><marker>I'm know</marker> that English is not easy.</example>
                <example correction="I know|I knew"><marker>I'm know</marker> largest problems are with grammar.</example>
                <example correction="I find|I found"><marker>I'm find</marker> macro focus stacking to be quite a frustratingly inexact business.</example>
                <example><marker>I know</marker> that English is not easy.</example>
                <example>Even though he apologized, <marker>I'm still</marker> furious.</example>
                <example><marker>I'm off</marker> beer.</example>
                <example>When I'm queen, I will do that.</example>
                <example>I'm best friends with Tom.</example>
                <example>I am brand new here.</example>
                <example><marker>I know</marker> that English is not easy.</example>
                <example>I feel that <marker>I am free</marker>.</example>
                <example>I am fan of football.</example>
                <example>When I am queen, you will be king.</example>
                <example>I am brand new here.</example>
                <example>I'm Moo Ching</example>
                <example>I'm Sue.</example>
                <example>I am overcome by the truth.</example><!-- Compare: I am overwhelmed by the truth. I did not find 'overcome' as an adjective in the dictionaries. -->
            </rule>
        </rulegroup>
        <rule id="THIS_IS_HAVE" name="This is has (has/is)">
            <antipattern>
                <token regexp="yes">and|&amp;|or|,</token>
                <token regexp="yes">that|this|you|it</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                <token regexp="yes">s?he|it|this|that|you|we|they</token>
                <marker>
                    <token regexp="yes">is|was|were|are</token>
                    <token regexp="yes">have|has|had|do|did|can|will|would|should</token>
                </marker>
            </pattern>
            <message>It appears that only one verb is needed.</message>
            <suggestion>\3</suggestion>
            <suggestion>\4</suggestion>
            <example correction="is|have">This <marker>is have</marker> been awful!</example>
            <example correction="is|can">This <marker>is can</marker> be awful!</example>
        </rule>
        <rule id="IF_YOU_FURTHER_QUESTIONS" name="if you (have) further questions">
            <antipattern>
                <token regexp="yes">you|they|I</token>
                <token postag="VBP" />
            </antipattern>
            <pattern>
                <token regexp="yes">if|when</token>
                <marker>
                    <token regexp="yes">you|they|I</token>
                </marker>
                <token regexp="yes" min="0">further|more|additional</token>
                <token regexp="yes">questions|concerns|clarification|advice|queries|comments|information|explanation|assistance|help</token>
            </pattern>
            <message>It appears that a verb is missing.</message>
            <suggestion>\2 have</suggestion>
            <suggestion>\2 need</suggestion>
            <example correction="you have|you need">If <marker>you</marker> further questions, please let me know.</example>
        </rule>
        <rule id="WHAT_IS_REASON" name="What is (the) reason?">
            <antipattern>
                <token>reason</token>
                <token>enough</token>
            </antipattern>
            <antipattern>
                <token postag="JJ" />
                <token>motivation</token>
            </antipattern>
            <pattern>
                <token regexp="yes">what|which</token>
                <token regexp="yes">is|was|'s</token>
                <marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" chunk_re="B-NP.*">
                        <exception postag="CD" />
                    </token>
                    <token regexp="yes" chunk_re="E-NP.*">reason|city|country|town|time|step|cause|price|option|cost|solution|answer|weather|motivation|goal|intention|meaning|name|question|problem</token>
                </marker>
                <token postag="PCT|IN|TO|RB|DT|W.*" postag_regexp="yes" />
            </pattern>
            <message>It appears that an article is missing.</message>
            <suggestion>the \3 \4</suggestion>
            <suggestion>a \3 \4</suggestion>
            <example correction="the reason|a reason">What is <marker>reason</marker> that it doesn't work anymore?</example>
            <example correction="the solution|a solution">Can you share what was <marker>solution</marker> in this case?</example>
            <example correction="the last price|a last price">What is <marker>last price</marker>?</example>
            <example correction="the problem|a problem">What is <marker>problem</marker>?</example>
            <example>What is wrong?</example>
            <example>What is one reason to stop smoking?</example>
            <example>What is intrinsic motivation?</example>
            <example>Which is one reason why we lose besides being a minority.</example>
        </rule>
        <rulegroup id="NNS_THAT_VBZ" name="Words that doesn't (don't)">
            <short>Possible agreement error</short>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token>these</token>
                <token>days</token>
            </antipattern>
            <antipattern>
                <token>some</token>
                <token>times</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="JJ.*|DT|PRP\$|NN:UN?|NNP?" postag_regexp="yes" min="0" chunk_re="B-NP.*" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                        <exception regexp="yes">thanks|yikes</exception>
                    </token>
                    <token>that</token>
                    <marker>
                        <token postag="VBZ" chunk_re=".-VP">
                            <exception>'s</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The plural noun "\3" expects the verb form <suggestion><match no="5" postag="VBP" /></suggestion>.</message>
                <example correction="do">Words that <marker>does</marker>n't exist.</example>
                <example>These days that is becoming a rare find.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">t?here</token>
                    <token regexp="yes">are|were</token>
                    <token postag="JJ.*|DT|PRP\$|NN:UN?|NNP?" postag_regexp="yes" min="0" chunk_re="B-NP.*" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                        <exception regexp="yes">thanks|yikes</exception>
                    </token>
                    <token>that</token>
                    <marker>
                        <token postag="VBZ" chunk_re=".-VP">
                            <exception>'s</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The plural noun "\4" expects the verb form <suggestion><match no="6" postag="VBP" /></suggestion>.</message>
                <example correction="do">There are many words that <marker>does</marker>n't exist.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DID_YOU_HAVE_VBN" name="Did you have entered (Have you entered|Did you enter) your PIN?">
            <rule>  <!-- without 'been' -->
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception>as</exception>
                    </token>
                    <marker>
                        <token>did</token>
                        <token chunk_re="B-NP.*" />
                        <token min="0" chunk_re="I-NP.*" />
                        <token min="0" chunk_re="E-NP.*" />
                        <token inflected="yes" chunk="B-VP">have</token>
                        <token postag="VBN" chunk="I-VP">
                            <exception>been</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean to use the past perfect tense, or the simple past?</message>
                <suggestion>\6 \3 \4 \5 \7</suggestion>                             <!-- have you entered -->
                <suggestion>\2 \3 \4 \5 <match no="7" postag="VB" /></suggestion>   <!-- did you enter -->
                <example correction="Have you entered|Did you enter"><marker>Did you have entered</marker> your PIN?</example>
                <example correction="Has your brother done|Did your brother do"><marker>Did your brother has done</marker> his homework yet?</example>
                <example correction="Has your little brother done|Did your little brother do"><marker>Did your little brother has done</marker> his homework yet?</example>
                <example>Paulus refused to allow an attack planned for 30 April, until he had studied the situation and on 29 April, allowed the attack to go ahead, as did Gariboldi who had arrived on 28 April.</example>
            </rule>
            <rule>  <!-- 'been' -->
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception>as</exception>
                    </token>
                    <marker>
                        <token>did</token>
                        <token chunk_re="B-NP.*" />
                        <token min="0" chunk_re="I-NP.*" />
                        <token min="0" chunk_re="E-NP.*" />
                        <token inflected="yes" chunk="B-VP">have</token>
                        <token>been</token>
                    </marker>
                </pattern>
                <message>Did you mean to use the past perfect tense here?</message>
                <suggestion>\6 \3 \4 \5 \7</suggestion>
                <example correction="Have you been"><marker>Did you have been</marker> upset with me lately?</example>
                <example correction="Has the dog been"><marker>Did the dog has been</marker> fed yet?</example>
                <example correction="Has the little one been"><marker>Did the little one has been</marker> fed yet?</example>
            </rule>
         </rulegroup>
        <rulegroup id="CC_NNP_VBP" name="Subject-verb agreement error after conjunction">
            <!-- TODO: CC_NNPS_VBZ -->
            <!-- TODO: SENT_START_RB_PCT_NNP_VB -->
            <short>Possible agreement error</short>
            <antipattern><!-- Incorrect chunking: "As US supply declines ..."-->
                <token postag="NNP" />
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token postag="NNP|PRP_S3S." postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token regexp="yes" postag="VBP">am|please|will|can|jazz|school|ok|&uncommon_verbs;</token>
            </antipattern>
            <antipattern><!-- Incorrect chunking: "Since Magnolia bark extract is a liquid ..."" -->
                <token postag="NNP" />
                <token postag="NN:UN?|NN" postag_regexp="yes" chunk_re=".-VP">
                    <exception inflected="yes" regexp="yes">have|do|be|get</exception>
                </token>
                <token postag="NN:UN?|NN" postag_regexp="yes" chunk_re=".-VP" />
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- And God forgive me, -->
                <token>God</token>
                <token>forgive</token>
                <token postag="PRP_O.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">IT</token>
                <token>support</token>
            </antipattern>
            &multi_word_verbs;
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="CC" case_sensitive="yes" regexp="yes">
                        [A-Z].*
                        <exception>For</exception>
                    </token>
                    <token postag="NNP|PRP_S3S." postag_regexp="yes">
                        <exception postag="NNP?S|CD" postag_regexp="yes" />
                        <exception>Also</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="VB.*|IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VBP" chunk_re=".-VP">
                            <exception postag="VBD" />
                        </token>
                    </marker>
                </pattern>
                <message>It appears that the verb form is incorrect.</message>
                <suggestion><match no="5" postag="VBZ" /></suggestion>
                <suggestion><match no="5" postag="VBD" /></suggestion>
                <example correction="shows|showed">As Christopher <marker>show</marker> us, we have no other options.</example>
                <example correction="recognizes|recognized">Once Christopher <marker>recognize</marker> this, please inform me.</example>
                <example correction="makes|made">Plus it <marker>make</marker> me feel like I'm doing part of the work.</example>
                <example>Besides Thucydides see Plutarch's Nicias and Diod.</example>
                <example>Within Dublin are the various Phoenix Park streams on the left bank.</example>
                <example>AT 5 AM.</example>
                <example>And Also Thank You Everyone Else for Responding!</example>
                <example>For Z-Wave try:</example>
                <example>As US supply declines and demand grows, current high...</example>
                <example>By Enron Please sign up, via email to Josie Jarnagin, by Tuesday, November 6, 2001.</example>
                <example>But they're going to be around in four years.</example>
                <example>But you're going to be around in four years.</example>
                <example>If it OK, proceed to the final version for signature.</example><!-- should be "its" -->
                <example>Since Magnolia bark extract is a liquid ...</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token case_sensitive="yes">Before</token><!-- TODO: why is "after" tagged as CC but "before" not? -->
                    <token postag="NNP|PRP_S3S." postag_regexp="yes">
                        <exception postag="NNP?S|CD" postag_regexp="yes" />
                        <exception>Also</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="VB.*|IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VBP" chunk_re=".-VP">
                            <exception postag="VBD" />
                        </token>
                    </marker>
                </pattern>
                <message>It appears that the verb form is incorrect.</message>
                <suggestion><match no="5" postag="VBZ" /></suggestion>
                <suggestion><match no="5" postag="VBD" /></suggestion>
                <example correction="goes|went">Before Christopher <marker>go</marker> in the pool, we should put water in it.</example>
            </rule>
            <rule><!-- without B-VP chunk -->
                <pattern>
                    <token postag="SENT_START" />
                    <token case_sensitive="yes" regexp="yes">If|When|While|Whereas|After|Before|Once|Until|As|But|Because|Since|Although</token>
                    <token postag="NNP|PRP_S3S." postag_regexp="yes">
                        <exception postag="NNP?S|CD" postag_regexp="yes" />
                        <exception>Also</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="VB.*|IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VBP" regexp="yes" case_sensitive="yes">
                            [a-z].*
                            <exception postag="VBD" />
                        </token>
                    </marker>
                    <token postag="DT|IN|PRP_O.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that the verb form is incorrect.</message>
                <suggestion><match no="5" postag="VBZ" /></suggestion>
                <suggestion><match no="5" postag="VBD" /></suggestion>
                <example correction="jumps|jumped">Before Christopher <marker>jump</marker> in the pool, we should put water in it.</example>
            </rule>
        </rulegroup>
        <rule id="DOB_T" name="dob't">
            <pattern>
                <token regexp="yes">do[mbhj]</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Did you mean <suggestion>don\2\3</suggestion>?</message>
            <example correction="don't">Please <marker>dob't</marker> hesitate to contact us if you have questions.</example>
        </rule>
        <rule id="FOR_INCONVENIENCE" name="for (the) inconvenience">
            <pattern>
                <token regexp="yes" inflected="yes">sorry|apology|apologi[sz]e</token>
                <token>for</token>
                <marker>
                    <token chunk_re="E-NP.*" regexp="yes">inconveniences?</token>
                </marker>
            </pattern>
            <message>It appears that an article is missing.</message>
            <suggestion>the <match no="3" regexp_match="(?i)s" regexp_replace="" /></suggestion>
            <example correction="the inconvenience">Sorry for <marker>inconvenience</marker>.</example>
        </rule>
        <rule id="HELP_NP_VBZ" name="this will help him sleeps (sleep)">
            <antipattern><!-- please help the dog is loose -->
                <token regexp="yes">pl[sz]|please|kindly</token>
                <token min="0">,</token>
                <token>help</token>
            </antipattern>
            <antipattern>
                <token postag="WP|W?DT" postag_regexp="yes"/>
                <token>help</token>
            </antipattern>
            <antipattern><!-- It may help spot US biases -->
                <token skip="-1" chunk_re="[BI]-VP" postag="V.*" postag_regexp="yes" inflected="yes">help</token>
                <token skip="-1" postag="VB"/>
                <token postag="VBZ"/>
            </antipattern>
            <antipattern>
                <token postag="VBN|JJ" postag_regexp="yes"/>
                <token>to</token>
                <token regexp="yes">help(ing)?</token>
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP.*"/>
                <token postag="WP"/>
                <token min="0" max="-1" chunk_re=".-VP"><exception regexp="yes">help.*</exception></token>
                <token>help</token>
            </antipattern>
            <antipattern><!-- none of us can help the things life has done to us -->
                <token regexp="yes">can|could</token>
                <token skip="-1">help</token>
                <token chunk_re=".-NP.*" postag="N.*|WP|WDT|UNKNOWN" postag_regexp="yes"/>
                <token chunk_re=".-NP.*" postag="N.*|UNKNOWN|PRP_S.*" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- This helps it seems it works now -->
                <token postag="SENT_START"/>
                <token chunk_re=".-NP.*"/>
                <token chunk_re="[BI]-VP" postag="V.*" postag_regexp="yes" inflected="yes">help</token>
            </antipattern>
            <antipattern><!-- If he can do something to help he needs to do that -->
                <token postag="PRP_S.*" postag_regexp="yes"><exception postag="PRP_O.*" postag_regexp="yes"/></token>
                <token chunk_re="..VP" postag="VBZ"/>
            </antipattern>
            <pattern>
                <token chunk_re="[BI]-VP" postag="V.[^G]*" postag_regexp="yes" inflected="yes">help
                        <exception scope="previous">it</exception>
                        <exception scope="previous" postag="SENT_START"/>
                        <exception scope="next">those</exception>
                </token>
                <token max="3" chunk_re=".-NP.*"/>
                <marker>
                <token postag="VBZ" chunk_re="[BI]-VP">
                    <exception inflected="yes" regexp="yes">be|help|seem|mean|matter</exception>
                    <exception scope="previous" postag="WP"/>
                    <exception scope="previous" regexp="yes">it|that</exception>
                    </token>
                </marker>
            </pattern>
            <message>In this case, the verb should be in its base form.</message>
            <suggestion><match no="3" postag="VB"/></suggestion>
            <example correction="sleep">This will help your son <marker>sleeps</marker> better.</example>
            <example correction="direct">This might help you <marker>directs</marker> the conversation to the desired topics.</example>
            <example>Give him whatever help he needs.</example>
            <example>I might be able to help spot US biases.</example>
            <example>The variety of options that might actually help them includes water pumps and financial aid.</example>
            <example>Home remedies that may help JIA includes getting regular exercises to increase muscle strength and joint flexibility.</example>
            <example>None of us can help the things life has done to us.</example>
            <example>None of us can help what life has done to us.</example>
            <example>None of us can help what he has done.</example>
            <example>None of us can help the things he has done.</example>
            <example>Rebuilding helps it seems to work now.</example>
            <example>If he can do something to help he needs to do it.</example>
            <example>To help the children means to help the world.</example>
            <example>Tell me what helping the world means to you.</example>
        </rule>
        <rulegroup id="SV_AGREEMENT_CLAUSES_SINGULAR" name="SV agreement, subjects containing clauses - sing." default="off">
            <antipattern>
                <token postag="SENT_START" />
                <token postag="JJ" />
                <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>matter</token>
                <token>which</token>
            </antipattern>
            <antipattern>
                <token>connect</token>
                <token>app</token>
            </antipattern>
            <rule>  <!-- clauses with predicate only + adverbs -->
                &SV_agreement_clauses_subrule_1;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-singular">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">I|.*s|some|th[eo]se|they|we|you|&gt;</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-singular">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" chunk="E-NP-singular">
                        <exception regexp="yes">I|.*s|some|th[eo]se|they|we|you|&gt;</exception>
                    </token>
                    <token regexp="yes">that|which|who</token>
                    <token max="3" chunk_re=".-VP">
                        <exception regexp="yes">.*ly|t?here|to</exception>
                    </token>
                    <token max="2" postag="RB">
                        <exception>please</exception>
                    </token>
                    <marker>
                        <token postag="VBP" chunk_re=".-VP">
                            <exception postag="VB[DZ]" postag_regexp="yes" />
                            <exception inflected="yes">be</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\8' does not seem to match the subject.</message>
                <suggestion><match no="8" postag="VBZ" /></suggestion>
                <suggestion><match no="8" postag="VBD" /></suggestion>
                <example correction="annoys|annoyed">The bald lady who talks loudly seriously <marker>annoy</marker> me.</example>
                <example correction="frustrates|frustrated">The microphone that didn't work really <marker>frustrate</marker> the new team member.</example>
                <example correction="receives|received">He who works quickly <marker>receive</marker> the prize.</example>
                <example correction="deserves|deserved">The student who won really <marker>deserve</marker> a scholarship.</example>
                <example correction="deserves|deserved">The student who might win really <marker>deserve</marker> a scholarship.</example>
                <example correction="tries|tried">Anybody who fails usually <marker>try</marker> again.</example>
                <example correction="passes|passed">Anybody who doesn't fail usually <marker>pass</marker> the next test.</example>
                <example>Hope that helps clarify further.</example>
                <example>Let me clarify that last sentence for those who don't understand.</example>
                <example>I need Macro that move file every 30 files.</example>
                <example>Only those who change stay true to themselves.</example>
                <example>Co-workers who don't do their fair share.</example>
                <example>I don't believe it's Infinity Plus 2 that is prevent cross play.</example>
                <example>Those who know do not talk. Those who talk do not know.</example>
                <example>> Who sells go control zwave plus?</example>
                <example>* Chat: Any small secure fit that would help to improve.</example>
                <example>Anyone who wants to chat please feel free to send me a DM.</example>
                <example>Not sure that can accurately show the distribution.</example>
                <example>Anything that can possibly go wrong, does.</example>
                <example>They who work quickly receive the prize.</example>
                <example>A rebel who seeks to completely transform society should be in.</example>
                <example>The one that started will not serve up web pages – I am getting timeouts.</example>
                <example>I think Steve and the team who came here probably need to get on the same page as the presentation doesn't quite reflect where we (Dave Forster) thought they were going.</example>
                <example>Hopefully I can save some money going low end on stuff like the monitor, the keyboard, and anything else that doesn't directly pertain to audio recording because I actually am on a budget.</example>
                <example>Unfortunately the system has been a little buggy for the past few versions of macOS, because the error message that is there should only appear for unsigned applications not files yet here we are.</example>
                <example>I just want to feel numb @Wave, I hate having all these feelings and no one that doesn't understand.</example>
            </rule>
            <rule>  <!-- clauses with subject + predicate -->
                &SV_agreement_clauses_subrule_2;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-singular">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">I|.*s|some|th[eo]se|they|we|you|&gt;</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-singular">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" chunk="E-NP-singular">
                        <exception regexp="yes">I|.*s|some|th[eo]se|they|we|you|&gt;</exception>
                    </token>
                    <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
                    <token chunk_re="B-NP.*">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token postag="MD|V.*" postag_regexp="yes" chunk="B-VP" />
                    <token min="0" inflected="yes">not</token>
                    <token min="0" postag="VB" />
                    <marker>
                        <token postag="VBP" chunk_re=".-VP">
                            <exception postag="(JJ|RB)S|VB[DZ]" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception inflected="yes">be</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\13' does not seem to match the subject.</message>
                <suggestion><match no="13" postag="VBZ" /></suggestion>
                <suggestion><match no="13" postag="VBD" /></suggestion>
                <example correction="runs|ran">The device that he uses <marker>run</marker> on a different platform.</example>
                <example correction="runs|ran">The device that the other guy uses <marker>run</marker> on a different platform.</example>
                <example correction="shows|showed">The one that the director usually doesn't notice <marker>show</marker> up for rehearsal each afternoon.</example>
                <example correction="shows|showed">The one that I usually don't notice <marker>show</marker> up for rehearsal each afternoon.</example>
                <example correction="goes|went">The route that the others typically take <marker>go</marker> through Malibu.</example>
                <example correction="goes|went">The route that she might not take <marker>go</marker> through Malibu.</example>
                <example>All fuel which Duke shall provide Transwestern shall be at the Tariff fuel rate.</example>
                <example>On the other hand, their claim that loot boxes do not constitute gambling is like suggesting that rain doesn't constitute water.</example>
                <example>Update: Funny when you finally reach out and try to get help you review your code enough to try something different.</example>
                <example>Another technique when I use Find Image is to turn the Engine off and on again.</example>
                <example>If my sentences are long enough, the probability that they already exist becomes very low.</example>
                <example>Nice that you make do with that works.</example>
                <example>The only thing that echo itself can do is pass along a request to SmartThings to turn something on or off.</example>
                <example>They can react faster than you can with your right foot to emergency braking situations and they can apply full stopping power instantly, something that even veteran drivers often do not do when it could be helpful.</example>
                <example>We know that he is a director of the Houston branch of the Federal Reserve Bank of Dallas, a sinecure that slouches and undervigilant execs don't get hold.</example>
                <example>The idea that new businesses prosper best when separated from their corporate parents has now become conventional wisdom.</example>
                <example>See: JFK assassination which they helped carry out for Elites/wealthy.</example>
                <example>He did say that he wants rather official solutions because he doesnt want to trust unofficial software, a part that I surely can understand.</example>
            </rule>
            <rule>  <!-- clauses with (subject) + predicate + object OR prepositional phrase -->
                &SV_agreement_singular_clauses_subrules_3_4;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-singular">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">(any|every)one|cause|cuz|I|.*s|some|th[eo]se|they|we|you|&gt;|\(|@.*</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-singular">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" chunk="E-NP-singular">
                        <exception regexp="yes">I|.*s|some|th[eo]se|they|we|you|&gt;</exception>
                    </token>
                    <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
                    <token min="0" chunk_re="B-NP.*">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token postag="MD|V.*" postag_regexp="yes" chunk="B-VP" />
                    <token min="0" inflected="yes">not</token>
                    <token min="0" postag="V.*" postag_regexp="yes">
                        <exception>like</exception>
                    </token>
                    <token min="0" chunk="B-PP">
                        <exception>like</exception>
                    </token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <marker>
                        <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP|B-PP">
                            <exception postag="IN|(JJ|RB)S|VB[DZ]" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception regexp="yes" inflected="yes">be|like|will</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\18' does not seem to match the subject.</message>
                <suggestion><match no="18" postag="VBZ" /></suggestion>
                <suggestion><match no="18" postag="VBD" /></suggestion>
                <example correction="seems|seemed">The code that throws the error <marker>seem</marker> to actually test for both UrlReadingCondition as well as Condition, but the error message is always the same.</example>
                <example correction="gives|gave">Any reason that calling this built-in method always <marker>give</marker> debug messages?</example>
                <example correction="injures|injured">The drunk driver who ran the light fatally <marker>injure</marker> the pedestrian in the crosswalk.</example>
                <example correction="manages|managed">The tall woman that I met yesterday <marker>manage</marker> the department.</example>
                <example correction="manages|managed">The tall woman that I actually met yesterday <marker>manage</marker> the department.</example>
                <example correction="manages|managed">The tall woman that I didn't meet yesterday <marker>manage</marker> the department.</example>
                <example correction="asks|asked">The magician who performed at my previous birthdays <marker>ask</marker> my mom out on a date.</example>
                <example correction="has|had">The note that was given to the girls <marker>have</marker> weird stuff written on it.</example>
                <example correction="has|had">The note that she hurriedly gave to the girls <marker>have</marker> weird stuff written on it.</example>
                <example>(That third item makes me think alternative diasporafoundation.org “front pages”, for different audiences, might be valuable.)</example>
                <example>@goob Before doing anything like that we should implement easy steps for podmins to remove a user which signed up on that specific pod including all posts and comments and all posts and comments already send to other pods.</example>
                <example>The fact that people are worried things break because changes in diaspora, probably means that there's an issue with API stability in the diaspora project itself.</example>
                <example>One thing that might help you figure out what that call tree looks like after `SoapMessageDispatcher` is if you mark the Transaction in question as a Key Transaction (link) and then run an X-Ray session on it.</example>
                <example>The last piece which is what I suspect might be hitting you is: does your proxy allow unauthenticated connections or does it require all sessions to be authenticated.</example>
                <example>One thing that made me stop looking into it is that the api key is exposed in the tool.</example>
                <example>* POWERFUL PLUG: The only Z-Wave Plug that lets you safely control and monitor heavy-duty 110V appliances from your Z-Wave smart home system.</example>
                <example>I do have two virtual switches in ST so I can do things like “Turn on Goodnight,” which runs a routine and shuts off all the lights.</example>
                <example>My choices at first was Atom… feature rich, extendable with plugins, the same environment for all employees, no matter which platform they choose to work on.</example>
                <example>One other thing that helps in a case like this is to notice the cogwheel.</example>
                <example>The sensor that is not working I have to wake up everyday.</example>
                <example>A troop that appears like its gonna randomly scramble your team.</example>
                <example>Anyone that does not believe me come to Alaska and see for yourself!</example>
                <example>A spell that has its main effects trigger on death has no place for ab empowered troop unless the damage is extremely high, has a bonus multiplier, or other secondary effect.</example>
                <example>Wonder which much needed arcane colors will we get this week.</example>
                <example>Even if they dev never talk about it, the fact that the troops exist will always imply a possible plan of future kingdoms for those troops.</example>
                <example>I did the challenges of 4 kingdoms when I just started, as in low level and low cards, cuz that was easier then explore with the cards I had.</example>
                <example>For reference, you can use our nifty tool: go.atlassian.com/ac1 which scaffolds a static connect app that you can use to play around.</example>
            </rule>
            <rule>  <!-- clauses with (subject) + predicate + object + prepositional phrase -->
                &SV_agreement_singular_clauses_subrules_3_4;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-singular">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">(any|every)one|cause|cuz|I|.*s|some|th[eo]se|they|we|you|&gt;|\(|@.*</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-singular">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" chunk="E-NP-singular">
                        <exception regexp="yes">I|.*s|some|th[eo]se|they|we|you|&gt;</exception>
                    </token>
                    <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
                    <token min="0" chunk_re="B-NP.*">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token postag="MD|V.*" postag_regexp="yes" chunk="B-VP" />
                    <token min="0" inflected="yes">not</token>
                    <token min="0" postag="V.*" postag_regexp="yes">
                        <exception>like</exception>
                    </token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token chunk="B-PP">
                        <exception regexp="yes">because|like</exception>
                    </token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <marker>
                        <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP|B-PP">
                            <exception postag="IN|(JJ|RB)S|VB[DZ]" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception regexp="yes" inflected="yes">be|like|will</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\22' does not seem to match the subject.</message>
                <suggestion><match no="22" postag="VBZ" /></suggestion>
                <suggestion><match no="22" postag="VBD" /></suggestion>
                <example correction="seems|seemed">The code that throws the error for this part <marker>seem</marker> to actually test for both UrlReadingCondition as well as Condition, but the error message is always the same.</example>
                <example correction="gives|gave">Any reason that calling this built-in method for the class always <marker>give</marker> debug messages?</example>
                <example correction="injures|injured">The drunk driver who ran the light across the street fatally <marker>injure</marker> the pedestrian in the crosswalk.</example>
                <example correction="manages|managed">The tall woman that I met yesterday at the market <marker>manage</marker> the department.</example>
                <example correction="manages|managed">The tall woman that I actually met yesterday at the market <marker>manage</marker> the department.</example>
                <example correction="manages|managed">The tall woman that I didn't meet yesterday at the market <marker>manage</marker> the department.</example>
                <example correction="asks|asked">The magician who performed magic tricks at my previous birthdays <marker>ask</marker> my mom out on a date.</example>
                <example>The reason that I created two alert conditions is because NRQL based alert conditions don't accept multiple attributes.</example>
                <example>The fact that AUI exposes some prefixed class names that have special behaviour makes me wonder about what's going on under the hood… but I haven't looked close enough.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SV_AGREEMENT_CLAUSES_PLURAL" name="SV agreement, subjects containing clauses - plural" default="off">
            <antipattern>
                <token postag="SENT_START" />
                <token postag="JJ" />
                <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>matter</token>
                <token>which</token>
            </antipattern>
            <antipattern>
                <token>connect</token>
                <token>app</token>
            </antipattern>
            <rule>  <!-- clauses with predicate only + adverbs -->
                &SV_agreement_clauses_subrule_1;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-plural">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">it|s?he|&gt;</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-plural">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" regexp="yes" chunk="E-NP-plural">.*(en|s)</token>
                    <token regexp="yes">that|which|who</token>
                    <token max="3" chunk_re=".-VP">
                        <exception regexp="yes">.*ly|t?here|to</exception>
                    </token>
                    <token max="2" postag="RB">
                        <exception>please</exception>
                    </token>
                    <marker>
                        <token postag="VBZ" chunk_re=".-VP">
                            <exception postag="VB[DP]" postag_regexp="yes" />
                            <exception inflected="yes">be</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\8' does not seem to match the subject.</message>
                <suggestion><match no="8" postag="VBP" /></suggestion>
                <suggestion><match no="8" postag="VBD" /></suggestion>
                <example correction="annoy|annoyed">The bald ladies who talk loudly seriously <marker>annoys</marker> me.</example>
                <example correction="frustrate|frustrated">The microphones that didn't work really <marker>frustrates</marker> the new team member.</example>
                <example correction="receive|received">The ones who work quickly <marker>receives</marker> the prize.</example>
                <example correction="receive|received">The ones who don't work quickly <marker>receives</marker> nothing.</example>
                <example correction="deserve|deserved">The students who won really <marker>deserves</marker> a scholarship.</example>
                <example correction="try|tried">All participants who fail usually <marker>tries</marker> again.</example>
                <example correction="pass|passed">All participants who don't fail usually <marker>passes</marker> the next test.</example>
                <example>His father who passed away has the same birthday as my mom so its really taking a toll on him especially since this birthday is special to my mom.</example>
            </rule>
            <rule>  <!-- clauses with subject + predicate -->
                &SV_agreement_clauses_subrule_2;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-plural">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">it|s?he|&gt;</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-plural">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" regexp="yes" chunk="E-NP-plural">.*(en|s)</token>
                    <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
                    <token chunk_re="B-NP.*">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token postag="MD|V.*" postag_regexp="yes" chunk="B-VP" />
                    <token min="0" inflected="yes">not</token>
                    <token min="0" postag="VB" />
                    <marker>
                        <token postag="VBZ">
                            <exception postag="VB[PD]" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception inflected="yes">be</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\13' does not seem to match the subject.</message>
                <suggestion><match no="13" postag="VBP" /></suggestion>
                <suggestion><match no="13" postag="VBD" /></suggestion>
                <example correction="run|ran">The devices that he uses <marker>runs</marker> on a different platform.</example>
                <example correction="run|ran">The devices that the other guy uses <marker>runs</marker> on a different platform.</example>
                <example correction="show|showed">The flute players that the director usually doesn't notice <marker>shows</marker> up for rehearsal each afternoon.</example>
                <example correction="show|showed">The flute players that I usually don't notice <marker>shows</marker> up for rehearsal each afternoon.</example>
                <example correction="go|went">The routes that the others typically take <marker>goes</marker> through Malibu.</example>
                <example correction="go|went">The routes that she might not take <marker>goes</marker> through Malibu.</example>
            </rule>
            <rule>  <!-- clauses with (subject) + predicate + object OR prepositional phrase -->
                &SV_agreement_singular_clauses_subrules_3_4;
                &SV_agreement_plural_clauses_subrules_3_4;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-plural">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">it|s?he|&gt;</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-plural">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" regexp="yes" chunk="E-NP-plural">.*(en|s)</token>
                    <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
                    <token min="0" chunk_re="B-NP.*">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token postag="MD|V.*" postag_regexp="yes" chunk="B-VP" />
                    <token min="0" inflected="yes">not</token>
                    <token min="0" postag="V.*" postag_regexp="yes">
                        <exception>like</exception>
                    </token>
                    <token min="0" chunk="B-PP">
                        <exception>like</exception>
                    </token>
                    <token chunk_re="B-NP.*">
                        <exception>that</exception>
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <marker>
                        <token postag="VBZ" chunk_re=".-VP">
                            <exception postag="VB[DP]" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception regexp="yes" inflected="yes">be|like|will</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\18' does not seem to match the subject.</message>
                <suggestion><match no="18" postag="VBP" /></suggestion>
                <suggestion><match no="18" postag="VBD" /></suggestion>
                <example correction="have|had">The irrational superstitions and phobias that the left has for nuclear <marker>has</marker> to stop or it's game over.</example>
                <example correction="show|showed">When I click on the sheild to check what is preventing to arm, the devices that needs attention <marker>shows</marker> the door/win sensor but status of closed.</example>
                <example correction="include|included">The major cities that I-55 connects to <marker>includes</marker> (from south to north) Jackson, Mississippi; Memphis, Tennessee; and St. Louis.</example>
                <example correction="seem|seemed">The codes that throws the error <marker>seems</marker> to actually test for both UrlReadingCondition as well as Condition, but the error message is always the same.</example>
                <example correction="injure|injured">The drunk drivers who ran the light fatally <marker>injures</marker> the pedestrian in the crosswalk.</example>
                <example correction="manage|managed">The guys that I met yesterday <marker>manages</marker> the department.</example>
                <example correction="manage|managed">The guys that I actually met yesterday <marker>manages</marker> the department.</example>
                <example correction="manage|managed">The guys that I didn't meet yesterday <marker>manages</marker> the department.</example>
                <example correction="ask|asked">The magicians who performed at my previous birthday <marker>asks</marker> my mom out on a date.</example>
                <example correction="have|had">The notes that were given to her <marker>has</marker> weird stuff written on it.</example>
                <example>Some things that Alexa doesn't support that SmartThings does:</example>
                <example>Cell phones that break before their contract expires are examples of planned obsolescence.</example>
                <example>We've got another case where if you use that drop-down to switch between what used to be tabs from comments, activity, our tabs that what happens is it works only if you come from comments tabs.</example>
                <example>Warnings that emerge after this incident has been opened, will again be grouped together till one of them evolves to a critical.</example>
                <example>100 studies whose common theme is that white ends up with just one knight in the finale, yet manages to win or draw.</example>
            </rule>
            <rule>  <!-- clauses with (subject) + predicate + object + prepositional phrase -->
                &SV_agreement_singular_clauses_subrules_3_4;
                &SV_agreement_plural_clauses_subrules_3_4;
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token chunk="B-NP-plural">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception regexp="yes">it|s?he|&gt;</exception>
                    </token>
                    <token min="0" max="3" chunk="I-NP-plural">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" regexp="yes" chunk="E-NP-plural">.*(en|s)</token>
                    <token regexp="yes">after|before|that|until|which|who(m|se)?</token>
                    <token min="0" chunk_re="B-NP.*">
                        <exception postag="V.*" postag_regexp="yes" />
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token postag="MD|V.*" postag_regexp="yes" chunk="B-VP" />
                    <token min="0" inflected="yes">not</token>
                    <token min="0" postag="V.*" postag_regexp="yes">
                        <exception>like</exception>
                    </token>
                    <token chunk_re="B-NP.*">
                        <exception>that</exception>
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token chunk="B-PP">
                        <exception>like</exception>
                    </token>
                    <token chunk_re="B-NP.*">
                        <exception>that</exception>
                    </token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <marker>
                        <token postag="VBZ" chunk_re=".-VP">
                            <exception postag="VB[DP]" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception regexp="yes" inflected="yes">be|like|will</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error detected: the verb form '\22' does not seem to match the subject.</message>
                <suggestion><match no="22" postag="VBP" /></suggestion>
                <suggestion><match no="22" postag="VBD" /></suggestion>
                <example correction="show|showed">When I click on the sheild to check what is preventing to arm, the devices that needs attention in the dock <marker>shows</marker> the door/win sensor but status of closed.</example>
                <example correction="display|displayed">* Spells that use specific gem colors for powers now <marker>displays</marker> counters for related gems on the board.</example>
                <example correction="seem|seemed">The codes that throws the error for this part <marker>seems</marker> to actually test for both UrlReadingCondition as well as Condition, but the error message is always the same.</example>
                <example correction="injure|injured">The drunk drivers who ran the light across the street fatally <marker>injures</marker> the pedestrian in the crosswalk.</example>
                <example correction="manage|managed">The guys that I met yesterday at the store <marker>manages</marker> the department.</example>
                <example correction="manage|managed">The guys that I actually met yesterday at the store <marker>manages</marker> the department.</example>
                <example correction="manage|managed">The guys that I didn't meet yesterday at the store <marker>manages</marker> the department.</example>
                <example correction="ask|asked">The magicians who performed magic tricks at my previous birthday <marker>asks</marker> my mom out on a date.</example>
            </rule>
        </rulegroup>
        <rule id="EITHER_OF_THE_NN" name="either of the car (cars)">
            <antipattern>
                <token postag="NN:UN?|NNP?" postag_regexp="yes" chunk_re="E-NP.*" />
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token skip="-1">neither</token>
                <token>nor</token>
            </antipattern>
            <antipattern>
                <token skip="-1">either</token>
                <token>or</token>
            </antipattern>
            <pattern>
                <token regexp="yes">n?either</token>
                <token>of</token>
                <token>the</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                <marker>
                    <token postag="NN:UN?|NNP?" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception regexp="yes">following|former|latter|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</exception>
                        <exception postag="CD|NNP?S" postag_regexp="yes" />
                    </token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">The pronoun "\1" requires the plural noun form: <suggestion><match no="5" postag_regexp="yes" postag="NN.*" postag_replace="NNP?S" /></suggestion></message>
            <example correction="abbreviations">A comma after either of the <marker>abbreviation</marker> is mandatory.</example>
            <example>Note that neither of the three is a complex algebra.</example>
            <example>Invocation of another constructor (either of the object's class or of the object's superclass).</example>
            <example>Trott believed in the original, positive view of the Sonderweg of Germany as a Central European power that was neither of the West nor of the East.</example>
        </rule>
        <rule id="WHERE_MD_VB" name="missing pronoun after 'where/when/how/why'">
            <!-- TODO:
                * How can further debug this?
                * How would define this word?
                * How can achieve that?
            -->
            <antipattern>
                <token regexp="yes" skip="-1">where|when|how|why</token>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token>when</token>
                <token regexp="yes">would|will|might</token>
                <token skip="3">be</token>
                <token inflected="yes" regexp="yes">time|date</token>
            </antipattern>
            <antipattern>
                <token>when</token>
                <token postag="MD" />
                <token>work</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">when|where</token>
                <token postag="MD" />
                <token>be</token>
                <token inflected="yes" regexp="yes">convenient|good|suitable|fitting</token>
            </antipattern>
            <antipattern>
                <token>suggestions</token>
                <token>for</token>
                <token regexp="yes">when|where|how|why</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">when|where</token>
                <token>need</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token postag="PCT|SENT_START" postag_regexp="yes" />
                <token postag="UH" />
                <token>,</token>
                <token regexp="yes">where|when|how|why</token>
            </antipattern>
            <pattern>
                <token chunk_re=".-VP|E-NP.*" />
                <token chunk_re=".-ADVP" min="0" />
                <token min="0">,</token>
                <marker>
                    <token regexp="yes">where|when|how|why</token>
                </marker>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" chunk_re=".-VP" skip="-1" />
                <token postag="SENT_END" regexp="yes">[.!\)]</token>
            </pattern>
            <message>It appears that a pronoun is missing.</message>
            <suggestion>\4 it</suggestion>
            <suggestion>\4 you</suggestion>
            <suggestion>\4 I</suggestion>
            <suggestion>\4 we</suggestion>
            <example correction="where it|where you|where I|where we">We should find out <marker>where</marker> will have to go.</example>
            <example correction="where it|where you|where I|where we">Tom promised Mary to find a place <marker>where</marker> would be safe.</example>
            <example correction="where it|where you|where I|where we">Tom promised Mary to find a place, <marker>where</marker> would be safe.</example>
            <example correction="where it|where you|where I|where we">We proudly announce our very own online blog, <marker>where</marker> will find some fascinating facts on spelling, grammar, word choice, and language.</example>
            <example correction="when it|when you|when I|when we">Give me a call so <marker>when</marker> can go over meeting before the game to get you the tickets.</example>
            <example>How can love love love?</example>
            <example>Let me know when would be a good time.</example>
            <example>Let me know when will be good for both you and John on next Wednesday afternoon.</example>
            <example>Please let me know where would be best.</example>
            <example>Also, suggestions for where would be good.</example>
            <example>Please let me know when will be the best time to install and please verify your location.</example>
            <example>Please let me know when would be a convenient date and time to meet.</example>
            <example>Just let me know when might work for you to get together</example>
        </rule>
        <rule id="FOR_VB" name="thank you for bring (bringing) this">
            <pattern>
                <marker>
                <token>for
                    <exception inflected="yes" postag="VB.*" postag_regexp="yes" scope="previous" regexp="yes">ask|look|long|wait|pay|call|allow|prepare|search|provide|care|account</exception>
                </token>
                <token postag="VB" chunk="B-VP" regexp="yes">\p{Ll}.{1,30}
                    <exception postag="JJ.*|NN|UH|RB" postag_regexp="yes"/>
                    <exception>quit</exception><!-- prob'ly misspelling of "quite" -->
                    </token>
                </marker>
                <token min="0" postag="IN"><exception>for</exception></token>
                <token chunk_re="B-NP.*"><exception postag="NN.*" postag_regexp="yes"/></token>
            </pattern>
            <message>The verb '<match no="2"/>' seems to be in the wrong form here.</message>
            <suggestion>\1 <match no="2" postag="VBG"/></suggestion>
            <example correction="for setting">Here's what you need to know <marker>for set</marker> up the new computer.</example>
            <example correction="for bringing">Thank you <marker>for bring</marker> this to our attention.</example>
            <example>Hence the charge <marker>for set</marker> up costs.</example>
            <example>Draft <marker>for String</marker> Quartet in A major</example>
            <example>I would like to ask for advise on this topic.</example>
            <example>Google give it <marker>for free</marker> to them.</example><!-- wrong B-VP chunking -->
            <example>I am mainly asking for advise on 2 topics.</example>
        </rule>
        <rulegroup id="WH_PHRASE_AGREEMENT" name="Who send (sends) the documents/how is (are) the kids doing" default="off">
            <rule>  <!-- who/what + verb that's NOT be, do, or have -->
                <antipattern>
                    <token skip="1">what</token>
                    <token chunk_re="B-NP.*">
                        <exception postag="DT" />
                    </token>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token skip="1">what</token>
                    <token postag="RB" />
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-plural" />
                    <token postag="," />
                    <token regexp="yes">who|what</token>
                </antipattern>
                <antipattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="," />
                    <token regexp="yes">who|what</token>
                </antipattern>
                <antipattern>
                    <token>what</token>
                    <token skip="3" chunk="B-VP" />
                    <token postag="MD" />
                </antipattern>
                <antipattern>
                    <token>what</token>
                    <token skip="3" chunk="B-VP" />
                    <token regexp="yes" inflected="yes">be|do|have</token>
                </antipattern>
                <antipattern>
                    <token>what</token>
                    <token chunk="B-VP" />
                    <token postag="VBZ" />
                </antipattern>
                <antipattern>
                    <token>make</token>
                    <token regexp="yes">and|,</token>
                    <token>model</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">who|what</token>
                    <marker>
                        <token postag="VBP" chunk="B-VP">
                            <exception postag="MD|VBD" postag_regexp="yes" />
                            <exception regexp="yes" inflected="yes">be|do|have|mean|say</exception>
                        </token>
                    </marker>
                    <token skip="-1"><exception regexp="yes">do|you</exception></token>
                    <token>?</token>
                </pattern>
                <message>Possible subject-verb agreement error detected.</message>
                <suggestion><match no="3" postag="VBZ" /></suggestion>
                <suggestion><match no="3" postag="VBD" /></suggestion>
                <example correction="sends|sent">Who <marker>send</marker> the documents to HR?</example>
                <example correction="runs|ran">Who <marker>run</marker> the world?</example>
                <example correction="makes|made">What <marker>make</marker> the tide rise and fall?</example>
                <example correction="makes|made">What <marker>make</marker> the waves so huge?</example>
                <example>Who put this paper here?</example>
                <example>Who am I?</example>
                <example>Who are you?</example>
                <example>What do you think?</example>
                <example>What have we got here?</example>
                <example>What say you?</example>
                <example>What can I do?</example>
                <example>Who fear future discomfort.</example>
                <example>What redeem code?</example>
                <example>What feature exactly?</example>
                <example>What know you of patience?</example>
                <example>What make of computer do you use?</example>
                <example>What make and model of vehicle?</example>
                <example>What use case would I see second and subsequent installs?</example>
                <example>What Let's Encrypt client did you use to obtain your certificate?</example>
                <example>What hope attends you through this gate?</example>
                <example>How entitled are you guys, who think a Guild Leader can’t kick who they want?</example>
                <example>But I, who walk the Queen of Heaven confessed...</example>
                <example>What mean these seven ewelambs which thou hast set apart?</example>
            </rule>
            <rule>  <!-- who/what/when/where/how + do/have + singular subject -->
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token min="0" chunk="I-NP-singular" />
                    <token min="0" chunk="E-NP-singular" />
                    <token regexp="yes">and|rest|.*s</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token chunk="E-NP-singular" />
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token regexp="yes">&quote;</token>
                    <token postag="NNS|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">do|have</token>
                    <token skip="1">y</token>
                    <token>all</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token min="0" chunk="E-NP-singular" />
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token postag="NNPS?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">do|have</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token>do</token>
                    <token>able</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">who|what|when|where|how</token>
                    <marker>
                        <token regexp="yes">do|have</token>
                    </marker>
                    <token skip="-1" chunk="B-NP-singular">
                        <exception postag="PRP_S.*" postag_regexp="yes" />
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*|all|i|most|.*s|some|these|those|u|ya|yo|yuo</exception>
                    </token>
                    <token>?</token>
                </pattern>
                <message>Possible subject-verb agreement error detected.</message>
                <suggestion><match no="3" postag="VBZ" /></suggestion>
                <suggestion><match no="3" postag="VBD" /></suggestion>
                <example correction="does|did">What <marker>do</marker> the boy have to do?</example>
                <example correction="has|had">When <marker>have</marker> the professor ever been clear about his assignments?</example>
                <example correction="has|had">Where <marker>have</marker> the child run off to?</example>
                <example correction="does|did">How <marker>do</marker> your wife do it?</example>
                <example>When do these count?</example>
                <example>What do UFOs believe in?</example>
                <example>What do the Algerians want?</example>
                <example>What do the British do?</example>
                <example>Where do all of you live?</example>
                <example>How do the expert reviewers be assigned?</example>
                <example>How do y’all do it?</example>
                <example>How do the rest of you handle this?</example>
                <example>Relic Solution: How do Host Not Reporting Alert Conditions Work?</example>
                <example>How do most of your customers associate exceptional conditions with an incident report?</example>
                <example>My question is, how do able would that be?</example>
                <example>Well, what have the two of you decided?</example>
                <example>How do feel about it, Tom?</example>
                <example>What do the “percentages” that appear in the bottom of the display box, represent?</example>
            </rule>
            <rule>  <!-- what|when/where/how + do/have + plural subject -->
                <antipattern>
                    <token chunk="B-NP-plural" />
                    <token regexp="yes">.*s</token>
                    <token />
                    <token postag="VBP">
                        <exception postag="IN|RP" postag_regexp="yes" />
                    </token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-plural" />
                    <token regexp="yes">.*s</token>
                    <token />
                    <token>state</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">does|has</token>
                    <token chunk="B-NP-plural" />
                    <token min="0" postag="JJ" />
                    <token postag="NN(:UN?)?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>has</token>
                    <token min="0" postag="P?DT" postag_regexp="yes" />
                    <token postag="NNS" />
                    <token postag="CC|," postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-plural" />
                    <token postag="UNKNOWN" />
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-plural" />
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token postag="VBZ" />
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">what|when|where|how</token>
                    <marker>
                        <token regexp="yes">does|has</token>
                    </marker>
                    <token skip="-1" chunk="B-NP-plural">
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*|this|that</exception>
                    </token>
                    <token>?</token>
                </pattern>
                <message>Possible subject-verb agreement error detected.</message>
                <suggestion><match no="3" postag="VBP" /></suggestion>
                <suggestion><match no="3" postag="VBD" /></suggestion>
                <example correction="do|did">How <marker>does</marker> video sources play into this config?</example>
                <example correction="do|did">What <marker>does</marker> the flags mean below each post? </example>
                <example correction="have|had">When <marker>has</marker> the designers ever been clear about what they want?</example>
                <example correction="have|had">Where <marker>has</marker> the kids run off to?</example>
                <example correction="do|did">How <marker>does</marker> the teams do it?</example>
                <example>What does this kanji mean?</example>
                <example>What does his silence imply?</example>
                <example>What does his father do?</example>
                <example>What does your owners manual say?</example>
                <example>What does the above method returns?</example>
                <example>What has legs, but cannot walk?</example>
                <example>Where does the imageCaptue.take() action stores the photo?</example>
                <example>What does the Consumer Reports Used Car Guide say?</example>
                <example>I think the oil filter specifications would confuse the typical vehicle owner and this is something I generally do not see in owners manuals, what does your owners manual state for oil filter specifications?</example>
            </rule>
            <rule>  <!-- who/what/when/where/how + be + singular subject -->
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token skip="1" postag="JJ[RS]" postag_regexp="yes" />
                    <token skip="1" postag="JJ|VBN" postag_regexp="yes" />
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token min="0" max="2" chunk="I-NP-singular" />
                    <token min="0" chunk="E-NP-singular" />
                    <token regexp="yes">and|rest|two|three|four|five|six|seven|eight|nine|'s|.*s|,</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token skip="1" regexp="yes">&quote;</token>
                    <token regexp="yes">&quote;</token>
                    <token>and</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token postag="NNP" />
                    <token postag="NNP" />
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token skip="2" chunk="B-NP-singular" />
                    <token>(</token>
                    <token>s</token>
                    <token>)</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token min="0" chunk="E-NP-singular" />
                    <token postag="CD|NNP?S" postag_regexp="yes">
                        <exception regexp="yes">[1-2][0-9][0-9][0-9]</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token regexp="yes">&quote;</token>
                    <token postag="NNS|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token chunk="I-NP-singular" />
                    <token postag="CC" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">am|are|were</token>
                    <token skip="1">y</token>
                    <token>all</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-NP-singular" />
                    <token>must</token>
                    <token>have</token>
                </antipattern>
                <antipattern>
                    <token skip="2" chunk="B-NP-singular" />
                    <token chunk="B-PP" />
                </antipattern>
                <antipattern>
                    <token skip="2" chunk="B-NP-singular" />
                    <token postag="," />
                </antipattern>
                <antipattern>
                    <token regexp="yes">am|are|were</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="V.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>do</token>
                    <token>able</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception>or</exception>
                    </token>
                    <token regexp="yes">who|what|when|where|how</token>
                    <marker>
                        <token regexp="yes">am|are|were</token>
                    </marker>
                    <token skip="-1" chunk="B-NP-singular">
                        <exception postag="PRP_S.*" postag_regexp="yes" />
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*|all|i|mine|most|.*s|some|these|those|u|y[ae]|yoy?|yuo</exception>
                    </token>
                    <token>?</token>
                </pattern>
                <message>Possible subject-verb agreement error detected.</message>
                <suggestion>is</suggestion>
                <suggestion>was</suggestion>
                <example correction="is|was">What <marker>are</marker> the most widely used browser for JIRA and Confluence?</example>
                <example correction="is|was">What <marker>are</marker> the 2019 recommendation?</example>
                <example correction="is|was">Where <marker>are</marker> the soldier going?</example>
                <example correction="is|was">What <marker>were</marker> the boy doing?</example>
                <example correction="is|was">When <marker>were</marker> the professor ever clear about his assignments?</example>
                <example correction="is|was">Where <marker>were</marker> the book I gave you?</example>
                <example>What are ye doing?</example>
                <example>Who are your working for?</example>
                <example>Where are the other three?</example>
                <example>How are the new dashboard apis coming along?</example>
                <example>Where are mine?</example>
                <example>So who were the 25?</example>
                <example>What are the default user agent and other headers sent by New Relic synthetics?</example>
                <example>So what are the long term ft's OP?</example>
                <example>What are my step by step diagnostics to determine the cause?</example>
                <example>What are your must have or best Keyboard Maestro Workflows?</example>
                <example>If so, what are the “type” and “device” here?</example>
                <example>What are the total heap size, -XX:PermSize and -XX:MaxPermSize settings for your JVM?</example>
                <example>Where are my mom and dad?</example>
                <example>What are your Energy Saver settings?</example>
                <example>Would courts hold that contraceptives or what are today called sex toys were such articles?</example>
                <example>Now… I feel like a newb with this Q but… what are the Owner, name and branch of the github for the integration?</example>
                <example>Where are the simple step by step instructions for setting up HTTPS for a Tomcat server running on Windows?</example>
                <example>What are the main reason(s) for using pocketknife vs using QueryDSL directly, even for the local DB?</example>
                <example>What are the most commonly used swear words in Dutch?</example>
            </rule>
        </rulegroup>
        <rulegroup id="SPOKED" name="spoked (spoke/spoken)">
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>spoked</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes" skip="2">have</token>
                    <marker>
                        <token>spoked</token>
                    </marker>
                    <token regexp="yes">to|with</token>
                    <token postag="NNP|PRP_O.*" postag_regexp="yes" />
                </pattern>
                <message>"spoked" is the past participle of "spoke" (= to furnish with spokes). Did you mean the past participle of "speak"?</message>
                <suggestion>spoken</suggestion>
                <example correction="spoken">I have <marker>spoked</marker> to Tom.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>spoked</token>
                    </marker>
                    <token regexp="yes">to|with</token>
                    <token postag="NNP|PRP_O.*" postag_regexp="yes" />
                </pattern>
                <message>"spoked" is the past tense of "spoke" (= to furnish with spokes). Did you mean the past tense of "speak"?</message>
                <suggestion>spoke</suggestion>
                <example correction="spoke">I <marker>spoked</marker> to Tom.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="2">have</token>
                    <marker>
                        <token>spoked</token>
                    </marker>
                    <token regexp="yes">&languages;</token>
                </pattern>
                <message>"spoked" is the past participle of "spoke" (= to furnish with spokes). Did you mean the past participle of "speak"?</message>
                <suggestion>spoken</suggestion>
                <example correction="spoken">He has <marker>spoked</marker> Russian.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>spoked</token>
                    </marker>
                    <token regexp="yes">&languages;</token>
                </pattern>
                <message>"spoked" is the past tense of "spoke" (= to furnish with spokes). Did you mean the past tense of "speak"?</message>
                <suggestion>spoke</suggestion>
                <example correction="spoke">He <marker>spoked</marker> Russian.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TO_FRESH_UP" name="fresh up -> freshen up">
            <url>https://www.merriam-webster.com/dictionary/freshen%20up</url>
            <antipattern>
                <token>straight</token>
                <token>up</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD|TO" postag_regexp="yes">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">fresh|straight|bright</token>
                        <token regexp="yes" min="0">him|this|that|th[eo]se|it|her|me|us|you|them|myself|himself|herself|itself|ourselves|themselves|(every|any|some|no)(one|body|thing)</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\3en \4 \5</suggestion>?</message>
                <example correction="freshen up">I need to <marker>fresh up</marker> my skills.</example>
                <example>It helps with my paranoia some because I'm not afraid to straight up ask someone if they hate me or not.</example>
            </rule>
            <rule>
                <pattern>
                    <token>please</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">fresh|straight|bright</token>
                        <token regexp="yes" min="0">him|this|that|th[eo]se|it|her|me|us|you|them|myself|himself|herself|itself|ourselves|themselves|(every|any|some|no)(one|body|thing)</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\3en \4 \5</suggestion>?</message>
                <example correction="freshen up">Please <marker>fresh up</marker> your skills.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token>'s</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">fresh|straight|bright</token>
                        <token regexp="yes" min="0">him|this|that|th[eo]se|it|her|me|us|you|them|myself|himself|herself|itself|ourselves|themselves|(every|any|some|no)(one|body|thing)</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\4en \5 \6</suggestion>?</message>
                <example correction="freshen up">Let's <marker>fresh up</marker> our skills.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">fresh(es)?|straights?|brights?</token>
                        <token regexp="yes" min="0">him|this|that|th[eo]se|it|her|me|us|you|them|myself|himself|herself|itself|ourselves|themselves|(every|any|some|no)(one|body|thing)</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)(straight|fresh|bright)(.*s)?$" regexp_replace="$1en" /> \4 \5</suggestion>?</message>
                <example correction="freshen up">He <marker>freshes up</marker> the documentation.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">fresh|straight|bright</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>\3en</suggestion>?</message>
                <example correction="brighten">This will <marker>bright</marker> my day.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">fresh(es)?|straights?|brights?</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)(straight|fresh|bright)(.*s)?$" regexp_replace="$1en" /></suggestion>?</message>
                <example correction="brighten">You <marker>bright</marker> my day.</example>
            </rule>
        </rulegroup>
        <rule id="PLEASE_NOT_VB" name="please not do this (please don't do this)">
            <antipattern>
                <token>no</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re=".-NP.*|B-PP" />
            </antipattern>
            <pattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token>please</token>
                <marker>
                    <token regexp="yes">not?</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB">
                        <exception regexp="yes">&uncommon_verbs;|near</exception>
                    </token>
                </marker>
            </pattern>
            <message>Consider using the negated verb form of "do" here.</message>
            <suggestion>don't \4 \5</suggestion>
            <example correction="don't do">Please <marker>not do</marker> this.</example>
            <example correction="don't speak">Please <marker>no speak</marker> English to me.</example>
            <example>Can you invite all my friends but please not carol.</example>
            <example>Up to now the new trophies were always good, but please no near impossible trophy.</example>
        </rule>
        <rule id="STARTING_DOING" name="he has starting (started) doing that">
            <pattern>
                    <token inflected="yes" postag="VB[PZD]" postag_regexp="yes">have<exception inflected="yes">be</exception></token>
                    <token min="0" postag="RB"><exception postag="IN|EX" postag_regexp="yes"/></token>
                <marker>
                    <token postag="VBG" inflected="yes" regexp="yes">start|begin|stop|continue|report|try|enjoy|finish|prove|consider</token>
                </marker>
                    <token postag="VBG" chunk="I-VP"/>
            </pattern>
            <message>Possible typo found: Did you mean to use the past participle?</message>
            <suggestion><match no="3" postag="VBN"/></suggestion>
            <example correction="started">I've already <marker>starting</marker> doing that a year ago.</example>
            <example>Dave's continuing doing that in spite of the warning signs.</example>
        </rule>
        <rulegroup id="TYPO_FORM_FROM" name="The skin darkens form (from) pink to purplish brown">
            <rule>
                <antipattern>
                    <token>form</token>
                    <token><exception postag="PCT|PRP_O.*" postag_regexp="yes" /></token>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">can|do|must|not|please|since|to|will</token>
                    <token min="0" postag="RB.*" postag_regexp="yes" />
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token skip="3" postag="NN:UN" chunk_re=".-VP">
                        <exception>need</exception>
                    </token>
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token skip="2" regexp="yes" inflected="yes">flow|help|&typically_transitive_verbs;|\)|–</token>
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token skip="1" postag="CC|DT|MD|PRP\$.*|W.*" postag_regexp="yes" />
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token skip="1" regexp="yes" case_sensitive="yes">[A-Z].*</token>
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token skip="2" inflected="yes">be</token>
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token>form</token>
                </antipattern>
                <pattern>
                    <token chunk_re=".-VP">
                        <exception postag="JJR?|RB|VBD" postag_regexp="yes" />
                    </token>
                    <token min="0" chunk_re="B-NP.*" />
                    <token min="0" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <marker>
                        <token>form</token>
                    </marker>
                    <token chunk_re="B-NP.*">
                        <exception regexp="yes">an?</exception>
                    </token>
                </pattern>
                <message>Possible typo detected: Did you mean to write 'from' instead of 'form'?</message>
                <suggestion>from</suggestion>
                <example correction="from">Hope to hear <marker>form</marker> them later today.</example>
                <example correction="from">So where do the other commands come <marker>form</marker>?!</example>
                <example correction="from">For this study he would like to get forward oil prices <marker>form</marker> us.</example>
                <example correction="from">When we translate <marker>form</marker> other languages to ours , we must translate the meaning.</example>
                <example correction="from">Dark ambient – a style of industrial music that takes elements <marker>form</marker> ambient music to create a feeling of dread.</example>
                <example correction="from">Let me know if you need any stack traces <marker>form</marker> other threads, stats on types of devices, etc.</example>
                <example>You must form regular habits.</example>
                <example>Please form an orderly queue.</example>
                <example>Radon decays to form solid radioisotopes that form coatings on the inside of pipework.</example>
                <example>And Sheggra will form the Head!</example>
                <example>Roger, Attached is the form we discussed.</example>
                <example>Baden did not form a compact territory.</example>
                <example>Do these words form a unit?</example>
                <example>He helped form the new United States government.</example>
                <example>It is equivalent to say that X has a Kähler form whose class in is in.</example>
                <example>Documents gathered and interviews conducted provided since then form the basis of this timeline.</example>
                <example>I am hoping to put our form together next week.</example>
                <example>Final product is parental replicative form (RF) DNA.</example>
                <example>The sea shores are winding and form gulfs and bays of various sizes.</example>
                <example>On the other hand, Greenlandic does often form verbs that include noun roots.</example>
                <example>Their rate of withholding will impact which form we may or may not need.</example>
                <example>In its history, Alberta has seen only five parties form governments.</example>
                <example>Their attendance does form part of the discussions on the VPs and MDs at the executive PRC.</example>
                <example>F2P games try to fight that by making you form social bonds you feel like you'll lose if you quit.</example>
                <example>It would be great to have this feature as this allow vendors form the relationship between epics and it's sub-issues.</example>
                <example>Robert E. Willeford and his wife, Georgina Willeford, worked diligently to help form the village of Bedford Heights.</example>
                <example>Parts of the town and surrounding country form the Blaenavon Industrial Landscape, inscribed as a World Heritage Site by UNESCO in 2000.</example>
                <example>The andesite lava flows form the older and younger Twin Lakes sequences, and date to between 315,000 and 240,000 years ago and between 90,000 years ago and present, respectively.</example>
                <example>For judicial purposes, Scotland, Northern Ireland and England and Wales (the latter being one entity) form separate legal jurisdiction, with there being no single law for the UK as a whole.</example>
                <example>Chemical engineering unit operations and chemical engineering unit processing form the main principles of all kinds of chemical industries and are the foundation of designs of chemical plants, factories, and equipment used.</example>
                <example>Agriculture, herding, tourism and the mining industry – including mining for gem diamonds, uranium, gold, silver, and base metals – form the basis of its economy.</example>
                <example>He does form a bond with his friend.</example>
                <example>We would like to better form our troops.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token skip="1" postag="NNS">
                        <exception>data</exception>
                    </token>
                    <token postag="VBZ" />
                    <token>form</token>
                </antipattern>
                <antipattern>
                    <token>form</token>
                    <token chunk="B-PP">
                        <exception>that</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token skip="-1">form</token>
                    <token>form</token>
                </antipattern>
                <pattern>
                    <token postag="VBZ">
                        <exception postag="NNS" />
                    </token>
                    <marker>
                        <token>form</token>
                    </marker>
                    <token chunk_re="B-(ADJP|NP.*|PP)">
                        <exception regexp="yes">when|which|who</exception>
                    </token>
                </pattern>
                <message>Possible typo detected: Did you mean to write 'from' instead of 'form'?</message>
                <suggestion>from</suggestion>
                <example correction="from">The skin of young birds darkens <marker>form</marker> pink to purplish brown within two days of hatching.</example>
                <example correction="from">See yellow text below which comes <marker>form</marker> that page.</example>
                <example correction="from">The data all comes <marker>form</marker> the same place.</example>
                <example>User completes form which is received by Email.</example>
                <example>Form is emptiness, emptiness is form itself.</example>
                <example>As Television Broadcasts Limited (TVB) is Hong Kong's largest television station, the television programmes it broadcasts form a major part of popular culture in Hong Kong.</example>
            </rule>
        </rulegroup>
        <rule id="SINGULAR_NOUN_THAT_AGREEMENT" name="He bought one that work (works) underwater" default="off">
            <antipattern>
                <token chunk_re="E-NP.*" />
                <token postag="CC" />
                <token skip="-1" chunk_re="B-NP.*" />
                <token chunk_re="E-NP.*" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token chunk="B-PP" />
                <token skip="1" postag="PCT" />
                <token chunk_re="E-NP.*" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token chunk="B-PP" />
                <token skip="-1" chunk_re="B-NP.*" />
                <token chunk_re="E-NP.*" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">th(e|o)se</token>
                <token chunk="B-VP" />
                <token max="3" chunk="I-VP" />
                <token postag="NN" />
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token>to</token>
                <token>said</token>
                <token postag="N.*" postag_regexp="yes" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token>this</token>
                <token regexp="yes">week|month|quarter|season|year|summer|fall|winter|autumn|spring</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token postag="VBG" />
                <token postag="N.*" postag_regexp="yes" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token postag="CD">
                    <exception>one</exception>
                </token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token>like</token>
                <token postag="N.*" postag_regexp="yes" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token chunk_re="B-(ADV|P)P" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token skip="-1">that</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token postag="VBP" />
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token postag="N.*" postag_regexp="yes" />
                <token chunk="I-VP" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token chunk_re=".-NP.*" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token chunk="B-ADVP" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token />
                <token>/</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token />
                <token>_</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="VB" />
            </antipattern>
            <pattern>
                <token postag="SENT_START|PCT|V.*" postag_regexp="yes">
                    <exception postag="NN:UN?|RP" postag_regexp="yes" />
                    <exception regexp="yes" inflected="yes">be|please</exception>
                </token>
                <token min="0" postag="P?DT|PRP\$.*|JJ" postag_regexp="yes">
                    <exception postag="RP" />
                    <exception>many</exception>
                </token>
                <token postag="NN(:UN?)?" postag_regexp="yes">
                    <exception postag="MD|NNS|RB" postag_regexp="yes" />
                    <exception regexp="yes">bunch|couple|diagnostics|duo|few|handful|information|none|prey|several|steelhead</exception>
                </token>
                <token>that</token>
                <token min="0" postag="RB">
                    <exception postag="IN" />
                </token>
                <marker>
                    <token postag="VBP">
                        <exception postag="IN|MD|RB|VBD" postag_regexp="yes" />
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*|armor|cost|even|still</exception>
                    </token>
                </marker>
                <token><exception regexp="yes">no|number|#</exception></token>
            </pattern>
            <message>Possible subject-verb agreement error.</message>
            <suggestion><match no="6" postag="VBZ" /></suggestion>
            <example correction="gives">Tamara is finishing a model that <marker>give</marker> impact according to rate design.</example>
            <example correction="works">He bought one that <marker>work</marker> underwater.</example>
            <example correction="runs">I have another machine that <marker>run</marker> a slightly older build and it works fine</example>
            <example correction="burns">Usually,an engine that <marker>burn</marker> oil at an alarming rate will foul them.</example>
            <example correction="is">The fact that <marker>are</marker> distinct is their prime years overlap.</example>
            <example>Hope that make sense! </example>
            <example>Understanding that machine isn't all that easy.</example>
            <example>Then that pipe started spraying.</example>
            <example>Yeah that part should change.</example>
            <example>Might that make sense?</example>
            <example>Name another spell that will:</example>
            <example>Games like that are head to head right?</example>
            <example>Do you know many people that have done that?</example>
            <example>Please note that Harry has asked that Mark Taylor review the plastics description.</example>
            <example>Do you like watching that type of film?</example>
            <example>A few that come to mind:</example>
            <example>And that may be all that many households need, as long as you do you have a switch that still works without the hub.</example>
            <example>None that are zwave, but there are two that are Wi-Fi and can work well.</example>
            <example>There are 4 tasks that you can do each day that give small rewards such as… </example>
            <example>Or that tool uses some older settings.</example>
            <example>Intelligent species that have contacted other species</example>
            <example>You mentioned four that are very ugly.</example>
            <example>Don't wait anymore, push that out now.</example>
            <example>The metrics that are gathered on the Capacity Analysis graph are based on instances.</example>
            <example>I try to get a couple that are right > next to each other.</example>
            <example>Steelhead that live out their lives in fresh water are called rainbow trout.</example>
            <example>These seem to be intertwined phenomenon that are hard to untangle.</example>
            <example>Revolv lets you control Insteon products, any way that will one day work?</example>
            <example>Also, please note that in log, no errors are listed too.</example>
            <example>I have a Centralite open close sensor that just quit being recognized by ST.</example>
            <example>Something like this would serve to validate a system that still needs work.</example>
            <example>I have the feeling that since last Sunday morning, years have gone by.</example>
            <example>Yanni made a decision that nearly cost him his life.</example>
            <example># Bypass the fact that try_files resets $fastcgi_path_info</example>
            <example>The ride control ecu should have diagnostics that identify failed struts.</example>
            <example>Scooter also painted a sign that read "Lemonade 25 cents".</example>
            <example>The team that beat us had a handful of Iroquois National players.</example>
            <example>But I've had a bunch that aren't on there… </example>
            <example>I hope the person that bid $60 will respond and "get you off the hook".</example>
            <example>Maybe it could have been “if they are a boss, double that armor”</example>
            <example>All services marked Automatic that aren't running except for xyz</example>
            <example>Would love any help that people could give.</example>
            <example>* Added option to force delete device that are references in any SmartApps.</example>
            <example>The articles contain valuable information that explain the basic concepts of the energy shortage.</example>
            <example>Santa Cruz has many establishment that contribute to its development.</example>
            <example>If it's loosing coolant that fast, should be easy to find leak.</example>
            <example>> Cant seem to get any answers from Chrysler, never had a car that paint came off.</example>
            <example>Words like chairman that contain two free morphemes (chair and man) are referred to as compound words.</example>
            <example>If you are aware of copiers or fax equipment that are in offices, conference rooms or other closed areas, please notify Harry Grubbs at Ext.</example>
            <example>I would like to request an opinion from EWEB's bond counsel that swap/other transaction payments are payable from the Operating Fund.</example>
            <example>I can't remember if I marked any other changes on ;your version that are not in the attachment.</example>
            <example>FYI, you've got several people on the referenced resolution that are no longer in your group.</example>
            <example>Those customers participating in the plan will see bills this summer that are comparable to last summer's bills.</example>
            <example>Have they made improvements to said abomination that are acceptable for the current level of business.</example>
            <example>Mr. Scheidt said funds can't ignore major changes affecting pricing that occur after trading closes.</example>
            <example>I told the customer that order # EXPR13904218 was on its way.</example>
        </rule>
        <rule id="NNS_THAT_AGREEMENT" name="She brought some things that isn't (aren't) on the list">
            <antipattern>
                <token chunk="E-NP-singular" />
                <token chunk="B-PP" />
                <token chunk="E-NP-plural" />
                <token chunk="B-VP" />
                <token skip="1" chunk="B-NP-plural" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token chunk="B-PP" />
                <token chunk="B-NP-plural" />
                <token chunk="E-NP-plural" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token skip="-1" chunk="B-SBAR" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token chunk="B-VP" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token chunk="B-VP" />
                <token chunk="I-VP" />
                <token chunk="I-VP" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token chunk="E-NP-plural" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token chunk="E-NP-plural" />
                <token regexp="yes">in|of</token>
            </antipattern>
            <antipattern>
                <token postag="CC" />
                <token min="0" chunk="B-NP-plural" />
                <token min="0" max="2" chunk="I-NP-plural" />
                <token chunk="E-NP-plural" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">an?|of|whatever|information</token>
                <and>
                    <token chunk="E-NP-plural" />
                    <token regexp="yes" case_sensitive="yes">[a-z].*</token>
                </and>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>for</token>
                <token postag="VBG" />
                <token postag="NNS" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token skip="-1">if</token>
                <token skip="-1" chunk="B-VP" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token regexp="yes">is|'s</token>
                <token postag="JJ" />
                <token regexp="yes">-|\.|\?|\!</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token regexp="yes">is|'s</token>
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">wh(y|en)</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token skip="-1" postag="MD|VBZ" postag_regexp="yes" />
                <token>that</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token>that</token>
                <token postag="VBZ" />
                <token postag="VB[DN]" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">gods?</token>
                <token>that</token>
                <token regexp="yes">is|'s</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token regexp="yes" skip="-1">an?</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">these|some</token>
                <token regexp="yes">days|times</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START|PCT|V.*" postag_regexp="yes">
                    <exception postag="NN:UN?|RP" postag_regexp="yes" />
                    <exception inflected="yes">be</exception>
                </token>
                <token min="0" postag="P?DT|PRP\$.*|JJ" postag_regexp="yes">
                    <exception postag="RP" />
                </token>
                <token postag="NNS">
                    <exception postag="NN(:UN)?" postag_regexp="yes" />
                    <exception regexp="yes">bacteria|.*cs|chances|criteria|data|debris|detritus|fish|fuzz|odds|sounds|thanks|yikes</exception>
                </token>
                <token>that</token>
                <marker>
                    <token postag="VBZ">
                        <exception regexp="yes">brands|horses|husbands|is|issues|kids|provisions|slaves|soldiers</exception>
                        <exception>'s</exception>
                    </token>
                </marker>
            </pattern>
            <message>Possible subject-verb agreement error.</message>
            <suggestion><match no="5" postag="VBP" /></suggestion>
            <example correction="work">He has tools that <marker>works</marker> for this model.</example>
            <example correction="work">He has the tools that <marker>works</marker> for this model.</example>
            <example>Thanks that helps.</example>
            <example>Sometimes something that needs lubrication makes a noise at slow speeds that goes away as speed picks up.</example>
            <example>All's fish that comes to the net.</example>
            <example>Yikes that sounds very powerful!!!</example>
            <example>Technically, it is windows that spaces contain not applications.</example>
            <example>Keyboard Maestro will only offer contacts that Messages says it will accept.</example>
            <example>One of the characteristics of frequency analysis of letters is that while the distributions of individual letters may vary widely from the norm, the law of averages dictates that groups of letters vary less.</example>
            <example>Are you sure there is data that meets the query criteria?</example>
            <example>There is a green check box that says able to merge.</example>
            <example>Sounds that is exactly what's going on.</example>
            <example>google says that's aka min-101, I think I read about that on this site before.</example>
            <example>Trivia that doesn't even belong in the The Smashing Pumpkins article.</example>
            <example>It is a colonial nesting species that builds a shallow nest using marsh vegetation and often competes with gulls for nesting sites.</example>
            <example>There is something digitally different with the battery equipped models that isn't playing nice with others… </example>
            <example>Then I will know if it is data size or file numbers that is the problem.</example>
            <example>Ironically, this is the only one of his named features that has retained his original designation.</example>
            <example>Today there are signs that's no longer true.</example>
            <example>Tough and very weird times that's for sure.</example>
            <example>In today's environment of low interest rates that is extremely attractive.</example>
            <example>The chances that happens are minimal.</example>
            <example>Display system in flight simulators that uses collimated light</example>
            <example>The privileges that husbands enjoy are terrible for the lover who truly loves him.</example>
            <example>Mark also stated that by contract that if ENA can not meet their obligations that gives NNG that right to purchase power directly from Midland Power.</example>
            <example>Checking your connections that's good - https://check-your-website.server-daten.de/?q=bhooks.com</example>
            <example>These days that is becoming a rare find.</example>
            <example>The Arts Laboratory is a place that exhibits interdisciplinary arts that depends on the Arts and Humanities Division of CUAAD.</example>
            <example>What is it about freedom and open minds that makes me smile?</example>
            <example>PS… It's definitely whatever is programmed to edit the posts that breaks the images</example>
            <example>The loan relates to one of Enron's consolidated limited partnerships that owns minority interests in power and energy projects around the world.</example>
            <example>His radio show often promotes climate change denial, including claims that increases in carbon dioxide are natural and that there is significant scientific disagreement on the IPCC's findings.</example>
            <example>Some times that is the best we can do.</example>
            <example>Is it possible to develop an app/theme that can hide elements like “Space Settings” from the side bar and the … button on pages that leads to “Page Information” from anonymous users.</example>
            <example>Is there a best practice for status codes on blocked requests that aligns with New Relic's apdex scoring?</example>
            <example>I know an application called Workspaces that does a similar task</example>
            <example>No auction/deal information should be given phone participants that is not available to electronic participants.</example>
            <example>Yeah I'm not talking about going off meds that's not why I posted. </example>
            <example>A lot of times people don't believe people in isolation, but when you hear repeated stories that's when you begin to think these are systemic problems that we need to deal with.</example>
            <example>This is a conspiracy theory, part of a longstanding conspiracist tradition about secretive groups manipulating international events that stretches back to the 18th century.</example>
            <example>The basic underlying physics that makes phenomena such as rogue waves possible is that different waves can travel at different speeds, and so they can "pile up" in certain circumstances – known as "constructive interference"</example>
            <example>The criteria that determines one manic episode is vague and depends on the the story of the patient as reinterpreted by the psychiatrist.</example>
            <example>My gods that's some awful writing in general, not just terrible sex.</example>
            <example>Later, her colleague Annie Jump Cannon reordered the classification system based upon the surface temperature of stars, resulting in the Harvard system for classifying stars that is still in use today.</example>
            <example>That workers supported him then, as some still do today, has much less to say about Trump's magic, than the complete ignorance and inability to muster up critical thinking skills that infects these supporters even today.</example>
            <example>The term array is often used to mean array data type, a kind of data type provided by most high-level programming languages that consists of a collection of values or variables that can be selected by one or more indices computed at run-time.</example>
            <example>It is the prohibition against deacons pronouncing blessings that leads some to believe that deacons cannot solemnise matrimony.</example>
            <example>Pristine rainforests that<marker>'s</marker> worth protecting.</example><!-- this rule doesn't insert a space, plus this looks like more of a punctuation problem -->
            <example>We told the students that snacks packed with sugar are bad for them.</example>
        </rule>
        <rule id="TYPO_THEY_S" name="They's (They'd) already read his biography" default="off">
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token regexp="yes">we|they</token>
                <token>'s</token>
                <token regexp="yes">&quote;</token>
            </antipattern>
            <pattern>
                <token regexp="yes">we|they</token>
                <token>'s</token>
            </pattern>
            <message>Typo detected: Did you mean to write '\1'd' (contracted form of '\1 had' or '\1 would')?</message>
            <suggestion>\1'd</suggestion>
            <example correction="We'd"><marker>We's</marker> gone over it the night before, but I still didn't feel ready.</example>
            <example correction="They'd"><marker>They's</marker> already read his biography.</example>
            <example correction="they'd">He promised <marker>they's</marker> meet again.</example>
            <example>I have eliminated all the "we's" I found, and fixed the spelling inconsistancy.</example>
            <example>When Tang Wan read Lu You's poem in the garden, she immediately wrote one in the same form in response.</example>
            <example>When Tang Wan read You's poem in the garden, she immediately wrote one in the same form in response.</example>
            <example>It wasn't enough fuck you's for me feel bad about it, though.</example>
            <example>He was getting thank you’s from the people he had helped.</example>
        </rule>
        <rulegroup id="SINGULAR_THAT_WHICH_WHO_AGREEMENT" name="The report that describe(s|d) it in detail is missing" default="off">
                <antipattern>
                    <token postag="SENT_START" />
                    <token postag="V.*" postag_regexp="yes" />
                    <token chunk_re="B-(NP.*|PP)">
                        <exception>for</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token postag="JJ" />
                    <token postag="," />
                    <token chunk_re="B-NP.*" />
                </antipattern>
                <antipattern>
                    <token skip="-1" postag="SENT_START|PCT" postag_regexp="yes">
                        <exception scope="next" regexp="yes">that|which|who</exception>
                    </token>
                    <token chunk="B-VP" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>mères</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token>matter</token>
                </antipattern>
                <rule>  <!-- multi-word subject -->
                    <antipattern>
                        <token skip="-1">and</token>
                        <token postag="," />
                        <token skip="-1" chunk="B-NP-singular">
                            <exception postag="PRP_S.*" postag_regexp="yes" />
                        </token>
                        <token chunk="E-NP-singular" />
                        <token regexp="yes">that|which|who</token>
                    </antipattern>
                    <antipattern>
                        <token postag="SENT_START" />
                        <token />
                        <token postag="VBZ" />
                    </antipattern>
                    <antipattern>
                        <token regexp="yes">that|which|who</token>
                        <token skip="-1" postag="VBP" chunk="B-VP" />
                        <token regexp="yes">(a|we)re</token>
                    </antipattern>
                    <antipattern>
                        <token>the</token>
                        <token postag="JJ(R|S)" postag_regexp="yes" />
                        <token regexp="yes">that|which|who</token>
                    </antipattern>
                    <antipattern>
                        <token>the</token>
                        <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                        <token>who</token>
                    </antipattern>
                    <pattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />
                        <token skip="-1" chunk="B-NP-singular">
                            <exception postag="EX|PRP_S.*|RB|W.*" postag_regexp="yes" />
                            <exception regexp="yes">all|i|its|just|most|other|please|staff|those|>|\*</exception>
                            <exception scope="next" postag="NNPS|," postag_regexp="yes" />
                            <exception scope="next" regexp="yes">and|of|those|\(|\)</exception>
                        </token>
                        <token chunk="E-NP-singular">
                            <exception postag="CD" />
                            <exception regexp="yes">all|audience|band|couple|.*ea|etc|few|handful|majority|.*s|some|staff|those|will|\(|\)|></exception>
                        </token>
                        <token regexp="yes" case_sensitive="yes">that|which|who</token>
                        <marker>
                            <token postag="VBP" chunk="B-VP">
                                <exception postag="VBD" />
                                <exception regexp="yes" inflected="yes">be|out|will|&uncommon_verbs;</exception>
                            </token>
                        </marker>
                    </pattern>
                    <message>The verb '\5' does not seem to match the subject.</message>
                    <suggestion><match no="5" postag="VBZ" /></suggestion>
                    <suggestion><match no="5" postag="VBD" /></suggestion>
                    <example correction="succeeds|succeeded">The first man that <marker>succeed</marker> in swimming the Channel was Captain Webb.</example>
                    <example correction="predisposes|predisposed">Bloom syndrome, autosomal recessive human genetic disorder that <marker>predispose</marker> patient to a wide variety of cancer</example>
                    <example correction="describes|described">The report that <marker>describe</marker> everything in detail is missing.</example>
                    <example correction="checks|checked">Happens even on default script that <marker>check</marker> NewRelic site (which prepoulated on monitor creation).</example>
                    <example correction="makes|made">The only thing that <marker>make</marker> it interesting is the Vault Key if you're lucky enough to even get enough matches to even get it!</example>
                    <example correction="invoices|invoiced">The coordinator who <marker>invoice</marker> them use the January NGI index price instead of the correct month index.</example>
                    <example correction="seems|seemed">Remove delay that <marker>seem</marker> to have been added in 2.0</example>
                    <example>There still are not any that don't require custom code.</example>
                    <example>i need macro that move file every 30 files.</example>
                    <example>Happy are those who think themselves wise.</example>
                    <example>Pierce ) that are also in line.</example>
                    <example>Send (who are you?</example>
                    <example>Most of them that are free take too much work.</example>
                    <example>Deny the fact who can,</example>
                    <example>Those of you who are holding back, please give it some thought.</example>
                    <example>Only those > who know you well know that you aren't.</example>
                    <example>Its them who try to act like we don't exist and that they owe no responsibility towards us.</example>
                    <example>Other federates that are subscribed to the class can discover the object and then receive attribute value updates.</example>
                    <example>However, the band do not consider themselves a punk band, more a rock 'n' roll band who are influenced by punk.</example>
                    <example>They are fast taking, high pressure salesman who specialize in letting tourist think they are getting a deal.</example>
                    <example>Can we get a text update to Bog Slime to say “13 random gems” to be in line with things like Behemoth, Bombot, or Marilith that do similar things?</example>
                    <example>Even some who enjoy it would turn away.</example>
                    <example>A few that come to mind:</example>
                    <example>Abandon hope, all ye who enter here.</example>
                    <example>The only archaea that make glutathione are halobacteria.</example>
                    <example>> Will that do the trick ?</example>
                    <example>That and no matter which button I press it seems like it sends the same call.</example>
                    <example>What about all our existing automations on apps like webCoRE which are just going to disappear overnight?</example>
                    <example>Just google “places near me that sell car batteries” to find vendors in your area.</example>
                    <example>Please note that merge and delete is an unacceptable vote according to our current deletion policy.</example>
                    <example>When they left, the couple that let the passengers stay, found the violin.</example>
                    <example>A note that read, "Don't forget breakfast!" had been stuck on the fridge.</example>
                    <example>The two that don't work, aren't scheduled–they're meant to be kicked off by sensor events.</example>
                    <example>Staff are who have received more yes votes than no votes in this election are eligible to receive contracts negotiated on the floor of the School Meeting.</example>
                    <example>Other true freshman who have played are defensive tackle Stevie Lee, safety Phillip Geiggar and wide receive Sloan Thomas.</example>
                    <example>Ranger Trainers, experienced staff who have finished one or more seasons as a Ranger, train and supervise Rangers.</example>
                    <example>Yup @lior.avni \- check that out here: https://play.google.com/store/apps/details?id=com.newrelic.insightsandhl=en</example>
                    <example>* control which drive the log files are written to</example>
                    <example>Revolv lets you control Insteon products, any way that will one day work?</example>
                    <example>MikeNH-Those “arms” like those on the clock that show hour and minutes.</example>
                    <example>Activate all who work with Transmission or have any good ideas on the subject.</example>
                    <example>Paula later has six daughters of her own who help her run the laundry.</example>
                    <example>AFC News Source – Jews by birth who practice Buddhism</example>
                    <example>Mères lyonnaises are female restaurateurs particular to this region who provide local gourmet establishments.</example>
                    <example>I haven't seen a single piece of documentation or code samples, GISTs etc that show how this is done.</example>
                    <example>Basically, the audience who attend this are eager to attend the most advanced financial mathematics course available for energy practitioners.</example>
                    <example>Major iron-ore deposits are located south of Moscow, near the Ukrainian border in the Kursk Magnetic Anomaly; this area contains vast deposits of iron ore that have caused a deviation in the Earth's magnetic field.</example>
                    <example>Then interview 2 or 3 from that list that specialize in your make.</example>
                    <example>As smaller companies leave the market, the handful that remain will be dealing in progressively larger volumes, which could result in increased price volatility.</example>
                    <example>It is composed of two distinct areas, the Lower and Upper Shahi-Kot which run roughly parallel to each other.</example>
                    <example>One problem that any rendering system must deal with, no matter which approach it takes, is the sampling problem.</example>
                    <example>If we fail to act, our country will become more reliant on foreign crude oil, putting our national energy security into the hands of foreign nations, some of whom who do not share our interests.</example>
                    <example>Alberta power that have traded other products on EOL are not new customers.</example>
                    <example>We believe that we are in a position to execute this swap (Delta Power is at the table), but during the past two weeks we have received very strong tolling bids (Merrill Lynch, Duke, Constellation) for the LV project that imply a $20MM value to the project but require a commercial operation date of Sep02.</example>
                    <example>The fewer who know, the better.</example>
                    <example>Washington State law that plan beneficiaries are automatically revoked upon divorce preempted by federal law.</example>
                    <example>A new WHO report found that progress in combating the tobacco epidemic and in reducing demand is being made, but not enough.</example>
                    <example>There is a guy on our desk, Mike Olsen, and another guy, Jay Smith that want to play if you need a replacement for me.</example>
                    <example>This differs from approaches such as the Internet Protocol or Ethernet that use variable sized packets and frames.</example>
                </rule>
                <rule>  <!-- single word subject -->
                    <antipattern>
                        <token skip="1" postag="," />
                        <token postag="," />
                        <token chunk="B-NP-singular" />
                        <token regexp="yes">that|which|who</token>
                    </antipattern>
                    <antipattern>
                        <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                        <token postag="," />
                        <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                        <token regexp="yes">that|which|who</token>
                    </antipattern>
                    <antipattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />
                        <token postag="CD">
                            <exception>one</exception>
                        </token>
                    </antipattern>
                    <pattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />
                        <token chunk="B-NP-singular">
                            <exception postag="V.*" postag_regexp="yes" />
                            <exception regexp="yes">all|any|both|few|faculty|I|.*ia|many|most|plenty|.*s|several|some|staff|steelhead|they|those|we|ye|you|\(|\)</exception>
                        </token>
                        <token regexp="yes" case_sensitive="yes">that|which|who</token>
                        <marker>
                            <token postag="VBP" chunk="B-VP">
                                <exception postag="VBD|MD" postag_regexp="yes" />
                                <exception regexp="yes" inflected="yes">be|out|will|&uncommon_verbs;</exception>
                            </token>
                        </marker>
                    </pattern>
                    <message>The verb '\4' does not seem to match the subject.</message>
                    <suggestion><match no="4" postag="VBZ" /></suggestion>
                    <suggestion><match no="4" postag="VBD" /></suggestion>
                    <example correction="allows|allowed">I'm looking for code playground packs for all languages, something that <marker>allow</marker> me to see what I'm doing while I'm programming.</example>
                    <example correction="does|did">Everything which <marker>do</marker>n't make money is dropped, the Groups will probably be too (forcing users to use G+ instead). </example>
                    <example correction="wakes|waked|woke">He who <marker>wake</marker> up the earliest gets the most done.</example>
                    <example correction="thinks|thought">Victim who <marker>think</marker> he receives freedom and had his own free will.</example>
                    <example>All hope abandon, ye who enter in.</example>
                    <example>Co-workers who don't do their fair share.</example>
                    <example>When the young hatch, they climb up onto the mother's back; any which fall off before their first moult will not survive.</example>
                    <example>All who wander are not lost.</example>
                    <example>Steelhead that live out their lives in fresh water are called rainbow trout.</example>
                    <example>Pubs, both which serve food</example>
                    <example>Some that apply negative effects for leaving a battle early.</example>
                    <example>Plenty who have done better I'm sure.</example>
                    <example>Most who get into mind go the route of psychology.</example>
                    <example>Instead, I have created three dummy lines in your list; two that follow my format, as well as the line `+New`, which I use to add new data to my file.</example>
                    <example>Faculty who receive the Outstanding Teacher Award are recognized for this important accomplishment by both the UC Berkeley Campus and the Haas School of Business.</example>
                    <example>He who can, does.</example>
                    <example>Cnidaria that carry photosynthetic symbionts may have the opposite problem, an excess of oxygen, which may prove toxic.</example>
                    <example>Business ethics operates on the premise, for example, that the ethical operation of a private business is possible—those who dispute that premise, such as libertarian socialists, (who contend that "business ethics" is an oxymoron) do so by definition outside of the domain of business ethics proper.</example>
                    <example>The project would be to do the assembly of pertinent rules, legislation, tariffs, etc that govern the retail gas and power markets in Ontario (same project Fino and Dave Vetsch are doing in Alberta).</example>
                    <example>... based on national samples (e.g.,) that have been hitherto unavailable.</example>
                    <example>... developed in Birmingham, England which have spread to other western countries and a...</example>
                    <example>WHO BCG policy: The WHO recommend BCG be given to all children born in countries highly endemic for TB because it protects against miliary TB and TB meningitis.</example>
                </rule>
                <rule>  <!-- single word subject - 'to be' cases -->
                    <antipattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />
                        <token postag="CD">
                            <exception>one</exception>
                        </token>
                    </antipattern>
                    <pattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes">
                            <exception postag="," />
                        </token>
                        <token chunk="B-NP-singular">
                            <exception postag="IN|RB|UH|V.*" postag_regexp="yes" />
                            <exception regexp="yes">@?all|any|both|faculty|few|I|Kagema|lmao|many|most|none|plenty|.*s|some|staff|steelhead|that|the|they|those|we|which|wtf|ye|you|&quote;|>|—</exception>
                        </token>
                        <token regexp="yes" case_sensitive="yes">that|which|who</token>
                        <marker>
                            <token regexp="yes">am|are|were</token>
                        </marker>
                    </pattern>
                    <message>The verb '\4' does not seem to match the subject.</message>
                    <suggestion>is</suggestion>
                    <suggestion>was</suggestion>
                    <example correction="is|was">Everything which <marker>are</marker>n't making money is dropped, the Groups will probably be too (forcing users to use G+ instead). </example>
                    <example>@all who are interested in drupal tests or discussion apply for new subgroup!</example>
                    <example>IFTTT (“If this, than that”) lets you create conditional statements, known as “applets,” which are triggered based on changes to other web services.</example>
                    <example>None that are zwave, but there are two that are Wi-Fi and can work well.</example>
                    <example>LMAO Who are you.</example>
                    <example>WTF Who are they trying to kid? and who are they stealing from?</example>
                    <example>Just who are you anyway?</example>
                    <example>These artists in particular have been exceptionally successful due to the millions of Latinos in Los Angeles, California that are bilingual/bicultural.</example>
                    <example>And this must be understood of Lands and Fees, the which were accustomed to be in the King's Hands, by reason of Knight service, or Serjeanty, or Right of Patronage.</example>
                    <example>Bus services are available to Guwahati, Assam which are run by Network travels, Blue Hills travels etc.,.</example>
                    <example>The Who are one of the most influential rock bands of the 20th century.</example>
                    <example>He was also the author of numerous pieces, amongst which are a life of Thomas a Kempis and a satire on the follies of women entitled Navicula Stultarum Mulierum.</example>
                    <example>The following year, Frederick Hopkins postulated that some foods contained "accessory factors" — in addition to proteins, carbohydrates, fats etc. — that are necessary for the functions of the human body.</example>
                    <example>Many that were not shot were left behind on the Kerguelen Islands.</example>
                    <example>The generation is generally done in gasses (e.g. krypton, hydrogen which are two-photon resonant near 193 nm) or metal vapors (e.g. magnesium).</example>
                    <example>Kagema who were not affiliated with an actual kabuki theatre could be hired through male brothels or those teahouses specializing in kagema.</example>
                    <example>Few who were part of the Free India Legion ever saw any combat, and very few were ever stationed outside Europe.</example>
                    <example>Not who were they 2 years ago.</example>
                    <example>Oh who am I kidding haha?</example>
                    <example>> Who are America's “homeless” except yesterday's formerly employed.</example>
                    <example>But sure, “the left are the REAL racists!” who are totally “making nazis by calling all whites nazis”.</example>
                </rule>
        </rulegroup>
        <rulegroup id="PLURAL_THAT_WHICH_WHO_AGREEMENT" name="plural subjects" default="off">
                <antipattern>
                    <token postag="SENT_START" />
                    <token postag="V.*" postag_regexp="yes" />
                    <token chunk_re="B-(NP.*|PP)">
                        <exception>for</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|CC" postag_regexp="yes" />
                    <token>no</token>
                    <token>matter</token>
                    <token regexp="yes">that|which|who</token>
                </antipattern>
                <antipattern>
                    <token postag="JJ" />
                    <token postag="," />
                    <token chunk_re="B-NP.*" />
                </antipattern>
                <antipattern>
                    <token skip="-1" postag="SENT_START|PCT" postag_regexp="yes">
                        <exception scope="next" regexp="yes">that|which|who</exception>
                    </token>
                    <token chunk="B-VP" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>mères</token>
                </antipattern>
                <rule>  <!-- multi-word subject -->
                    <antipattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />
                        <token />
                        <token postag="VBZ" />
                        <token postag="NN(:UN?)?" postag_regexp="yes" />
                    </antipattern>
                    <antipattern>
                        <token case_sensitive="yes">United</token>
                        <token min="0" case_sensitive="yes">Arab</token>
                        <token regexp="yes" case_sensitive="yes">Emirates|States</token>
                    </antipattern>
                    <antipattern>
                        <token skip="-1">any<exception scope="next" postag="NNS" /></token>
                        <token chunk="E-NP-plural" />
                    </antipattern>
                    <antipattern>
                        <token postag="NNS" />
                        <token regexp="yes" chunk="E-NP-plural">.*er</token>
                    </antipattern>
                    <antipattern>
                        <token>–</token>
                        <token regexp="yes">that|which|who</token>
                    </antipattern>
                    <antipattern>
                    <token>a</token>
                        <token regexp="yes">(wo)?men</token>
                    </antipattern>
                    <pattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />   <!-- if this rule is still problematic, get rid of 'PCT' -->
                        <token skip="-1" chunk="B-NP-plural">
                            <exception postag="VBZ" />
                            <exception regexp="yes">an?|criteria|data|graffiti|i|.*one|please|series|shrimp|this|>|\*</exception>
                            <exception scope="next" postag="NNP|VB(D|P)" postag_regexp="yes" />
                            <exception scope="next" regexp="yes">an?|or|\(</exception>
                        </token>
                        <token regexp="yes" chunk="E-NP-plural">.*(en|s)
                            <exception postag="NN(:UN)?|RP" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*|claims|economics|series|states|yikes|\(|\)|></exception>
                        </token>
                        <token regexp="yes">that|which|who</token>
                        <marker>
                            <token postag="VBZ" chunk="B-VP">
                                <exception regexp="yes" inflected="yes">be|out|will|&uncommon_verbs;</exception>
                            </token>
                        </marker>
                        <token>
                            <exception postag="PRP_[SO].*" postag_regexp="yes" />
                            <exception>that</exception>
                        </token>
                    </pattern>
                    <message>The verb '\5' does not seem to match the subject.</message>
                    <suggestion><match no="5" postag="VBP" /></suggestion>
                    <suggestion><match no="5" postag="VBD" /></suggestion>
                    <example correction="have|had">Any agents that <marker>has</marker> the marshaller set to json are not affected.</example>
                    <example correction="start|started">All classes that <marker>starts</marker> out with 50% mana have already a great advantage over the classes that do not.</example>
                    <example correction="support|supported">The mission of TDOT is to provide a safe and reliable transportation system for people, goods, and services that <marker>supports</marker> economic prosperity in Tennessee.</example>
                    <example correction="connect|connected">All endpoints which <marker>connects</marker> and publish a messages throw 500 error.</example>
                    <example correction="turn|turned">Here is a crazy idea: Permanent Equipement cards that <marker>turns</marker> your troop in a Battle Form.</example>
                    <example correction="succeed|succeeded">The first men that <marker>succeeds</marker> in swimming the Channel were Captain Webb and Captain Crunch.</example>
                    <example correction="describe|described">The reports that <marker>describes</marker> everything in detail are missing.</example>
                    <example correction="go|went">Any other good troops that <marker>goes</marker> with Sacrifice?</example>
                    <example correction="attract|attracted">The park has much natural scenery, valuable trees and herbs which <marker>attracts</marker> many people.</example>
                    <example>Needs title that includes location.</example>
                    <example>Tom claims that doesn't bother him.</example>
                    <example>The horse which carries Cornelius is beautiful.</example>
                    <example>Hertfordshire Sports Village which includes a gym, swimming pool, squash courts is also on this site.</example>
                    <example>This impacts who holds what data, and who shares data with whom.</example>
                    <example>The arms industry which rubs its hands with glee every time one of these new wars starts.</example>
                    <example>The authoritarian manager rewards sycophants and punishes anyone who suggests possible improvements to practices and procedures.</example>
                    <example>A women who doesn't criticize you anymore is a women who doesn't love you anymore.</example>
                    <example>Everyone designs who devises courses of action aimed at changing existing situations into preferred ones.</example>
                    <example>The only subject Greta treats which makes me feel slightly uncomfortable is her autism, as she calls it her “special power.”</example>
                    <example>Encirq, an online marketing services company that protects consumer privacy, said it has raised more than $37 million in its third round of funding.</example>
                    <example>His novella Who Goes There?</example>
                    <example>The young woman who works at the bakery is pretty.</example>
                    <example>The shrimp that falls asleep is carried away by the current.</example>
                    <example>Empire Genomics (company that sells BAC clones from genomic libraries)</example>
                    <example>Laws over who gets Bumiputra status vary between states.</example>
                    <example>The young lady who works with us is Muslim.</example>
                    <example>DPUC releases draft decision that denies FCEL 26MW project entirely.</example>
                    <example>Since the wolverine is a ferocious beast, even a bear that encounters a wolverine tries to avoid it.</example>
                    <example>Leo also introduces Nick to Pete, his middle-aged former lover who runs an antiques shop, like Nick's father, and who is sickly.</example>
                    <example>Churchs Ferry is a city in Ramsey County, North Dakota, United States that has been impacted by the expansion of nearby Devils Lake.</example>
                    <example>The criteria that determines one manic episode is vague and depends on the the story of the patient as reinterpreted by the psychiatrist.</example>
                    <example>The community-created wiki, things that are smart, includes an article on repeaters that lists specific repeater models that may be of use for specific use cases:</example>
                    <example>Later this year, Guggenheim closes the gallery and Pollock produces the first of his Drip Paintings, the series that brings him international acclaim, in the Springs, East Hampton, New York.</example>
                    <example>The data which comes into the Plugins dashboard is being reported to it by the Plugins agent.</example>
                    <example>Agency Nominations Affected Another area that stands to be affected is the nomination process, McLaughlin added.</example>
                    <example>The Exchange states that bills from sellers to buyers will go to the buyers via the Exchnage.</example>
                    <example>The only graffiti that lasts more than 24 hrs in my town is stuff by bumblebee…</example>
                    <example>The hose that has the QD that broke, I will have to assemble myself but it is just the hose and the QD and two spring type hose clamps.</example>
                    <example>The modern bourgeois society that has sprouted from the ruins of feudal society has not done away with class antagonisms.</example>
                    <example>The amendment would define a computer virus as "any computer instruction, information, data or program that degrades the performance of a computer resource; disables, damages or destroys a computer resource; or attaches itself to another computer resource and executes when the host computer program, data or instruction is executed or when some other event takes place in the host computer resource, data or instruction.</example>
                    <example>Many operating systems support multitasking which enables many computer programs to appear to run simultaneously on one computer.</example>
                    <example>..., our principal transactions lawyer who has been working for more than a year with ...</example>
                    <example>Any young player who has good control will become a successful curve pitcher long before the pitcher who is endeavoring to master both curves and control at the same time.</example>
                    <example>Marvel Enterprises which holds the rights to Spiderman and other characters, including Thor and the Incredible Hulk, said Wednesday it signed an exclusive deal to sell the licensing rights for the Marvel Universe online through IPnetwork.com.</example>
                    <example>His belief that implies that angels indulged in coitus with human women.</example>
                    <example>On the same day Governor Davis was blasting the Bush energy plan, his appointee who runs the Public Utilities Commission, Loretta Lynch, told a newspaper that power generators purposefully keep their plants idle to jack up prices.</example>
                    <example>Bob our baby who works down at the AandW to support our propane usage.</example>
                </rule>
                <rule>  <!-- single word subject -->
                    <pattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes" />
                        <token regexp="yes" chunk="B-NP-plural">.*(en|s)
                            <exception regexp="yes">claims|economics|series|states|yikes|&quote;|\(|\)|>|-</exception>
                        </token>
                        <token regexp="yes">that|which|who</token>
                        <marker>
                            <token postag="VBZ" chunk="B-VP">
                              <exception regexp="yes" inflected="yes">be|out|will|&uncommon_verbs;</exception>
                            </token>
                        </marker>
                    </pattern>
                    <message>The verb '\4' does not seem to match the subject.</message>
                    <suggestion><match no="4" postag="VBP" /></suggestion>
                    <suggestion><match no="4" postag="VBD" /></suggestion>
                    <example correction="allow|allowed">Ones that <marker>allows</marker> me to see what I'm doing while I'm programming.</example>
                    <example correction="do|did">Things which <marker>does</marker>n't make money are dropped, the Groups will probably be too (forcing users to use G+ instead). </example>
                    <example correction="think|thought">Victims who <marker>thinks</marker> they receive freedom and had their own free will.</example>
                    <example correction="use|used">End users: Users who <marker>uses</marker> the connect app</example>
                    <example>Pig-root: Horse which bucks and tries to throw the rider.</example>
                    <example>Yikes that sounds very powerful!!!</example>
                </rule>
                <rule>  <!-- single word subject - 'to be' cases -->
                    <pattern>
                        <token postag="SENT_START|PCT" postag_regexp="yes">
                            <exception postag="," />
                        </token>
                        <token regexp="yes" chunk="B-NP-plural">.*(en|s)
                            <exception postag="IN|UH" postag_regexp="yes" />
                            <exception regexp="yes">claims|economics|series|states|yikes|&quote;|\(|\)|>|-</exception>
                        </token>
                        <token regexp="yes">that|which|who</token>
                        <marker>
                            <token regexp="yes">is|was</token>
                        </marker>
                    </pattern>
                    <message>The verb '\4' does not seem to match the subject.</message>
                    <suggestion>are</suggestion>
                    <suggestion>were</suggestion>
                    <example correction="are|were">Utilities which <marker>is</marker> a subsidiary of Con Edison.</example>
                    <example correction="are|were">Items which <marker>is</marker>n't making money are dropped, the Groups will probably be too (forcing users to use G+ instead).</example>
                    <example>Im seeing Database Sizes, Indexes, Collections which is fine but no metrics?</example>
                    <example>Data which is confidential should be available to bidders subject to a confidentiality agreement.</example>
                </rule>
        </rulegroup>
        <rulegroup id="MISSING_VERB_AFTER_WHAT" name="What (is) up?">
            <rule>
                <antipattern>
                    <token>up</token>
                    <token regexp="yes">untill?|till|to</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">what|which</token>
                    </marker>
                    <token regexp="yes">wrong|right|(in)?correct|true|up|going|happening</token>
                    <token postag="PCT|IN|CC" postag_regexp="yes">
                        <exception regexp="yes">now|provided</exception>
                    </token>
                </pattern>
                <message>It seems that a verb is missing after "what".</message>
                <suggestion>\3 is</suggestion>
                <example correction="What is"><marker>What</marker> wrong with that?</example>
                <example correction="What is"><marker>What</marker> going on with you?</example>
                <example>Germany, which up until the 1953 Debt agreement had to work on the assumption that all the Marshall Plan aid was to be repaid, spent its funds very carefully.</example>
                <example>This will affect any SmartThings-branded Z wave devices, which right now is just the hub and the future “extend” dongle.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">heck|fuck|f[lr]ick|hell|dickens</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">what|who|which|when|where</token>
                    </marker>
                    <token postag="PRP\$|DT" postag_regexp="yes" chunk_re="B-NP.*">
                        <exception>no</exception>
                    </token>
                    <token postag="JJ.*|CD|NN.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token>?</token>
                </pattern>
                <message>It seems that a verb is missing after "what".</message>
                <suggestion>\3 is</suggestion>
                <example correction="What is"><marker>What</marker> your name?</example>
                <example>What the hell?</example>
            </rule>
        </rulegroup>
        <rule id="PLAY_ED" name="play ed (played)">
            <antipattern>
                <token>ed</token>
                <token>.</token>
            </antipattern>
            <pattern>
                <token postag="VBP" case_sensitive="yes" regexp="yes" chunk_re=".-VP">
                    [a-z].*
                    <exception regexp="yes">sex|.+e|send|put|say|tell|think|go|do|see|drink|build|&uncommon_verbs;</exception>
                </token>
                <token case_sensitive="yes">ed</token>
            </pattern>
            <message suppress_misspelled="yes">Did you mean the verb <suggestion><match no="1" postag="VBP" postag_regexp="yes" postag_replace="VBD" /></suggestion>?</message>
            <example correction="played">We <marker>play ed</marker> catch.</example>
            <example>In school they have sex ed.</example>
        </rule>
        <rulegroup id="LOOK_FORWARD_TO" name="missing 'to' after 'look forward'">
            <url>https://dictionary.cambridge.org/dictionary/english/look-forward-to-sth</url>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">look</token>
                        <token>forward</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token chunk_re="[EI]-NP.*" />
                </pattern>
                <message>It appears that the preposition "to" is missing.</message>
                <suggestion>\1 \2 to</suggestion>
                <example correction="look forward to">I <marker>look forward</marker> your event.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">look</token>
                        <token>forward</token>
                    </marker>
                    <token regexp="yes">hearing|seeing|receiving|visiting|having|going|meeting|doing|making</token>
                </pattern>
                <message>It appears that the preposition "to" is missing.</message>
                <suggestion>\1 \2 to</suggestion>
                <example correction="look forward to">I <marker>look forward</marker> hearing from you.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ITS_TO_IT_S" name="I have to do laundry while its (it's) still sunny">
            <rule>
                <antipattern>
                    <token>its</token>
                    <token postag="NN">
                        <exception>like</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token postag="JJ">
                        <exception>like</exception>
                    </token>
                    <token postag="NN" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token regexp="yes">are|did|seemed|was</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token regexp="yes">re.*
                        <exception regexp="yes">.*(ing|ed)</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token>due</token>
                    <token>to</token>
                    <token>its</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token chunk="B-VP">
                        <exception postag="MD|NNS|NN:UN?|VBZ" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">You opened my eyes to what <marker>its</marker> like when everything is right.</example>
                <example>460 man-hours were spent removing submerged and surface vegetation from the lake, to prevent its becoming a threat to aquatic life (due to its using up the oxygen supply when decomposing).</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="JJ.|RB.*" postag_regexp="yes" />
                    <token chunk_re="I-NP.*" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token>after</token>
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token>as</token>
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>its</token>
                    <token>either</token>
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>its</token>
                    <token>why</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">for|of|about</token>
                    <token>its</token>
                    <token regexp="yes">still|after</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">of|for</token>
                    <token>its</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token postag="CC">
                        <exception regexp="yes">provided|v</exception>
                    </token>
                    <token><exception postag="PRP\$_.*" postag_regexp="yes" /></token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">If you don't understand something, <marker>its</marker> because you aren't aware of its context.</example>
                <example>The company is often criticized by both the media and its own staff for its less upstanding policies regarding employee relations.</example>
                <example>The immediate city suburbs include Yeoville, a hot spot for black nightlife despite its otherwise poor reputation.</example>
                <example>ITs directly related to the number of ckicks you Do Mouse or otherwise on Tablet.</example>
                <example>ECC or ENA disposes of all or substantially all of its or their assets or (iii) ECC, ENA or Enron Corp. amalgamate, merge or consolidate into another entity other than an affiliate and such transaction would have a material adverse impact on the business on Suncor.</example>
                <example>The variable parts of an antibody are its V regions, and the constant part is its C region.</example>
                <example>The Choctaws witnessed the social forces that brought Freedom Summer and its after effects to their ancient homeland.</example>
                <example>Some special operators are provided to especially suit interactive development; for instance, DEFVAR will only assign a value to its provided variable if it wasn't already bound.</example>
                <example>My assumption in preparing the License Agreement was that there would be a business contract between Enron Networks and MFN covering such its as pricing, specific services, payment obligations.</example>
                <example>The ice then extended from the north down to the northern tip of Gotland, with small ice free areas on its either side, and the east coast of the Baltic Sea was covered by an ice sheet ca. wide all the way down to Gdańsk.</example>
                <example>Everything has its why, how and when.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>still</token>
                    <token postag="JJ" />
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">for|of|about</token>
                    <token>its</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token>still</token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">I have to do laundry while <marker>its</marker> still sunny.</example>
                <example>The stock is down over 15% since Sept. 11 and is likely to bounce in the near term, however we remain cautious given its still rich valuation.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token>impossible</token>
                    <token postag="SENT_END" />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">In a town you may pass unnoticed, whereas in a village <marker>its</marker> impossible.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">ups?</token>
                    <token>and</token>
                    <token>downs</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token chunk="B-ADVP">
                        <exception postag="ORD" />
                    </token>
                    <token><exception postag="ORD|VBZ" postag_regexp="yes" /></token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">I'm glad you enjoy skiing, but I guess <marker>its</marker> just not my cup of tea.</example>
                <example>It started slowly, it had its up and downs... </example>
                <example>Its really defeats the purpose of monitoring as e-mail is not exactly the best system to notify people of an outage in production at 12 in the morning.</example>
                <example>In the euphoria following the previous year's visit of Egyptian President Anwar el-Sadat to Jerusalem, Hadassah convenes its 64th National Convention—its first in Israel— bringing 2,500 participants to Jerusalem.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token>neck</token>
                    <token>and</token>
                    <token>neck</token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">The horses are coming down the track and <marker>its</marker> neck and neck.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token skip="1">that</token>
                    <token regexp="yes">&quote;|‘</token>
                    <token />
                    <token regexp="yes">&quote;|’</token>
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token postag="W.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">It's a small noisy apartment, but <marker>its</marker> where I live and I call it home.</example>
                <example>Im so with you there; its that ‘collection’ element that got me hooked - and there's enough of a curve to keep me coming back… Im still hunting for Mythics!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>its</token>
                    <token postag="N.*" postag_regexp="yes">
                        <exception>cold</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token postag="RB" />
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <and>
                        <token postag="SENT_END" />
                        <token postag="RB|V.*|," postag_regexp="yes" />
                    </and>
                </antipattern>
                <antipattern>
                    <token regexp="yes">of|about|for|from</token>
                    <token>its</token>
                    <token postag="VBG" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token postag="JJ">
                        <exception regexp="yes">designate|own</exception>
                    </token>
                    <token postag="IN">
                        <exception regexp="yes">amid|by|past|opposite|like|following</exception>
                    </token>
                    <token postag="RB|V.*|SENT_END|," postag_regexp="yes" />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">Come inside because <marker>its</marker> cold outside.</example>
                <example correction="It's|it's">Since <marker>its</marker> cold outside, you'd better put your overcoat on.</example>
                <example>As the day played on, COF traded up and ended up at its high of the day.</example>
                <example>I in its first round.</example>
                <example>But India continued to build up its forces on its border with Pakistan.</example>
                <example>India may not be able to do on its own in the near future.</example>
                <example>Almost Perfect was cancelled shortly into its second season, but the series sustained its loyal following via reruns on USA Network not long after.</example>
                <example>Montagny moved up to Formula 3000 in 1999, driving for the DAMS team which was falling from its peak by then.</example>
                <example>For deactivation, hydrolysis of the bound GTP by the Tα is necessary for Tα deactivation and returning the transducin to its basal from.</example>
                <example>Excavation of the inner moat, which is now lying as a dry ditch, conservation of the historical structures are parts of the 'Project' to restore 'Kangla' to its glorious past.</example>
                <example>tell frontProcess to set its frontmost to true</example>
                <example>The RefreshingValue is its exact opposite.</example>
                <example>We will learn about its functioning soon.</example>
                <example>March 16, 2010: Swift tied its record by again detecting and localizing four bursts in a single day.</example>
                <example>Hundreds of Gardaí had mounted a round the clock search of thousands of derelict sites in the working class suburb of Ballymun to find the child, as fears grew for its safety amid plummeting temperatures.</example>
                <example>The agreement furthermore specifies an interconnection order with facility authorization for EBS or its designate to install circuits.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <and>
                        <token postag="SENT_END" />
                        <token postag="RB|V.*|," postag_regexp="yes" />
                    </and>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>if</token>
                    <token>its</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-CONJP" />
                    <token>its</token>
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token min="0">very</token>
                    <token postag="NN">
                        <exception postag="JJ" />
                        <exception>kind</exception>
                    </token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="IN|P?DT|V.*" postag_regexp="yes" />
                        <exception regexp="yes">of|times</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token min="0">very</token>
                    <token postag="JJ|NN|VBG" postag_regexp="yes">
                        <exception regexp="yes">blessing|borrowing|intent|last|objective|potential</exception>
                    </token>
                    <token min="0" regexp="yes">for|of</token>
                    <token min="0" postag="PRP_O.*" postag_regexp="yes" />
                    <token>to</token>
                    <token postag="RB|VB|SENT_END|," postag_regexp="yes" />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">If you are going abroad, <marker>its</marker> necessary to have a passport.</example>
                <example correction="It's|it's">In the first place <marker>its</marker> necessary for you to get up early.</example>
                <example correction="It's|it's">Oh, <marker>its</marker> very kind of you to say so.</example>
                <example>tell frontProcess to set its frontmost to true</example>
                <example>Fed Shifts Its Model To Adapt to New Economic Reality 1.</example>
                <example>Brilliant claims to have Hue integration and will be first of its kind to have hard wired power and be smart enough to not kill power to Hue with off command.</example>
                <example>David Gerrold estimated before its release that the film would have to gross two to three times its budget to be profitable for Paramount.</example>
                <example>In order to demonstrate the slight movements of the boulder, it was common practice to place bottles under its base to watch them shatter.</example>
                <example>Hazeltine Research required Zenith pay a total percentage of all its sales to license Hazeltine's patents.</example>
                <example>Based on the language of the l/c, in order to terminate the l/c, JPMorgan Chase would have had to notify Lone Star Gas if its intent to not renew at least 30 days prior to the maturity date.</example>
                <example>Jakarta's business opportunities, as well as its potential to offer a higher standard of living, attract migrants from across the Indonesian archipelago, combining many communities and cultures.</example>
                <example>South of Heaven was Slayer's second album to enter the Billboard 200 and its last to be released by Def Jam Recordings, although the album became an American Recordings album after Rubin ended his partnership with Russell Simmons.</example>
                <example>In that publication, Davy notes the analgesic effect of nitrous oxide at page 465 and its potential to be used for surgical operations at page 556.</example>
                <example>Treble Cone is most known for its views over Lake Wanaka and Mount Aspiring/Tititea and its intermediate to advanced terrain.</example>
                <example>His NZRU contract prohibits him from being part of the Pumas' coaching staff for their matches against New Zealand during the 2012 Rugby Championship, but the NZRU has given him its blessing to work with the UAR at other times.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="V.*" postag_regexp="yes" />
                    <token>its</token>
                    <token>way</token>
                </antipattern>
                <antipattern>
                    <token>on</token>
                    <token>its</token>
                    <token>way</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>its</token>
                    <token regexp="yes">north|south|east|west</token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token>so</token>
                    <token>much</token>
                    <token>its</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">.*ly</token>
                    <token regexp="yes">.*ly</token>
                    <token postag="JJ" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token regexp="yes">far|next</token>
                    <token regexp="yes">left|right|likely</token>
                </antipattern>
                <antipattern>
                    <token postag="RB" />
                    <token postag="RB" />
                    <token chunk_re="I-NP.*" />
                    <token chunk_re="I-NP.*" />
                    <token chunk_re="I-NP.*" />
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token postag="RB" />
                    <token>in</token>
                    <token>and</token>
                    <token>out</token>
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token regexp="yes">[1-9](st|nd|rd|th)</token>
                </antipattern>
                <antipattern>
                    <token postag="RB" />
                    <token postag="JJ" />
                    <token postag="NN:UN" />
                </antipattern>
                <antipattern>
                    <token>its</token>
                    <token>very</token>
                    <token regexp="yes">first|best</token>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">for|of</token>
                    <token>its</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token postag="RB">
                        <exception postag="ORD" />
                        <exception regexp="yes">de|developmental|(maxi|mini)mum|only|past|per</exception>
                    </token>
                    <token postag="RB">
                        <exception postag="ORD" />
                        <exception regexp="yes">forma|home|parte|past|rata</exception>
                    </token>
                    <token>
                        <exception postag="NN(S|:UN)" postag_regexp="yes" />
                        <exception>end</exception>
                    </token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">It's hard to get to by bike because <marker>its</marker> far away.</example>
                <example correction="It's|it's">I'm sorry, but <marker>its</marker> just not possible.</example>
                <example>> eventually works its way back off.</example>
                <example>It's on its way back for the second time now.</example>
                <example>It is used in its very first batch.</example>
                <example>... because of its almost completed state.</example>
                <example>The region is surrounded by the Sea of Japan to its north west, Hokuriku region to its west, Tōkai region to its south west, Kantō region to its south east, and Tōhoku region to its north east.</example>
                <example>The planned East-West Motorway will bypass the town on its south when completed, providing access to Iaşi (to the east) and Târgu Mureș to the west.</example>
                <example>The club won its very first championship in 1910 and its second in 1920.</example>
                <example>Malta, however, has yet to win its first ever Olympic medal.</example>
                <example>These were erected after the city's first westward expansion following its de facto independence from the Empire.</example>
                <example>In March 2016, the city's police chief, as well as its only full-time officer, were arrested on false imprisonment charges.</example>
                <example>Amis said, "What makes Mr Gardner's book so hard to read is not so much its endlessly silly story as its desolateness, its lack of the slightest human interest or warmth.</example>
                <example>To the extent that any such taxes filed and paid by Buyer are prorated hereunder, Seller shall promptly pay, upon of receipt of an invoice therefor from Buyer, its pro rata share of same.</example>
                <example>On June 29 (rather than June 26), Base Metals obtained its ex parte attachment order.</example>
                <example>When the hare noticed that the fox had gone, it crept out from its underground home.</example>
                <example>Its pro forma net loss widened, but the company's revenues and loss per share came in ahead of expectations.</example>
                <example>The Taconic moves to the east in the process then resumes its roughly northward heading up the Roaring Creek valley into Clarence Fahnestock State Park.</example>
                <example>The main Hekla fissure only erupted at its far southwest end, most of the eruption was from other fissures nearby.</example>
                <example>In 2005, its per capita GDP (adjusted for purchasing power parity) became the second highest in the world (behind Switzerland) with 10 percent of the population born abroad.</example>
                <example>Its consensus states, "Neither funny nor suspenseful, this heist / teen flick also fails to explore its potentially socially relevant premise".</example>
                <example>If March continues its decline off Monday's high, December's uptrend line crossing near 2.90 1/2 is its next likely target.</example>
                <example>Any inner square can be identified by two numbers on these two sides, one being vertically below the inner square and the other to its far right.</example>
                <example>Cause any attempt to invade will have NK open up with its very well protected and numerous batteries of conventional artillery and damn near level that city.</example>
                <example>It can climb a 60% gradient and traverse a 40% side slope with its maximum cross-country load.</example>
                <example>Reproduction the purple frog is a explosive seasonal breeder specie, which completes its developmental in ephemeral streams.</example>
                <example>The 118 Bcf Bammel field, located near the Houston Ship Channel market area, has a 65.7 Bcf working gas capacity and is known for its fast in and out capabilities.</example>
                <example>The city is also referred to as the Ciutat Comtal in Catalan, and Ciudad Condal in Spanish, owing to its past as the seat of the Count of Barcelona.</example>
                <example>I want to start a clubhouse but this is in its very early stages and will require a lot of work which i may not be capable of…</example>
                <example>This remnant street alignment has the potential to provide and important insight into the layout and planning of Sydney in its very early days.</example>
                <example>Enron's shares have been falling since the markets began to recognize the dangers of its plans to shed real assets to try its hand at selling broadband capacity alongside its big online energy trading business.</example>
                <example>The town council is providing an increasing range of services in the town, building on its historically mostly consultative and ceremonial role, and its chairman has the title of Mayor of Bradford.</example>
                <example>If accepted by the Quebec Energy Board, the rise will be its 1st in 5 years.</example>
                <example>The next change happened in 1721 as Russia won the great northern war against Sweden (1700–21), which forced Sweden to cede the entire Karelian Isthmus and Ladoga Karelia to Russia, with its now mostly Lutheran population.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>pretty</token>
                    <token postag="JJ" />
                    <token postag="N.*" postag_regexp="yes">
                        <exception postag="RB" />
                    </token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token>pretty</token>
                    <token postag="JJ" />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">Encryption technology has advanced to the point where <marker>its</marker> pretty reliable.</example>
                <example correction="It's|it's">Wow, <marker>its</marker> pretty cold today.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                        <token regexp="yes">(any|every|some|no)(body|thing|where)</token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">Unless <marker>its</marker> something fairly impressive, I won't remember it.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token postag="JJ">
                        <exception>own</exception>
                    </token>
                    <token postag="CC" />
                    <token>not</token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">Whether <marker>its</marker> good or not, let's do it anyway.</example>
                <example>I have noticed that the HDD does not spin down on its own while not being in use after a couple of hours.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">(to|yester|Sun|Mon|Tues|Wednes|Thurs|Fri|Satur)day|&months;</token>
                    <token min="0" max="3" chunk_re="I-NP.*" />
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">&months;</token>
                    <token postag="CD" />
                    <token postag="," />
                    <token postag="CD" />
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">&months;</token>
                    <token min="0" postag="," />
                    <token postag="CD" />
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">&months;</token>
                    <token regexp="yes">[1-3][1-9]?(st|nd|rd|th)</token>
                    <token postag="N.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes" skip="2">March</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>its</token>
                    <token regexp="yes">(to|yester|Sun|Mon|Tues|Wednes|Thurs|Fri|Satur)day|&months;</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token regexp="yes">(to|yester|Sun|Mon|Tues|Wednes|Thurs|Fri|Satur)day|&months;
                        <exception regexp="yes" case_sensitive="yes">march|may</exception>
                    </token>
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">Thank God <marker>its</marker> Friday!</example>
                <example correction="It's|it's">Here <marker>its</marker> August and our summer vacation is nearly over.</example>
                <example>Edit for useful content: you can keep a faction at level 20 during its Tuesday Delve event by one of several means.</example>
                <example>If approved by the full commission at its Wednesday meeting, the changes would become effective in 60 days.</example>
                <example>In so doing, FERC rejected certain aspects of NYISO's September 1 and 8, 2000 compliance filing, submitted pursuant to its May 31, 2000 order imposing a temporary bid cap through October 31.</example>
                <example>To comply with the request, the Commission will update its July 2000 staff report Competition and Consumer Protection Perspectives on Electric Power Regulatory Reform.</example>
                <example>Hundreds of African Americans drowned trying to cross in Ebenezer Creek north of Savannah while trying to follow Sherman's Army in its March to the Sea.</example>
                <example>TVA should be allowed to lease the unfinished stations from its October $3.4 billion asset reduction to private corporations for financing to complete them.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" case_sensitive="yes">And|But|If</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token regexp="yes">
                        .*[a-z0-9].*
                        <exception postag="NNS" />
                        <exception postag="UNKNOWN" regexp="yes">.+s</exception>
                    </token>
                    <token postag="," />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">If <marker>its</marker> possible, I'd like to exchange this for a larger size.</example>
                <example correction="It's|it's">If <marker>its</marker> raining, we don't plan to go hiking.</example>
                <example>But its bonds, which are publicly traded, have fallen so low that they are now offering interest rates of almost 10 percent, comparable with many junk bonds.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">Its|its</token>
                    </marker>
                    <token>time</token>
                    <token min="0">that</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token chunk="B-VP" />
                </pattern>
                <message>Did you mean "it's" (contraction of "it is/has")?</message>
                <suggestion>It's</suggestion>
                <suggestion>it's</suggestion>
                <example correction="It's|it's">Don't you think <marker>its</marker> time she adjusted to Japanese customs?</example>
            </rule>
        </rulegroup>
        <rule id="WIEN" name="Wien vs Vienna">
            <antipattern>
                <token postag="NNP" />
                <token>Wien</token>
            </antipattern>
            <antipattern>
                <token>Wien</token>
                <token postag="UNKNOWN" case_sensitive="yes" regexp="yes">[A-ZÖÄÜ].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">Mrs?|Dr|Prof</token>
                <token min="0">.</token>
                <token>Wien</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes" regexp="yes">[A-Z]</token>
                <token>.</token>
                <token>Wien</token>
            </antipattern>
            <antipattern>
                <token>#</token>
                <token spacebefore="no">wien</token>
            </antipattern>
            <antipattern>
                <token>Wien</token>
                <token>'s</token>
                <token>law</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="SENT_END">Wien</token>
            </antipattern>
            <antipattern>
                <token>Wien</token>
                <token>Energie</token>
            </antipattern>
            <pattern>
                <token>wien</token>
            </pattern>
            <message>The English name for this Austrian city is <suggestion>Vienna</suggestion>.</message>
            <example correction="Vienna"><marker>Wien</marker> is the capital city of Austria.</example>
        </rule>
        <rule id="BAYERN" name="Bayern vs Bavaria">
            <antipattern>
                <token>bayern</token>
                <token regexp="yes">munich|munchen|münchen</token>
            </antipattern>
            <antipattern>
                <token>#</token>
                <token spacebefore="no">bayern</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">fc|aok</token>
                <token>bayern</token>
            </antipattern>
            <antipattern>
                <token skip="-1">bayern</token>
                <token regexp="yes" inflected="yes">freistaat|bavaria|team|final|kick|ball|football|soccer|goal|(goal)?keeper|bundesliga|match|game|play|sponsor|halftime|club|win|lose|score|player|defeat|(mid-?)?season|contract|victory|coach</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes" skip="-1">freistaat|bavaria|team|final|kick|ball|football|soccer|goal|(goal)?keeper|bundesliga|match|game|play|sponsor|halftime|club|win|lose|score|player|defeat|(mid-?)?season|contract|victory|coach</token>
                <token>bayern</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">vs|versus|against</token>
                <token min="0">.</token>
                <token>bayern</token>
            </antipattern>
            <antipattern>
                <token>bayern</token>
                <token regexp="yes">vs|versus|against</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="SENT_END">Bayern</token>
            </antipattern>
            <pattern>
                <token>bayern</token>
            </pattern>
            <message>The English name for this German state is <suggestion>Bavaria</suggestion>.</message>
            <example correction="Bavaria">The best beer in the world is brewed in <marker>Bayern</marker>.</example>
        </rule>
        <rulegroup id="SUBJECT_VERB_AGREEMENT" name="Subject-verb agreement">
                <antipattern>
                    <token postag="VBP" chunk="B-VP"/>
                    <token min="0" max="10" postag="CC|PCT|VB[ZD]|MD" postag_regexp="yes" negate_pos="yes"/>
                    <token postag="VB[ZD]|MD" postag_regexp="yes" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- A good example are war movies -->
                    <token skip="2" postag="VBP" chunk="B-VP"/>
                    <token chunk_re="..NP-plural"/>
                </antipattern>
                <antipattern><!-- The best known are mass strandings of … -->
                    <token skip="3" postag="VBP" chunk="B-VP"/>
                    <token postag="UNKNOWN" chunk="E-NP-singular"/>
                </antipattern>
                <antipattern>
                    <token skip="-1" postag="SENT_START"/>
                    <token skip="-1" postag="UNKNOWN"/>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>do</token>
                    <token inflected="yes">not</token>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- The couple next door are fighting again -->
                    <token skip="-1" postag="SENT_START"/>
                    <token skip="-1">couple</token>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>server</token>
                    <token>rebuild</token>
                </antipattern>
                <antipattern>
                    <token skip="2" postag="VBP" chunk="B-VP"/>
                    <token max="2" postag="N.*|UNKNOWN" postag_regexp="yes"/>
                    <token skip="2" regexp="yes">and|or|&amp;</token>
                    <token postag="N.*|UNKNOWN" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- Probably followed by imperative -->
                    <token>my</token>
                    <token regexp="yes">friend|love</token>
                </antipattern>
            <rule><!-- Sg Subj Pl V, no PP before V, already (partially?) covered by prem:SINGULAR_NOUN_VERB_AGREEMENT[9] -->
                <antipattern>
                    <token>twelver</token>
                    <token>shia</token>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>royal</token>
                    <token>artillery</token>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>wu</token>
                    <token>xing</token>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>most</token>
                    <token postag="JJ"/>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- Technical Latin taxonomy like "Asteridae" -->
                    <token postag="NNP" regexp="yes">.*(s|ae?|i)</token>
                    <token postag="VBP" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- This summer there are ... -->
                    <token>there</token>
                    <token>are</token>
                    <token chunk_re="B-NP.*"/>
                </antipattern>
                <antipattern><!-- The Kurukh have claimed... -->
                    <token chunk="B-NP-singular" inflected="yes" negate="yes">a</token>
                    <token min="0" max="-1" chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular" postag="NNP|NN:U" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- The meeting time ... -->
                    <token postag="VBG"/>
                    <token postag="N.*" postag_regexp="yes" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- The next day repeat that exact same thing -->
                    <token postag="SENT_START"/>
                    <token regexp="yes">the|this|that|th[eo]se</token>
                    <token min="0">very</token>
                    <token regexp="yes">next|following</token>
                    <token regexp="yes">time|day|night|week(-?end)?|year|century|month|(after|fore)noon|(morn|even)ing</token>
                    <token postag="VB" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- betting don't pass www.casinonewsdaily.com/craps-guide/dont-come-bet/ -->
                    <token regexp="yes" inflected="yes">bet|play</token>
                    <token>do</token>
                    <token>n't</token>
                    <token regexp="yes">come|pass</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-singular">
                        <exception regexp="yes">th[eo]se</exception>
                        </token>
                    <token postag="JJ.*|RB|N.*" postag_regexp="yes" chunk_re="I-NP-singular" max="6"/>
                    <token postag="N[^S]+" postag_regexp="yes" chunk="E-NP-singular">
                        <exception regexp="yes">orthodox|team|majority|elite|few|many|half|wont|known|andes|board|government|faculty|percentage|mossi|family|fellowship</exception>
                        <exception postag="CD" negate="yes">one</exception>
                        <exception scope="previous" postag="CD" negate="yes">one</exception>
                        </token>
                    <token min="0" postag="RB" chunk_re="..[^P].*"/>
                    <marker>
                        <token postag="VBP" chunk="B-VP">
                            <exception postag="MD|VB[DN]|IN|JJR?|RB" postag_regexp="yes"/>
                            <exception regexp="yes">please|well|photo|zero</exception>
                            <exception scope="next" postag="VB[^NG]?" postag_regexp="yes"/>
                            <exception scope="next" regexp="yes">th[eo]se|'s</exception>
                            <exception scope="next" postag="NNP?S|MD|VB[DZ]" postag_regexp="yes"/>
                            <exception scope="previous" postag="CD" negate="yes">one</exception>
                            <exception scope="previous" regexp="yes">crowd|please|team|majority|elite|few|many|half|wont|known|andes|board|government|faculty|percentage|mossi|family|fellowship</exception>
                            <exception scope="previous" postag="NNP?S" postag_regexp="yes"/>
                            </token>
                    </marker>
                </pattern>
                <message>The verb form '\6' does not seem to match the subject '\4'.</message>
                <suggestion><match no="6" postag="VBZ"/></suggestion>
                <suggestion><match no="6" postag="VBD"/></suggestion>
                <suggestion>will <match no="6" postag="VB"/></suggestion>
                <example correction="gets|got|will get">The tall gentleman <marker>get</marker> a lot of attention.</example>
                <example correction="gets|got|will get">The tall gentleman <marker>get</marker> a lot of attention and he certainly must know it.</example>
                <example correction="goes|went|will go">This beautiful red ball gown <marker>go</marker> well with the color of your eyes.</example>
                <example correction="helps|helped|will help">The TV news program <marker>help</marker> us keep up with the world.</example>
                <example>The right way <marker>forward</marker> is to allow retail prices to fluctuate with market conditions.</example>
                <example>The New Relic <marker>log</marker> directory is empty on both instances of the cloud service.</example>
                <example>The other two <marker>are</marker> available for glory.</example>
                <example>A good example <marker>are</marker> war movies.</example>
                <example>A LEGAL wrangle over <marker>pipeline</marker> use is threatening the future of New Zealand.</example>
                <example>Some liberal Christians <marker>do</marker> not accept a literal bodily resurrection</example>
                <example>The other IPO in Exhibit 6 (especially Uunet) demonstrate how hot the market is.</example>
                <example>The Eastern Orthodox generally recognize them.</example>
                <example>The recent weakness in <marker>bank</marker> stocks is shocking.</example>
                <example>Many anti-Zionist Jews <marker>are</marker> accused of being anti-Semites.</example>
                <example>The latter two frequently <marker>appear</marker> on the number one spot.</example>
                <example>My three macro <marker>are</marker> enabled.</example><!-- the mistake here is "macro(s)" -->
                <example>A little tricky nomenclature <marker>do</marker>n't you think.</example>
                <example>The best known <marker>are</marker> mass strandings of pilot whales and sperm whales.</example>
                <example>The couple next door <marker>are</marker> fighting again.</example>
                <example>A full chat server rebuild?</example>
                <example>The rust belt are not swing states as the writer says.</example>
                <example>The Twelver Shia criticize Abu Bakr for an alleged dispute.</example>
                <example>The Bolivian Andes produce principally tin.</example>
                <example>The second list below are those who either serve as Reporting Council or aldermen.</example>
                <example>The HOT BODY DETECTOR KIT let's you know when someone's peeping in your window.</example>
                <example>The Swedish lottery board consider that the target number is 5.</example>
                <example>The most notable are Montreal's Mount Royal and Mont Saint-Hilaire.</example>
                <example>The most common are the virelai and the rondeau.</example>
                <example>The next largest group are Pentecostals.</example>
                <example>All Haas faculty are invited to attend the symposium free of charge.</example>
                <example>The Royal Artillery are unique in using the term.</example>
                <example>Another Dutch hip-hop duo are Pete Philly and Perquisite.</example>
                <example>A high percentage fail when faxed at night, early morning, and weekends.</example>
                <example>The Voltaic Mossi make up about one-half of the population.</example>
                <example>My immediate family are muslim.</example>
                <example>My friend Sun shine on me now and ever.</example>
                <example>The Anglican Pacifist Fellowship remain highly active throughout the Anglican world.</example>
                <example>The Houston Astros are on track to clinch their 4th Central Division title.</example>
                <example>The consumer advocacy <marker>group</marker> the Center for Science in the Public Interest continues to promote the position that aspartame is not safe.</example>
                <example>The facility <marker>run</marker> by Japan Nuclear Fuel Ltd. is set to start reprocessing in July 2005.</example>
                <example>Our El Paso Natural Gas south <marker>mainline</marker> expansions to Mexico are going to serve mainly CFE generation.</example>
                <example>The wish <marker>list</marker> might include a summary page to show the desks net 0.</example>
                <example>This summer there are an ever increasing number of announcements about CEO's stepping down, moving on and dropping out.</example>
                <example>The Kurukh have traditionally claimed to be from the Deccan Peninsula.</example>
                <example>The meeting <marker>time</marker> the El Paso building.</example><!-- broken sentence, but still an obvious FP -->
                <example>These measure <marker>are</marker> meant to make it easier for those newly entering.</example><!-- The problem clearly is the NN before -->
                <example>The anti-choice crowd don't know what they're unleashing.</example>
                <example>The next day repeat the exact same thing.</example>
                <example>A player betting don't pass and don't come every roll and ...</example>
            </rule>
            <rule><!-- Sg Subj Pl V, with PP before V -->
                <antipattern>
                    <token>strobe</token>
                    <token>light</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>most</token>
                    <token postag="JJ"/>
                    <token chunk="B-PP"/>
                </antipattern>
                <antipattern>
                    <token postag="NNP" regexp="yes">.*(s|ae?|i)</token>
                    <token chunk="B-PP"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-singular"/>
                    <token postag="JJ.*|RB|N.*" postag_regexp="yes" chunk_re="I-NP-singular" max="6"/>
                    <token postag="N[^S]+" postag_regexp="yes" chunk="E-NP-singular">
                        <exception regexp="yes">orthodox|jews|team|majority|elite|few|many|half|wont|known|andes|board|government|faculty|percentage|mossi|family|fellowship</exception>
                        <exception postag="CD" negate="yes">one</exception>
                        <exception scope="previous" postag="CD" negate="yes">one</exception>
                        </token>
                    <token chunk="B-PP">
                        <exception regexp="yes">of|to</exception>
                        </token>
                    <token max="5" postag="DT|RB.?|JJ.*|N.*|CC" postag_regexp="yes" chunk_re="..NP.*"/>
                    <token min="0" postag="RB" chunk_re="..[^P].*"/>
                    <marker>
                        <token postag="VBP" chunk="B-VP">
                            <exception postag="MD|VBD|IN|JJR|RB" postag_regexp="yes"/>
                            <exception regexp="yes">please|well|photo|zero</exception>
                            <exception scope="next" postag="VB[^NG]?" postag_regexp="yes"/>
                            <exception scope="next" inflected="yes" regexp="yes">not|never|[br]arely|hardly</exception>
                            </token>
                    </marker>
                </pattern>
                <message>The verb form '\8' does not seem to match the subject '\6'.</message>
                <suggestion><match no="8" postag="VBZ"/></suggestion>
                <suggestion><match no="8" postag="VBD"/></suggestion>
                <suggestion>will <match no="8" postag="VB"/></suggestion>
                <example correction="seems|seemed|will seem">The dusty book about red ants and termites <marker>seem</marker> very informative.</example>
                <example correction="goes|went|will go">This beautiful red ball gown with the little flowers <marker>go</marker> well with the color of your eyes.</example>
                <example correction="needs|needed|will need">The delivery location for all newspaper subscriptions <marker>need</marker> to be changed to ECS 05/06.</example>
                <example>An equal number of marketers have also expressed concern about the load.</example>
                <example>The few remaining Jews in the Arab countries reside mostly in Morocco and Tunisia.</example>
                <example>The most well known in English-speaking countries include "Dreidel, Dreidel, Dreidel" and "Chanukah, Oh Chanukah".</example>
                <example>The most notable in the Bay Area are Fred's and Mont Saint-Hilaire.</example>
                <example>The later Prelude to Dune prequels also employ this floating ability.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SUBJECT_VERB_AGREEMENT_PLURAL" name="Subject-verb agreement plural">
            <antipattern>
                <token postag="VBZ" chunk="E-NP-plural"/>
                <token postag="RB" chunk_re="..[^P].*"/>
                <token chunk="B-VP">is</token>
            </antipattern>
            <antipattern>
                <token postag="VBZ"/>
                <token postag="VBZ"/>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token postag="DT" chunk_re="B-NP.*"/>
                <token chunk_re="[IE]-NP.*"/>
                <token regexp="yes">and|or</token>
                <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-plural"/>
                <token postag="JJ.*|RB|N.*" postag_regexp="yes" chunk_re="I-NP-plural" max="6"/>
                <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural">
                    <exception postag="NN(:UN?|P)?" postag_regexp="yes"/>
                    <exception>thanks</exception>
                </token>
                <token min="0" postag="RB" chunk_re="..[^P].*"/>
                <token postag="VBZ" chunk="B-VP"/>
            </antipattern>
            <antipattern>
                <token>few</token>
                <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural"/>
                <token>is</token>
                <token skip="2">all</token>
                <token inflected="yes">ask</token>
            </antipattern>
            <antipattern>
                <token postag="DT|NN.*" postag_regexp="yes" chunk="B-NP-plural" case_sensitive="yes" regexp="yes">[A-Z].*</token>
                <token chunk="I-NP-plural" case_sensitive="yes" regexp="yes" max="5">[A-Z].*</token>
                <token postag="NN.*" postag_regexp="yes" chunk="E-NP-plural" case_sensitive="yes" regexp="yes">[A-Z].*</token>
                <token postag="VBZ" chunk="B-VP"/>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="NNP?" postag_regexp="yes"/>
                <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural" regexp="yes">islands|countries</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="NN(:UN?)?" postag_regexp="yes" regexp="yes" case_sensitive="yes" max="2">[a-z].*</token>
                <token regexp="yes" case_sensitive="yes" max="2">[A-Z].*</token>
                <token min="0" postag="RB" chunk_re="..[^P].*"/>
                <token postag="VBZ"/>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="NN"/>
                <token postag="NNS"/>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes"/>
                <token postag="DT" chunk="B-NP-plural"/>
                <token postag="JJ" chunk="I-NP-plural"/>
                <token postag="NN(:UN?)?" postag_regexp="yes" chunk="I-NP-plural"/>
                <token postag="VBG" chunk="I-NP-plural"/>
                <token postag="NNS" chunk="E-NP-plural"/>
                <token inflected="yes" regexp="yes">be|have</token>
            </antipattern>
            <antipattern> <!-- same as above but without JJ because skip/min doesn't work :( -->
                <token postag="SENT_START|CC|PCT" postag_regexp="yes"/>
                <token postag="DT" chunk="B-NP-plural"/>
                <token postag="NN(:UN?)?" postag_regexp="yes" chunk="I-NP-plural"/>
                <token postag="VBG" chunk="I-NP-plural"/>
                <token postag="NNS" chunk="E-NP-plural"/>
                <token inflected="yes" regexp="yes">be|have</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes"/>
                <token postag="DT" chunk="B-NP-plural"/>
                <token postag="N.*" postag_regexp="yes" chunk="I-NP-plural"/>
                <token postag="VB.*" postag_regexp="yes" chunk="E-NP-plural"/>
                <token chunk="B-ADVP" min="0"/>
                <token postag="NNS" chunk="B-VP"/>
            </antipattern>
            <antipattern>
                <token postag="NN.*" postag_regexp="yes"/>
                <token>and</token>
                <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-plural"/>
                <token postag="JJ.*|RB|N.*" postag_regexp="yes" chunk_re="I-NP-plural" max="6"/>
                <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural"/>
                <token min="0" postag="RB" chunk_re="..[^P].*"/>
                <token postag="VBZ" chunk="B-VP"/>
            </antipattern>
            <antipattern>
                <token postag="NNP" chunk_re="I-NP-plural"/>
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural"/>
                <token min="0" postag="RB" chunk_re="..[^P].*"/>
                <token postag="VBZ" chunk="B-VP"/>
            </antipattern>
            <rule>
                <antipattern>
                    <token>shows</token>
                    <token postag="VBZ" chunk="B-VP"/>
                    <token postag="VB.*" postag_regexp="yes" chunk="I-VP"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception postag="IN"/>
                        <exception regexp="yes">and|or</exception>
                    </token>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-plural">
                        <exception regexp="yes">an?(other)?</exception>
                    </token>
                    <token postag="JJ.*|RB|N.*" postag_regexp="yes" chunk_re="I-NP-plural" max="6"/>
                    <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural">
                        <exception postag="NN(:UN?|P)?" postag_regexp="yes"/>
                        <exception>thanks</exception>
                    </token>
                    <token min="0" postag="RB" chunk_re="..[^P].*"/>
                    <marker>
                        <token postag="VBZ" chunk="B-VP"/>
                    </marker>
                </pattern>
                <message>The verb form '\6' does not seem to match the subject '\4'.</message>
                <suggestion><match no="6" postag="VBP"/></suggestion>
                <suggestion><match no="6" postag="VBD"/></suggestion>
                <suggestion>will <match no="6" postag="VB"/></suggestion>
                <example correction="get|got|will get">The tall gentlemen <marker>gets</marker> a lot of attention.</example>
                <example correction="get|got|will get">The tall gentlemen <marker>gets</marker> a lot of attention and he certainly must know it.</example>
                <example correction="go|went|will go">These beautiful red ball gowns <marker>goes</marker> well with the color of your eyes.</example>
                <example correction="help|helped|will help">The TV news programs <marker>helps</marker> us keep up with the world.</example>
                <example correction="depend|depended|will depend">If the second customer facilities <marker>depends</marker> on building facilities for the first customer we have an impasse, a mess.</example>
                <example>The recent data has caused a reversal of expectations.</example>
                <example>The invasive species has multiplied and spread in all directions from there.</example>
                <example>The United States officially maintains that it supports democracy and human rights through several tools Examples of these tools are as follows:</example>
                <example>As of 2008, the smallest known freshwater fish is a cypriniform, Danionella translucida, reaching at the longest.</example>
                <example>The trick to getting a great fare for those last minute home for the holiday flights is to travel on Thursday and return on Friday.</example>
                <example>Miguel Cabrera (3,530) The record for the most Total Bases in a Single Game is 19, by Shawn Green of the Los Angeles Dodgers on May 23, 2002, playing against the Milwaukee Brewers.</example>
                <example>The United Nations wants the US to cease hostilities in Afghanistan.</example>
                <example>A huge thanks goes to Rep. Jim Hill who helped us get our 5 mo.</example>
                <example>In the Iliad, the word ares is used as a common noun synonymous with "battle."</example>
                <example>A cow chases away flies with its tail.</example>
                <example>A marked copy showing revisions is also attached.</example>
                <example>The Cayman Islands has a small population and therefore a limited work force.</example>
                <example>As Election Day nears, a key question confronting investors is how each presidential candidate will affect the stock market.</example>
                <example>The Hidden Words is another book written by Bahá'u'lláh during the same period, containing 153 short passages in which Bahá'u'lláh claims to have taken the basic essence of certain spiritual truths and written them in brief form.</example>
                <example>A few minutes is all I ask.</example>
                <example>BT, The attached shows deals done since April 1, 01.</example>
                <example>Gentlemen, In addition to looking for ways in which Transwestern can improve mainline deliverability, another important criteria is access to markets.</example>
            </rule>
            <rule><!-- Pl Subj Sg V, with PP before V -->
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-plural">
                        <exception>these</exception>
                    </token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token postag="VBZ" chunk="E-NP-plural"/>
                    <token chunk="B-PP" regexp="yes">if|on</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes" max="2">[A-Z].*</token>
                    <token chunk="B-PP"/>
                    <token regexp="yes" case_sensitive="yes" max="3">[A-Z].*</token>
                    <token postag="VBZ"/>
                </antipattern>
                <antipattern>
                    <token>most</token>
                    <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural"/>
                    <token chunk="B-PP" regexp="yes">by|of</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-PP">from</token>
                    <token postag="DT"/>
                    <token postag="NN.*[^S]" postag_regexp="yes"/>
                    <token postag="DT"/>
                    <token postag="NN.*[^S]" postag_regexp="yes"/>
                    <token postag="VBZ" chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>lights</token>
                    <token chunk="B-PP">up</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-PP"/>
                    <token postag="NNP" chunk_re="[BE]-NP-singular"/>
                    <token postag="NNS" chunk="B-VP"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-plural">
                        <exception regexp="yes">an?</exception>
                    </token>
                    <token postag="JJ.*|RB|N.*" postag_regexp="yes" chunk_re="I-NP-plural" max="6"/>
                    <token postag="N.+S" postag_regexp="yes" chunk="E-NP-plural">
                        <exception postag="NN(:UN?|P)?" postag_regexp="yes"/>
                    </token>
                    <token chunk="B-PP">
                        <exception regexp="yes">as|of|to|before|because|that|whether|\(|-|—</exception>
                    </token>
                    <token max="5" postag="DT|RB.?|JJ.*|N.*|CC" postag_regexp="yes" chunk_re="..NP.*">
                        <exception postag="VB"/>
                    </token>
                    <token min="0" postag="RB" chunk_re="..[^P].*"/>
                    <marker>
                        <token postag="VBZ" chunk="B-VP"/>
                    </marker>
                </pattern>
                <message>The verb form '\8' does not seem to match the subject '\4'.</message>
                <suggestion><match no="8" postag="VBP"/></suggestion>
                <suggestion><match no="8" postag="VBD"/></suggestion>
                <suggestion>will <match no="8" postag="VB"/></suggestion>
                <example correction="seem|seemed|will seem">The dusty books about red ants and termites <marker>seems</marker> very informative.</example>
                <example correction="go|went|will go">These beautiful red ball gowns with the little flowers <marker>goes</marker> well with the color of your eyes.</example>
                <example correction="need|needed|will need">The delivery locations for all newspaper subscriptions <marker>needs</marker> to be changed to ECS 05/06.</example>
                <example>The central idea of the book of Amos is that God puts his people on the same level as the surrounding nations – God expects the same purity of them all.</example>
                <example>The front end checks whether the program is correctly written in terms of the programming language syntax and semantics.</example>
                <example>The record for the most Total Bases in a Single Game is 19, by Shawn Green of the Los Angeles Dodgers on May 23, 2002, playing against the Milwaukee Brewers.</example>
                <example>Attached are a list of the exhibits for a certificate application and the environmental requirements (this document is the redline for the new environmental regulations under Order No. 603, 603A, and 603B).</example>
                <example>This greatly surprised astronomers because X-ray emission is usually associated with very high-temperature bodies.</example>
                <example>The winter energy imports from the South hold Northwest costs down just as spring run off sales to the South lower energy costs in California.</example>
                <example>The board lights up each time a transaction is made for delivery to a particular point.</example>
                <example>The revised invoices for Duke contracts 27291 and 27349 appear to be correct.</example>
                <example>As most of you probably know, attorneys have a duty of strict confidentiality to their clients, and this duty attaches from the moment a consultation begins (regardless of whether a formal "engagement" has commenced).</example>
                <example>My dog barks if someone comes to the door.</example>
                <example>The plant runs on LNG that is indexed to JCC, effectively giving our customer a significant crude oil exposure.</example>
                <example>The group Republicans for Environmental Protection seeks to strengthen the Republican Party's stance on environmental issues, and supports efforts to conserve natural resources and protect human and environmental health.</example>
                <example>An oxide layer forms around beryllium that prevents further reactions with air unless heated above 1000 °C.</example>
                <example>A higher closes during the day session is needed to confirm Tuesday's bullish...</example>
            </rule>
        </rulegroup>
        <rule id="LIMITED_TO" name="which include but are not limited too (to)">
            <pattern>
                <token inflected="yes">include</token>
                <token min="0" postag="PCT" />
                <token>but</token>
                <token min="0" inflected="yes">be</token>
                <token>not</token>
                <token>limited</token>
                <marker>
                    <token>too</token>
                </marker>
            </pattern>
            <message>Use 'to' in this context.</message>
            <suggestion>to</suggestion>
            <example correction="to">There are many activities, including, but not limited <marker>too</marker>, running, jumping, and swimming.</example>
            <example correction="to">They're trying to deal with all the issues, which include but are not limited <marker>too</marker> updates, bugs, and overloaded servers.</example>
            <example correction="to">They're trying to deal with all the issues, which include but are not limited <marker>too</marker>: updates, bugs, and overloaded servers.</example>
        </rule>
        <rule id="REPEATED_VERBS" name="Repeated verb forms">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token><match no="0" /></token>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token inflected="yes">have</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">do</token>
                <token inflected="yes">do</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern><!-- Take Took Taken -->
                <token postag="VB.*" postag_regexp="yes" />
                <token inflected="yes"><match no="0" postag="VB" /></token>
                <token inflected="yes"><match no="0" postag="VB" /></token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">lock|fuck|coil|count|know|fix|leave|live|love|name|fly|dream|range|trouble|time|will</token>
                <token inflected="yes"><match no="0" postag="VB" /></token>
            </antipattern>
            <antipattern>
                <token inflected="yes">connect</token>
                <token>connected</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">use</token>
                <token>used</token>
            </antipattern>
            <antipattern>
                <token>short</token>
                <token>shorts</token>
            </antipattern>
            <antipattern>
                <token>went</token>
                <token>gone</token>
            </antipattern>
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token>setting</token>
                <token regexp="yes">sets?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">don|dig|lit|chewing|ending|ends?|records?|sounds?|lines?|fish(es)?|hands?|plants?|leaves?|lower|paintings?|doctors?|even|evenings?|awards?|strings?|shows?|forces?|buildings?|bikes?</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token postag="VB.*" postag_regexp="yes" regexp="yes">[A-Z].*</token>
                <token postag="VB.*" postag_regexp="yes" regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token postag="VB.*" postag_regexp="yes" regexp="yes">[a-z].*</token>
                <token postag="VB.*" postag_regexp="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[^a-z].*</token>
            </antipattern>
            <pattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception regexp="yes">don(ned|s|ing|ning)</exception>
                </token>
                <token postag="VB.*" postag_regexp="yes" inflected="yes" regexp="yes">
                    <match no="0" postag="VB" />
                </token>
            </pattern>
            <message>You repeated a verb. Please check.</message>
            <suggestion>\1</suggestion>
            <suggestion>\2</suggestion>
            <example correction="made|make">To <marker>made make</marker> your text better, try this:</example>
            <example correction="make|made">To <marker>make made</marker> your text better, try this:</example>
            <example correction="going|go">Tom has decided he's not <marker>going go</marker> to Boston next summer.</example>
            <example correction="want|wanted">Sally, I <marker>want wanted</marker> to congratulate you on your promotion to Managing Director.</example>
            <example>Ping ping ping</example>
            <example>if you don,t mind.</example>
            <example>He is locking locks.</example>
            <example>Drink Drank Drunk!</example>
            <example>Take Took Taken!</example>
            <example>Coiled coils contain a highly characteristic sequence motif known as a heptad repeat, in which the motif repeats itself every seven residues along the sequence.</example>
            <example>Don Alexander 29.</example>
            <example>Technically AIMesh is still in beta, so you may also want to wait for some more field-tested reviews to see if there's anything quirky.</example>
            <example>No one I know knows how to do that.</example>
            <example>Don Facundo began attempting to "tame" rum by isolating a proprietary strain of yeast still used in Bacardi production today.</example>
            <example>Therefore, steel parts heat-treated to tensile strength above 1300 MPa (200 ksi) should be coated by an alternative method (such as special low-embrittlement cadmium electroplating processes or physical vapor deposition).</example>
            <example>I didn't name names.</example>
            <example>We need to connect connected devices.</example>
            <example>Another hotel, the smallest and no doubt at one time the quaintest, has slatted wooden shutters covering the windows and doors leading out to tiny porches.</example>
            <example>It was a cold evening even though it was summertime.</example>
            <example>Tom babysat John and Mary's children yesterday evening.</example>
            <example>I dunno if it's a bug or what, but this software doesn't work right.</example>
            <example>Artillery shells and other munitions, which are color-coded according to their pyrotechnic contents They were passionately in love.</example>
            <example>Well better go.</example>
        </rule>
        <rule id="NO_PROBLEM_ET_AL" name="et al (at all)">
            <antipattern>
                <token>at</token>
                <token>all</token>
            </antipattern>
            <pattern>
                <token>no</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN|NN:UN?" chunk_re=".-NP.*" postag_regexp="yes" />
                <marker>
                    <token regexp="yes">[ae]t</token>
                    <token regexp="yes">all?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>at all</suggestion>?</message>
            <example correction="at all">That was no problem <marker>et al</marker>.</example>
        </rule>
        <rule id="A_FEEDBACK" name="a feedback">
            <antipattern><!-- chunker error: "In a negative feedback amplifier part of the output" -->
                <token>feedback</token>
                <token postag="NN.*" postag_regexp="yes" chunk_re="B-PP">
                    <exception postag="IN" />
                </token>
            </antipattern>
            <antipattern><!-- do a feedback (informal) -->
                <token inflected="yes">do</token>
                <token skip="1">a</token>
                <token>feedback</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>feedback</token>
                <token>,</token>
                <token chunk="B-NP-singular" />
                <token chunk="I-NP-singular" min="0" />
                <token regexp="yes">and|&amp;|n?or</token>
            </antipattern>
            <pattern>
                <token>a</token>
                <token min="0" regexp="yes">nice|(un)?helpful|positive|negative|great|good|bad|constructive</token>
                <token chunk_re="E-NP-singular">feedback</token>
            </pattern>
            <message>The noun "\3" is uncountable and doesn't require an article.</message>
            <suggestion>\2 \3</suggestion>
            <example correction="feedback">I have <marker>a feedback</marker> for you.</example>
            <example>In a negative feedback amplifier part of the output is fed back and added to the input in opposite phase, subtracting from the input.</example>
            <example>As per our discussion, the PRC process is primarily a feedback, performance management and staff planning tool.</example>
        </rule>
        <rulegroup id="DO_XX_MD_VB" name="Does anybody would (Would anybody)">
            <short>Possible agreement error</short>
            <antipattern case_sensitive="yes">
                <token postag="CC|W.*" postag_regexp="yes" regexp="yes">[a-z].*</token>
                <token>Will</token>
                <token regexp="yes">[A-Z].*</token>
                <token regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token postag="PCT" />
                <token>Will</token>
                <token regexp="yes">[A-Z].*</token>
                <token regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern>
                <token>Will</token>
                <token>Ferrell</token>
            </antipattern>
            <antipattern>
                <token>ya</token>
                <token>'ll</token>
            </antipattern>
            <antipattern><!-- no will can -->
                <token postag="DT|PRP\$" postag_regexp="yes">
                    <exception>that</exception>
                </token>
                <token regexp="yes">will|can|don</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">does|did|could|would</token>
                <token min="0">n't</token>
                <token regexp="yes">this|that|th[oe]se</token>
                <token>mean</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token inflected="yes" regexp="yes">
                            do|will|can|should
                            <exception regexp="yes">doing|done|willing</exception>
                        </token>
                        <token chunk_re="B-NP.*" postag_regexp="yes" postag="JJ.*|CD|DT|PRP\$|NNP?|NN:UN?" min="0" />
                        <token chunk_re="I-NP.*" postag_regexp="yes" postag="JJ.*|CD|NNP?|NN:UN?" min="0" />
                        <token chunk_re="E-NP.*" postag_regexp="yes" postag="NN.*|DT|PRP">
                            <exception regexp="yes">think|believe|hope</exception>
                        </token>
                        <token postag="MD" chunk_re=".-VP">
                            <exception regexp="yes">dare|need|cannot|'ll|'d</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                        <exception inflected="yes">not</exception>
                    </token>
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>One modal verb seems to be obsolete here. Consider rephrasing this sentence.</message>
                <suggestion>\7 \4 \5 \6</suggestion>
                <example correction="Would the client"><marker>Does the client would</marker> like this information?</example>
                <example correction="Can anyone"><marker>Does anyone can</marker> provide those?</example>
                <example correction="Can I"><marker>Can I can</marker> tentatively count you "in" on the SAS software?</example>
                <example>Why do I need help?</example>
                <example>Will she dare enter the forest?</example><!-- not sure -->
                <example>Doing that would be wrong.</example>
                <example>Additionally, Will Kelly will transition the Denver trading books to the Texas team as he moves to the East Region.</example>
                <example>Who did Tom think would help him?</example>
                <example>Sometimes, prices are high, new supply is nigh and willing buyers can only sigh.</example>
                <example>Does this mean success cannot be achieved?</example>
                <example>Does this mean success can be achieved?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token inflected="yes" regexp="yes">
                            do|will|can|should
                            <exception regexp="yes">doing|done|willing</exception>
                        </token>
                        <token chunk_re="B-NP.*" postag_regexp="yes" postag="JJ.*|CD|DT|PRP\$|NNP?|NN:UN?" min="0" />
                        <token chunk_re="I-NP.*" postag_regexp="yes" postag="JJ.*|CD|NNP?|NN:UN?" min="0" />
                        <token chunk_re="E-NP.*" postag_regexp="yes" postag="NN.*|DT|PRP">
                            <exception regexp="yes">think|believe|hope</exception>
                        </token>
                        <token postag="MD" chunk_re=".-VP">
                            <exception regexp="yes">dare|need|cannot|'ll|'d</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                        <exception inflected="yes">not</exception>
                    </token>
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token postag="SENT_END" regexp="yes">[!.]</token>
                </pattern>
                <message>One modal verb seems to be obsolete here. Consider rephrasing this sentence.</message>
                <suggestion>\4 \5 \6 \7</suggestion>
                <example correction="The client would"><marker>Does the client would</marker> like this information.</example>
                <example correction="We can"><marker>Can we can</marker> talk next week about a deal going forward.</example>
                <example correction="Enron can">For power trading, they can trade all US West power products, but <marker>can Enron can</marker> only sell to Avista for US East power products.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token inflected="yes" regexp="yes">
                            do|will|can|should
                            <exception regexp="yes">doing|done|willing</exception>
                        </token>
                        <token spacebefore="no">n't</token>
                        <token chunk_re="B-NP.*" postag_regexp="yes" postag="JJ.*|CD|DT|PRP\$|NNP?|NN:UN?" min="0" />
                        <token chunk_re="I-NP.*" postag_regexp="yes" postag="JJ.*|CD|NNP?|NN:UN?" min="0" />
                        <token chunk_re="E-NP.*" postag_regexp="yes" postag="NN.*|DT|PRP">
                            <exception regexp="yes">think|believe|hope</exception>
                        </token>
                        <token postag="MD" chunk_re=".-VP">
                            <exception regexp="yes">dare|need|cannot|'ll|'d</exception>
                        </token>
                        <token postag="RB" min="0">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception inflected="yes">not</exception>
                        </token>
                    </marker>
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>One modal verb seems to be obsolete here. Consider rephrasing this sentence.</message>
                <suggestion>\8\4 \5 \6 \7</suggestion>
                <example correction="Wouldn't the client"><marker>Doesn't the client would</marker> like this information?</example>
                <example>If we want we can, if won't we'll disappear.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>(</token>
                    <token min="0" />
                    <token>?</token>
                    <token>)</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="W.*" postag_regexp="yes">
                            <exception regexp="yes">that|.+ever</exception>
                        </token>
                        <token postag="RB|DT|NN.*" postag_regexp="yes" min="0" />
                        <token inflected="yes" regexp="yes">
                            do|will|can|should
                            <exception regexp="yes">doing|done</exception>
                        </token>
                        <token chunk_re="B-NP.*" postag_regexp="yes" postag="JJ.*|CD|DT|PRP\$|NNP?|NN:UN?" min="0" />
                        <token chunk_re="I-NP.*" postag_regexp="yes" postag="JJ.*|CD|NNP?|NN:UN?" min="0">
                            <exception postag="VB" />
                        </token>
                        <token chunk_re="E-NP.*" postag_regexp="yes" postag="NN.*|DT|PRP">
                            <exception regexp="yes">think|believe|hope</exception>
                        </token>
                        <token postag="MD" chunk_re=".-VP">
                            <exception regexp="yes">dare|need|cannot|'ll|'d</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                        <exception inflected="yes">not</exception>
                    </token>
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>One modal verb seems to be obsolete here. Consider rephrasing this sentence.</message>
                <suggestion>\1 \2 \3 \4 \5 \6</suggestion>
                <suggestion>\1 \2 \7 \4 \5 \6</suggestion>
                <example correction="How does the client|How would the client"><marker>How does the client would</marker> like this information?</example>
                <example correction="what do we|what should we">Could you help us out please or telling us <marker>what do we should</marker> do in order to get them?</example>
                <example>Ecology, behaviour and life history Pope Francis said atheists who do good will go to heaven too.</example>
                <example>It looks like the London based officers who could sign would be John Sherriff, Danny McCarty or John Lush (?), unless you are familiar with someone else who can sign for ECTRIC.</example>
                <example>And whoever does evil shall be requited for it" to him, he felt as if his back was broken.</example>
                <example>Why did Lenin hope Russia would lose the war?</example>
                <!-- incorrect chunking and tagging -->
                <example type="triggers_error">What does the prophet claim can be done?</example>
            </rule>
        </rulegroup>
        <rule id="NOT_NEVER" name="not never">
            <antipattern>
                <token>ai</token>
                <token>n't</token>
            </antipattern>
            <pattern>
                <token inflected="yes">not</token>
                <token>never</token>
            </pattern>
            <message>"not" and "never" have a similar meaning. Please check if one can be removed.</message>
            <suggestion>\1</suggestion>
            <suggestion>\2</suggestion>
            <example correction="not|never">I wiil <marker>not never</marker> give up.</example>
        </rule>
        <rulegroup id="ONTO_ON_TO" name="climb on to (onto)">
            <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP" regexp="yes">climb|jump|crawl</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>on</token>
                        <token>to</token>
                    </marker>
                    <token chunk_re=".-NP.*" />
                </pattern>
                <message>The preposition <suggestion>onto</suggestion> (= on top / upwards) seems to fit better in this context.</message>
                <example correction="onto">She climbed <marker>on to</marker> the roof.</example>
            </rule>
        </rulegroup>
        <rule id="EXCITED_FOR" name="Excited for (about)">
            <antipattern>
                <token postag="PRP\$|DT" postag_regexp="yes" skip="1" />
                <token regexp="yes" inflected="yes">
                    .*mother|.*father|.*brother|.*sister|.*child(ren)?|.*kid|.*dad|.*m[uo]m|grandma|grandpa|.*son|.*daughter|.*friend|pal|(co-?)?founder|.*mate|.*uncle|C[TEOMI]O|employee|minion|.*aunt(ie)?|husband|wi[fv]e|boss|colleague|(co-?)?workers?|fianc[eé]e?|groom|supervisor|pupil|teacher|student|professor|doctor|darling|sweetie|sweetheart|guy|dude|(some|every|any)(body|one)|.*prince|.*princess|queen|king|class|family
                    <exception regexp="yes">lessons?</exception>
                </token>
            </antipattern>
            <antipattern>
                <token>for</token>
                <token regexp="yes" skip="1">an?</token>
                <token regexp="yes">sec(ond)?|min(ute)?|hour|day|week|monthe|glimpse</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>the</token>
                <token regexp="yes">prospects?|thought</token>
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token>of</token>
                <token>course</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token regexp="yes">all|first|last</token>
            </antipattern>
            <antipattern><!-- for all it's worth -->
                <token>for</token>
                <token>all</token>
                <token regexp="yes">its?</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>the</token>
                <token regexp="yes">end|best|earliest|drop|bottom|beginning|mid-.*</token>
            </antipattern>
            <antipattern>
                <token>for</token>
                <token>the</token>
                <token regexp="yes">first|last</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>the</token>
                <token>same</token>
                <token>time</token>
            </antipattern>
            <antipattern><!-- at any cost -->
                <token skip="1">at</token>
                <token regexp="yes">costs?|glance</token>
            </antipattern>
            <antipattern><!-- I was excited for several days -->
                <token>for</token>
                <token regexp="yes">several|some|many</token>
                <token regexp="yes">minutes|hours|days|weeks|months|years</token>
            </antipattern>
            <pattern>
                <token regexp="yes">(over-?)?excited</token>
                <marker>
                    <token regexp="yes">for|at|of</token>
                </marker>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token chunk_re="[EI]-NP.*" />
            </pattern>
            <message>The correct preposition to be used with "excited" is <suggestion>about</suggestion>.</message>
            <example correction="about">I'm so excited <marker>for</marker> your new project.</example>
            <example correction="about">I was excited <marker>for</marker> the tango lessons.</example>
            <example>Sami was so excited for his kids to go to that daycare.</example>
            <example>The only reason i get excited at all is for that mythic rare chance of a decent vault key reward.</example>
            <example>Everyone was very excited at the end of the day.</example>
            <example>I'm excited for her.</example>
            <example>I can be angry and excited at the same time.</example>
        </rule>
        <rulegroup id="DT_NNS_AGREEMENT" name="[determiner] + [plural noun] verb agreement" default="off">
            <antipattern>
                <token postag="VBZ">
                    <exception>has</exception>
                </token>
                <token postag="MD|VBD|VBP" postag_regexp="yes">
                    <exception>better</exception>
                </token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token regexp="yes">blues|times</token>
            </antipattern>
            <antipattern>
                <token>how</token>
                <token>many</token>
                <token postag="NNS" />
                <token postag="VBZ" />
                <token min="0" postag="DT|PDT|PRP\$" postag_regexp="yes" />
                <token min="0" postag="J.*" postag_regexp="yes" />
                <token postag="N.*|PRP" postag_regexp="yes" />
                <token min="0" postag="RB" />
                <token postag="V.*|SENT_END|PCT" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token chunk_re="[IE]-NP-plural">
                    <exception>plays</exception>
                </token>
            </antipattern>
            <antipattern>
                <token postag="NN|NN:U" postag_regexp="yes" />
                <token>these</token>
                <token>days</token>
            </antipattern>
            <antipattern>
                <token>too</token>
                <token>many</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">t?here</token>
                <token skip="-1" chunk_re="[BI]-NP-plural" />
                <token chunk="E-NP-plural" />
                <token postag="VBZ" />
                <token chunk="B-NP-singular" />
            </antipattern>
            <rule>
                <antipattern>
                    <token skip="1" postag="VBZ" />
                    <token />
                    <token postag="VB[DZ]" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">all|many|some|the|these|those|my|your|his|her|its|our|their</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token min="0" chunk="B-ADVP">
                        <exception postag="V.*" postag_regexp="yes" />
                        <exception>how</exception>
                    </token>
                    <token min="0" postag="PCT" />
                    <token regexp="yes">all|many|some|the|these|those|my|your|his|her|its|our|their</token>
                    <token regexp="yes" postag="NNS">.*(en|s)
                        <exception postag="NN(:UN?)?" postag_regexp="yes" />
                        <exception regexp="yes">apparatus|chassis|diabetes|docs|genus|ibis|platypus|quadriceps|rendezvous|savings|series|sis|species|times|woods</exception>
                    </token>
                    <marker>
                        <token postag="VBZ">
                            <exception regexp="yes">fees|officers</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible verb agreement error. Did you mean <suggestion><match no="6" postag="VBP" /></suggestion>?</message>
                <example correction="get">Luckily, those children <marker>gets</marker> better education.</example>
                <example correction="look">These curves <marker>looks</marker> similar to those basis curves.</example>
                <example correction="have">These districts <marker>has</marker> clusters of schools geographically located.</example>
                <example correction="work">Our tests <marker>works</marker> on real devices.</example>
                <example correction="are">The issues <marker>is</marker> that I work overseas and shipping is expensive.</example>
                <example correction="include">The bodies <marker>includes</marker> those of small children and their mothers with bulletholes in their skulls.</example>
                <example correction="worsen">Her conditions <marker>worsens</marker> and Death tries to lure her to eternal rest.</example>
                <example correction="reflect">The models <marker>reflects</marker> 10 years on the revenue forecast.</example>
                <example>The Times is a news publication.</example>
                <example>How many minutes does it take usually?</example>
                <example>Unfortunately the Alerts Conditions API endpoint does not accept empty or missing fields in the `PUT` request.</example>
                <example>Japanese anime these days is becoming more and more like pornography.</example>
                <example>Additionally, the DOE has changed some of its annual reporting requirements...</example>
                <example>So far the DOE has promised $22 million to be spent over three years...</example>
                <example>Taking too many selfies signifies a lack of sex.</example>
                <example>I have the Pompano files given to me by Kathleen Carnahan, and the FPL agreements/studies, taken in the name of Endeavor Development Company, LLC, are not part of the file.</example>
                <example>Now my brace is falling apart.</example>
                <example>Here my friends is no enemy, this is Michael.</example>
                <example>There my friends is no enemy, this is Michael.</example>
                <example>Soon, the goldfish is left.</example>
                <example>Since the bitcoin is in their digit portfolio.</example>
                <example>Today the turtle is 25 years old.</example>
                <example>However, the sole is extremely hard.</example>
                <example>Hopefully the shot goes well.</example>
                <example>When the Commissions proposes a new law, it sends it to the governor.</example>
                <example>The glaze on the doughnuts is often seen as the most important part.</example>
                <example>One of the employers has to tell the workers that they're going to be let go.</example>
                <example>One of the questions is, if you had the time, would you do it?</example>
                <example>Once the cactus has no leaves, photosynthesis slows down.</example>
                <example>Later the debris is cleaned up and swept away.</example>
                <example>One of the Residences appears part of the historical quarter.</example>
                <example>The thing about these years has been a the creation of a new social order.</example>
                <example>Fortunately the bacteria is algae.</example>
                <example>Before her eyes is a swollen ankle and a broken toe.</example>
                <example>How many calories is this?</example>
                <example>The woods includes Millington Springs, which formerly supported beds of watercress.</example>
                <example>The alerts channels resource provides information about an account's channels.</example>
                <example>The savings equals $12,000.</example>
                <example>The docs is updated for now.</example>
                <example>The properties files still contained th old app key instead of the new.</example>
                <example>Some times doesn't work.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VBZ" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">traiting|with</token>
                    <token>all</token>
                    <token min="0">the</token>
                    <token regexp="yes">classes|updates</token>
                </antipattern>
                <antipattern>
                    <token postag="VBG" />
                    <token min="0">all</token>
                    <token min="0" postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="NNS|PRP" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>what</token>
                    <token postag="VBZ" />
                    <token min="0" postag="DT|PDT|PRP\$" postag_regexp="yes" />
                    <token postag="N.*|PRP" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">all|some|the|these|those|my|your|his|her|its|our|their</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token chunk_re="B-NP.*" />
                    <token chunk_re="E-NP.*|B-VP">
                        <exception postag="IN|RP|TO|VBG" postag_regexp="yes" />
                        <exception regexp="yes">me|you|him|her|its|us|them|is|are</exception>
                    </token>
                    <token min="0" postag="PCT" />
                    <token regexp="yes">all|some|the|these|those|my|your|his|her|its|our|their</token>
                    <token regexp="yes" postag="NNS">.*(en|s)
                        <exception postag="NN(:UN?)?" postag_regexp="yes" />
                        <exception regexp="yes">apparatus|chassis|diabetes|docs|genus|ibis|platypus|PMS|quadriceps|rendezvous|savings|series|sis|species|times|woods</exception>
                    </token>
                    <marker>
                        <token postag="VBZ">
                            <exception regexp="yes">fees|needs|notes|officers</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible verb agreement error. Did you mean <suggestion><match no="7" postag="VBP" /></suggestion>?</message>
                <example correction="go">I think his remarks <marker>goes</marker> too far.</example>
                <example correction="are">No way these cars <marker>is</marker> all yours.</example>
                <example correction="play">We know those kids <marker>plays</marker> on the team.</example>
                <example>But understanding those limits doesn't mean junking the theory.</example>
                <example>The Times makes every effort to ensure accuracy...</example>
                <example>About how many pictures does Tom take every day?</example>
                <example>The States Parties to the Rome Statute</example>
                <example>Please return all comments questions, please call me.</example>
                <example>Traiting all classes is currently my next goal for the hero.</example>
                <example>What characterizes our candidates is their current and recent experiences.</example>
                <example>With all the updates is there going to be any additional achievements to unlock?</example>
                <example>Opening all those chests gives you a very good chance of finding some good troops.</example>
                <example>Some peoples schedules show conflicts.</example>
                <example>Some future prices for this summer delivery...</example>
                <example>The futures swaps jumped as high as $2.56/MMBtu by late afternoon...</example>
                <example>The species has also been known in the past as Monilia albicans...</example>
                <example>I have the Pompano files given to me by Kathleen Carnahan, and the FPL agreements/studies, taken in the name of Endeavor Development Company, LLC, are not part of the file.</example>
                <example>Most importantly, the blues is both the cause of song, and song itself.</example>
                <example>I attached the criteria notes below.</example>
                <example>Having so many resources increases our carbon footprint.</example>
                <example>So had these police recruits been required to serve that day, we would have seen less violence.</example>
                <example>What the blazes does that even mean?</example>
                <example>The chassis is made of folded metal.</example>
                <example>Semantics, out of these many topics is one that piqued my interest.</example>
                <example>The requirement for the many parks is a recommended six feet of distance between strangers.</example>
                <example>It seems the Argonauts is a film released in 1300.</example>
                <example>He said his diabetes is well controlled.</example>
                <example>So what the means is that he is very slow.</example>
                <example>We saw the skunk is releasing a smell.</example>
                <example>He put his sons needs in front of his own.</example>
                <example>So what the blazes does that even mean?</example>
                <example>I heard the shot makes you ill.</example>
                <example>I heard the manga has sold over 50 copies.</example>
                <example>We learned the cornea is roughly only 1mm.</example>
                <example>His novel, The Wars infuses multiple points about man's tendency towards destruction.</example>
                <example>How many lakes does Mauricie have?</example>
                <example>Listening to our supporters is a great way to gain their trust and loyalty.</example>
                <example>The Outsiders becomes Ponyboys go-to group for his afterschool shenanigans.</example>
                <example>To know the guys is a certified way to get in trouble.</example>
                <example>Please select which of these answers is the right one.</example>
                <example>The buffalo kills more hunters than the other way around.</example>
                <example>It's weird that one of my parents has a new house.</example>
                <example>I heard the Phantoms has never failed to pull through.</example>
                <example>The way he wrote instructions has clearly been to confuse the reader.</example>
                <example>We heard the news the narcos is now going to fall out with Chapo.</example>
                <example>Anna And Her Men has an amusing beginning.</example>
                <example>The turtle is shorter than the tortoise.</example>
                <example>I think The Columns doesn't open until 8.</example>
                <example>Later the lobster is submerged to kill it instantly.</example>
                <example>Visiting the many parks is a recommended way to kill time.</example>
                <example>The goat has to be able to complete the obstacle course.</example>
                <example>One of the offers has sparked my interest.</example>
                <example>Ok so your sis has a problem when I text her.</example>
            </rule>
        </rulegroup>
        <rulegroup id="VERB_HERE_SINCE" name="perfect tense + since" default="off">
            <rule> <!-- non 3rd prs part 1 -->
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">I|you|we|they</token>
                    <marker>
                        <token postag="VB(D|G|P|Z)?" postag_regexp="yes" >
                            <exception regexp="yes" inflected="yes">assume|be|do|cant?|guess|have|know|suppose|think|&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token chunk="B-ADVP" />
                    <token>since</token>
                    <or>
                        <token postag="CD" />
                        <token regexp="yes">(yester|to)day</token>
                    </or>
                </pattern>
                <message>Possible perfect tense error.</message>
                <suggestion>have <match no="3" postag="VBN" /></suggestion>
                <suggestion>have been <match no="3" postag="VBG" /></suggestion>
                <suggestion>had <match no="3" postag="VBN" /></suggestion>
                <suggestion>had been <match no="3" postag="VBG" /></suggestion>
                <example correction="have worked|have been working|had worked|had been working">I <marker>work</marker> here since 2002.</example>
                <example correction="have worked|have been working|had worked|had been working">I <marker>work</marker> here since yesterday.</example>
            </rule>
            <rule> <!-- non 3rd prs part 2 -->
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">I|you|we|they</token>
                    <marker>
                        <token postag="VB(D|G|P|Z)?" postag_regexp="yes" >
                            <exception regexp="yes" inflected="yes">assume|be|do|cant?|guess|have|know|suppose|think|&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token chunk="B-ADVP" />
                    <token>since</token>
                    <token regexp="yes">last|this</token>
                    <token regexp="yes">afternoon|evening|hour|month|morning|night|quarter|season|time|week|year</token>
                </pattern>
                <message>Possible perfect tense error.</message>
                <suggestion>have <match no="3" postag="VBN" /></suggestion>
                <suggestion>have been <match no="3" postag="VBG" /></suggestion>
                <suggestion>had <match no="3" postag="VBN" /></suggestion>
                <suggestion>had been <match no="3" postag="VBG" /></suggestion>
                <example correction="have worked|have been working|had worked|had been working">I <marker>work</marker> here since last year.</example>
            </rule>
            <rule> <!-- 3rd prs part 1 -->
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token postag="VB(D|G|P|Z)?" postag_regexp="yes" >
                            <exception regexp="yes" inflected="yes">assume|be|do|cant?|guess|have|know|suppose|think|&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token chunk="B-ADVP" />
                    <token>since</token>
                    <or>
                        <token postag="CD" />
                        <token regexp="yes">(yester|to)day</token>
                    </or>
                </pattern>
                <message>Possible perfect tense error.</message>
                <suggestion>has <match no="3" postag="VBN" /></suggestion>
                <suggestion>has been <match no="3" postag="VBG" /></suggestion>
                <suggestion>had <match no="3" postag="VBN" /></suggestion>
                <suggestion>had been <match no="3" postag="VBG" /></suggestion>
                <example correction="has worked|has been working|had worked|had been working">She <marker>works</marker> here since 2002.</example>
                <example correction="has worked|has been working|had worked|had been working">She <marker>works</marker> here since yesterday.</example>
            </rule>
            <rule> <!-- 3rd prs part 2 -->
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token postag="VB(D|G|P|Z)?" postag_regexp="yes" >
                            <exception regexp="yes" inflected="yes">assume|be|do|cant?|guess|have|know|suppose|think|&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token chunk="B-ADVP" />
                    <token>since</token>
                    <token regexp="yes">last|this</token>
                    <token regexp="yes">afternoon|evening|hour|month|morning|night|quarter|season|time|week|year</token>
                </pattern>
                <message>Possible perfect tense error.</message>
                <suggestion>has <match no="3" postag="VBN" /></suggestion>
                <suggestion>has been <match no="3" postag="VBG" /></suggestion>
                <suggestion>had <match no="3" postag="VBN" /></suggestion>
                <suggestion>had been <match no="3" postag="VBG" /></suggestion>
                <example correction="has worked|has been working|had worked|had been working">She <marker>works</marker> here since last year.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRE_AND_POST_NN" name="Hyphens in 'pre- and post-noun'">
            <rule>
                <pattern>
                    <marker>
                        <token>pre</token>
                        <token regexp="yes">and|&amp;|n?or|to|/</token>
                        <token>post</token>
                        <token postag="NN.*" postag_regexp="yes">
                            <exception postag="MD|IN|PRP.*|DT|CC" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>It appears that hyphens are missing.</message>
                <suggestion>\1- \2 \3-\4</suggestion>
                <example correction="pre- and post-corona">They were successful <marker>pre and post corona</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>pre</token>
                        <token regexp="yes">and|&amp;|n?or|to|/</token>
                        <token regexp="yes">post-.*[a-z].*</token>
                    </marker>
                </pattern>
                <message>It appears that a hyphen is missing.</message>
                <suggestion>\1- \2 \3</suggestion>
                <example correction="pre- and post-corona">They were successful <marker>pre and post-corona</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>pre</token>
                        <token>-</token>
                        <token regexp="yes">and|&amp;|n?or|to|/</token>
                        <token>post</token>
                        <token postag="NN.*" postag_regexp="yes">
                            <exception postag="MD|IN|PRP.*|DT|CC" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>It appears that a hyphen is missing.</message>
                <suggestion>\1- \3 \4-\5</suggestion>
                <example correction="pre- and post-corona">They were successful <marker>pre- and post corona</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="HAVE_FOLLOWING_NN" name="I have following (the following) questions">
	        <pattern>
		        <token inflected="yes">have</token>
		        <marker>
		            <token>following</token>
		            <token postag="N.*" postag_regexp="yes">
		                <exception>up</exception>
		            </token>
		        </marker>
	        </pattern>
	        <message>The article 'the' may be missing.</message>
	        <suggestion>the following <match no="3" /></suggestion>
	        <example correction="the following questions">I have <marker>following questions</marker> for you:</example>
	        <example>We have following up with support team and they detected the problem, it was a misconfiguration at network level.</example>
        </rule>
        <rule id="I_DONT_DT" name="Missing verb after 'don't'">
            <antipattern>
                <token inflected="yes">not</token>
                <token regexp="yes">all|much|every|each</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token skip="4" regexp="yes">if|as</token>
                <token inflected="yes">not</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="2">not</token>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">n?either</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">not</token>
                <token regexp="yes">half|next|last</token>
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>all</token>
                <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token regexp="yes">I|you|they|we|s?he|this|that|t[oe]se|(some|any|every|no)(body|one|thing)</token>
                <token postag="RB" min="0" chunk_re=".-ADVP" />
                <token regexp="yes">do|did|does</token>
                <token inflected="yes">not</token>
                <marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </marker>
            </pattern>
            <message>It appears that a verb is missing before "\4".</message>
            <suggestion>have \5</suggestion>
            <suggestion>do \5</suggestion>
            <suggestion>get \5</suggestion>
            <suggestion>see \5</suggestion>
            <suggestion>know \5</suggestion>
            <short>Possible missing verb</short>
            <example correction="have the|do the|get the|see the|know the">I didn't <marker>the</marker> mistake.</example>
            <example correction="have the|do the|get the|see the|know the">For those areas that you do not <marker>the</marker> answer, we will do our best to get that answered.</example>
            <example>Different hub versions are now handled by different development teams, and they do not all upgrade on the same schedule.</example>
            <example>I do not much care for this kind of drink.</example>
            <example>We don't each have our own direct line.</example>
            <example>I don't either.</example>
            <example>He didn't half swear.</example>
            <example>Tom doesn't speak French and Mary doesn't either.</example>
            <example>We don't all believe in god.</example>
        </rule>
        <rule id="GOT_IT_DONE" name="I got most of it did (done) yesterday" default="off">
            <antipattern>
                <token>did</token>
                <token>n't</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">get</token>
                <token chunk_re="B-ADJP" />
            </antipattern>
            <pattern>
                <token inflected="yes">get</token>
                <token postag="DT|PDT|PRP\$|NN:U" postag_regexp="yes" />
                <token min="0">of</token>
                <token postag="N.*|PRP" postag_regexp="yes">
                    <exception postag="V.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>did</token>
                </marker>
            </pattern>
            <message>Possible tense error. Did you mean the past participle?</message>
            <suggestion>done</suggestion>
            <example correction="done">I got most of it <marker>did</marker> yesterday.</example>
            <example correction="done">She got her homework <marker>did</marker> before class.</example>
            <example correction="done">They got the draft <marker>did</marker> this weekend.</example>
            <example correction="done">I got my nails <marker>did</marker> last week.</example>
            <example>While it got quiet I didn't dare to lose it.</example>
        </rule>
        <rulegroup id="CAN_I_VBD" name="Can I sent (send) it?">
            <short>Possible agreement error</short>
            <antipattern><!-- how can anyone fascinated by creativity and beauty fail to see in computers the ultimate tool for exploring their essence? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">(any|some|every|no)(one|body|thing)</token>
                <token postag="RB" min="0" />
                <token postag="VBD" />
                <token postag="IN" skip="5" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Could somebody opening event chests please confirm getting (or not getting) one? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">(any|some|every|no)(one|body|thing)</token>
                <token postag="RB" min="0" />
                <token postag="VBG" skip="5" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Could somebody opening event chests please confirm getting (or not getting) one? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token postag="NNP" />
                <token postag="RB" min="0" />
                <token postag="VBG" skip="5" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Would anyone including you do that? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">(any|some|every|no)(one|body|thing)</token>
                <token>including</token>
            </antipattern>
            <antipattern><!-- How could that thought not have entered your head? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">that|this</token>
                <token postag="JJ.*|VBD|NN.*|CD" postag_regexp="yes" min="0" />
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- Will these bespoke pants make my xxx larger? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">th[eo]se</token>
                <token postag="JJ.*|VBD|NN.*|CD" postag_regexp="yes" min="0" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- How can someone so broken be so beautiful? -->
                <token postag="MD" />
                <token min="0" inflected="yes">not</token>
                <token regexp="yes">(any|some|every|no)(one|body|thing)</token>
                <token postag="RB" min="0" />
                <token postag="VB[NDG]" postag_regexp="yes" />
                <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- How could she live knowing that .... -->
                <token postag="MD" />
                <token inflected="yes" min="0">not</token>
                <token regexp="yes">s?he|it|I|we|they|you|this|that|th[oe]se|(some|any|every|no)(thing|body|one)</token>
                <token postag="RB">live</token>
                <token postag="VBG" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|PCT|W.*" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token inflected="yes" min="0">not</token>
                    <token regexp="yes">s?he|it|I|we|they|you|this|that|th[oe]se|(some|any|every|no)(thing|body|one)</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VB[GDNZ]" postag_regexp="yes" skip="-1">
                            <exception postag="VB" />
                            <exception regexp="yes">kids|physics|knights</exception>
                            <exception>'s</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>The correct verb form after the modal verb "\2" is <suggestion><match no="6" postag="VB" /></suggestion>.</message>
                <example correction="send">Can I <marker>sent</marker> it to you?</example>
                <example correction="choose">Why would you <marker>chose</marker> to do that?</example>
                <example correction="consider">Would you <marker>considering</marker> an annotated upload to github?</example>
                <example correction="elaborate">Can you <marker>elaborated</marker> on how you imported and initialized the Python agent?</example>
                <example correction="list">Can anyone <marker>lists</marker> here some other factors which cause this high latency value?</example>
                <example correction="monitor">I would like to ask how can I <marker>monitoring</marker> log files with New Relic and parser them as we need it?</example>
                <example correction="attach">If there is a error window related, can you please <marker>attached</marker> this as a screenshot to your answer?</example>
                <example correction="locate">Could you <marker>located</marker> the "place" by either found image or mouse location, or some other means?</example>
                <example correction="expect">Should I <marker>expected</marker> those messages to show up in the log window when developing a SmartApp with the simulator?</example>
                <example correction="press">After waiting some uncertain time, can I <marker>pressing</marker> F3 to trigger the action Display "A" and pressing F4 to trigger the action Display "B"?</example>
                <example correction="make">How can we <marker>made</marker> Jira instance to send an unisigned install request, so we could store new credentials?</example>
                <example correction="check">How can I <marker>checked</marker> whether it worked successfully?</example>
                <example correction="include">Can you <marker>including</marker> a permalink to the page in question?</example>
                <example correction="troubleshoot">How can I <marker>troubleshooting</marker> this?</example>
                <example correction="do">Could this <marker>doing</marker> damage to the transmission or any other part of the vehicle?</example>
                <example>Could you kids help me clear the table?</example>
                <example>Will that existing user have permissions to all artifactory volumes?</example>
                <example>Will these bespoke pants make my penis larger?</example>
                <example>Could she live knowing that she will die?</example>
                <example>The question initially becomes, can that discounted pack sell a 7 times the rate of the undiscounted one?</example>
                <example>Will this boring evening come to an end?</example>
                <example>How can someone so broken be so beautiful?</example>
                <example>Would someone's body size affect their ability to run?</example>
                <example>how can anyone fascinated by creativity and beauty fail to see in computers the ultimate tool for exploring their essence?</example>
                <example>Could somebody opening event chests please confirm getting (or not getting) one?</example>
                <example>How could that thought not have entered your head?</example>
                <example>Can anyone involved in the Synthetics product comment on whether they believe this is part of the value-add or if they see the product going this route?</example>
            </rule>
            <rule>
                <antipattern><!-- Can NewRelic engineers re-evaluate this? -->
                    <token postag="NNPS?" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VB|UNKNOWN" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token postag="CC|SENT_START|PCT|W.*" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token inflected="yes" min="0">not</token>
                    <token postag="NNP" min="0" />
                    <token postag="NNPS?" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VB[GDNZ]" postag_regexp="yes" skip="-1">
                            <exception postag="VB" />
                            <exception inflected="yes" regexp="yes">&uncommon_verbs;</exception>
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception>'s</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>The correct verb form after the modal verb "\2" is <suggestion><match no="7" postag="VB" /></suggestion>.</message>
                <example correction="send">Can Tom <marker>sent</marker> it to you?</example>
                <example>Can NewRelic engineers re-evaluate this and come up with a better solution?</example>
                <example>Can Julian sitting in Buenos Aires have read only access to that product on the Stack Manager?</example>
                <example>So could Dan Coats, previous DNI director, be deep throat, the whistle blower?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="W.*" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token postag="RB" />
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token inflected="yes" min="0">not</token>
                    <token regexp="yes">s?he|it|I|we|they|you|this|that|th[oe]se|(some|any|every|no)(thing|body|one)</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VB[GDNZ]" postag_regexp="yes" skip="-1">
                            <exception postag="VB" />
                            <exception regexp="yes">kids|physics|knights</exception>
                            <exception>'s</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>The correct verb form after the modal verb "\3" is <suggestion><match no="7" postag="VB" /></suggestion>.</message>
                <example correction="send">When exactly can you <marker>sent</marker> it?</example>
                <example type="triggers_error">How much would this pricing change?</example><!-- disambiguation issue -->
            </rule>
            <rule>
                <pattern>
                    <token>how</token>
                    <token regexp="yes">many|much</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token inflected="yes" min="0">not</token>
                    <token regexp="yes">s?he|it|I|we|they|you|this|that|th[oe]se|(some|any|every|no)(thing|body|one)</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VB[GDNZ]" postag_regexp="yes" skip="-1">
                            <exception postag="VB" />
                            <exception regexp="yes">kids|physics|knights</exception>
                            <exception>'s</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>The correct verb form after the modal verb "\5" is <suggestion><match no="9" postag="VB" /></suggestion>.</message>
                <example correction="earn">How much money can you <marker>earned</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">what|which</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token inflected="yes" min="0">not</token>
                    <token regexp="yes">s?he|it|I|we|they|you|this|that|th[oe]se|(some|any|every|no)(thing|body|one)</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VB[GDNZ]" postag_regexp="yes" skip="-1">
                            <exception postag="VB" />
                            <exception regexp="yes">kids|physics|knights</exception>
                            <exception>'s</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>The correct verb form after the modal verb "\4" is <suggestion><match no="8" postag="VB" /></suggestion>.</message>
                <example correction="buy">Which car would you <marker>bought</marker>?</example>
                <example correction="choose">Which one would you <marker>chose</marker> and why?</example>
            </rule>
        </rulegroup>
        <rule id="LET_IT_INFINITIVE" name="Don't let any negativity to affect (affect) you">
            <antipattern>
                <token regexp="yes">my|opportunity</token>
                <token regexp="yes">try|to</token>
            </antipattern>
            <pattern>
                <token inflected="yes">let</token>
                <token min="0" postag="DT|PDT|PRP\$" postag_regexp="yes" />
                <token postag="N.*|PRP" postag_regexp="yes">
                    <exception postag="V.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>to</token>
                    <token postag="VB">
                        <exception regexp="yes">long|silver</exception>
                    </token>
                </marker>
            </pattern>
            <message>Using the infinitive may not be correct in this context.</message>
            <suggestion><match no="5" /></suggestion>
            <url>https://languagetool.org/insights/post/lets-let-to/</url>
            <example correction="affect">Don't let any negativity <marker>to affect</marker> you.</example>
            <example>Let my try to excavate some of them.</example>
            <example>Don't let the opportunity to get your customer to Enron result in only a meeting with a tour or two.</example>
        </rule>
        <rule id="BE_AWARE_OF" name="Need to (be) aware of">
            <pattern>
                <token regexp="yes">to|will|should|can|could|must</token>
                <marker>
                    <token>aware</token>
                </marker>
                <token postag="IN|CC" postag_regexp="yes" />
            </pattern>
            <message>It appears that a verb is missing.</message>
            <suggestion>be \2</suggestion>
            <example correction="be aware">I need to <marker>aware</marker> of this.</example>
        </rule>
        <rulegroup id="PRP_REPITION" name="Repetition of pronouns">
            <antipattern>
                <token regexp="yes">you|it|we|they|s?he|I</token>
                <token><match no="0" /></token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_i;</token>
                <token>I</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes" regexp="yes">[A-Z]</token>
                <token>.</token>
                <token>I</token>
            </antipattern>
            <antipattern>
                <token postag="PRP|UNKNOWN|NNP|NN.*" postag_regexp="yes" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token>I</token>
                <token>we</token>
            </antipattern>
            <antipattern>
                <token>were</token>
                <token>I</token>
                <token>you</token>
                <token>I</token>
            </antipattern>
            <antipattern>
                <token>bout</token><!-- about -->
                <token>it</token>
            </antipattern>
            <antipattern>
                <token postag="IN" chunk="B-PP" />
                <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                <token regexp="yes">n?or|and|&amp;|/</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes" skip="2">if|when|once|since</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">you|it</token>
                    <token>I</token>
                    <token>think</token>
                    <token postag="PCT|CC" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>worth</token>
                    <token>it</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token case_sensitive="yes" regexp="yes">I|[Ww]e|[Tt]hey|[Ss]he|[Hh]e|[Ii]t|[Yy]ou</token>
                    <token postag="RB" min="0" />
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>if</suggestion>?</message>
                <example correction="If"><marker>It</marker> you have any questions, let me know.</example>
                <example correction="if">And <marker>it</marker> you make a mistake there is just a finger push of Spackle and no one knew you were there.</example>
                <example correction="if">Per Cecilia this was done and I just spot checked a few deals and checked ENTERGY in particular and <marker>it</marker> they were moved to Bankruptcy.</example>
                <example>If Beth OKs it I can do a strategy session.</example>
                <example>That's basically it I think!</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern><!-- Tom told Mary and I we should try to do that by ourselves. -->
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" min="1" max="2" />
                    <token regexp="yes">and|or|&amp;</token>
                    <token regexp="yes">I|you|it</token>
                </antipattern>
                <antipattern><!-- Was that you I saw with Tom near the river? -->
                    <token inflected="yes">be</token>
                    <token inflected="yes" min="0">not</token>
                    <token regexp="yes">that|it</token>
                    <token postag="PRP" />
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- It wasn't you I hated -->
                    <token inflected="yes">be</token>
                    <token inflected="yes" min="0">not</token>
                    <token regexp="yes">you|it|s?he|they|we|I</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">I|[Ww]e|[Tt]hey|[Ss]he|[Hh]e|[Ii]t|[Yy]ou</token>
                        <token case_sensitive="yes" regexp="yes">I|[Ww]e|[Tt]hey|[Ss]he|[Hh]e|[Ii]t|[Yy]ou</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Consider using only one pronoun here.</message>
                <suggestion>\1</suggestion>
                <suggestion>\2</suggestion>
                <example correction="we|you">How many PCs do <marker>we you</marker> have?</example>
                <example correction="you|it">Who told you that <marker>you it</marker> was OK to park here?</example>
                <example>Tom told Mary and I we should try to do that by ourselves.</example>
                <example>After World War I It's getting hotter and hotter.</example>
                <example>Marriage to Otto I He has this large room to himself.</example>
                <example>Was that you I saw with Tom near the river?</example>
                <example>It wasn't you I hated</example>
                <example>If there are issues that can't be resolved between Mary and you I will gladly get involved.</example>
                <example>Rex and I we went to school together.</example>
                <example>Were I you I would start a business.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="W.*" postag_regexp="yes" />
                    <token postag="RB|NN.*" postag_regexp="yes" min="0" max="2" />
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">it|you</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">is|was|does|did|has|had</token>
                    <token postag="RB" min="0" />
                    <token>it</token>
                    <token>it</token>
                    <token>'s</token>
                </antipattern>
                <antipattern><!-- We kinda already have it I feel? -->
                    <token regexp="yes">have|do|be|are|'re|were</token>
                    <token>it</token>
                </antipattern>
                <antipattern><!-- He is you I think? -->
                    <token regexp="yes">has|does|be|is|'s|was</token>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- We kinda already have it I feel? -->
                    <token regexp="yes">it|you</token>
                    <token>I</token>
                    <token regexp="yes">assume|question|think|believe|feel</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">be|do|have|will|can|should|must</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">I|[Ww]e|[Tt]hey|[Ss]he|[Hh]e|[Ii]t|[Yy]ou</token>
                        <token case_sensitive="yes" regexp="yes">I|[Ww]e|[Tt]hey|[Ss]he|[Hh]e|[Ii]t|[Yy]ou</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>Consider using only one pronoun here.</message>
                <suggestion>\3</suggestion>
                <suggestion>\4</suggestion>
                <example correction="you|we">How many PCs do <marker>you we</marker> have?</example>
                <example>What is it they say?</example>
                <example>What was it you were going to say?</example>
                <example>Is it it's own procedure?</example>
                <example>We kinda already have it I feel?</example>
                <example>Whose love is it you need?</example>
            </rule>
        </rulegroup>
        <rulegroup id="SOME_TIMES_TIME" name="some times (time)">
            <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP">take</token>
                    <marker>
                        <token>some</token>
                        <token>times</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>some time</suggestion>?</message>
                <example correction="some time">It will take <marker>some times</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>for</token>
                    <token>quite</token>
                    <marker>
                        <token>some</token>
                        <token>times</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>some time</suggestion>?</message>
                <example correction="some time">I have done it for quite <marker>some times</marker>.</example>
            </rule>
        </rulegroup>

        <rulegroup id="A_RB_A_JJ_NN" name="redundant determiner">
            <short>Redundant article</short>
            <antipattern>
                <token>a</token>
                <token>cappella</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">an?|the</token>
                        <token postag="RB">
                            <exception postag="NN.*|IN|JJR" postag_regexp="yes" />
                            <exception regexp="yes">sudden|moment|way|(up|down)stream</exception>
                        </token>
                        <token regexp="yes">an?|the</token>
                        <token postag="JJR?" postag_regexp="yes" />
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                </pattern>
                <message>It seems like one article is redundant in this context.</message>
                <suggestion>\1 \2 \4</suggestion>
                <suggestion>\2 \3 \4</suggestion>
                <example correction="the only heavy|only the heavy">This is <marker>the only the heavy</marker> consequence.</example>
                <example correction="a quite long|quite a long">I know dropping that will be <marker>a quite a long</marker> day.</example>
                <example correction="the exactly same|exactly the same">I feel <marker>the exactly the same</marker> way!</example>
                <example>At the moment the only way to alert is via email.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="RB">
                        <exception regexp="yes">sudden|moment|way|(up|down)stream</exception>
                        <exception postag="NN.*|IN|JJR" postag_regexp="yes" />
                    </token>
                    <token>the</token>
                </pattern>
                <message>It seems like one article is redundant in this context.</message>
                <suggestion>\2 \3</suggestion>
                <example correction="really the">That’s <marker>the really the</marker> point of these songs.</example>
                <example>This is the way the music dies.</example>
                <example>It happened at the moment the directory shouted.</example>
             </rule>
        </rulegroup>
        <rulegroup id="I_ME" name="I vs me">
            <!-- TODO: -->
            <!-- Please talk to I and John about ... -->
            <!-- John and I went to the beach. -> I -->
            <url>https://languagetool.org/insights/post/you-i-versus-you-me/</url>
            <antipattern><!-- roman capitals -->
                <token regexp="yes" skip="4">I|III?|IV|VI|VIII?</token>
                <token regexp="yes">and|n?or|&amp;</token>
                <token>I</token>
            </antipattern>
            <antipattern><!-- She lived in Mx and I in the U.S. -->
                <token postag="VB.*" postag_regexp="yes" />
                <token>in</token>
                <token postag="NNP" min="0" />
                <token postag="NNP" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token>I</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" skip="-1">
                    <exception scope="next" postag="VB.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>I</token>
                </marker>
            </antipattern>
            <antipattern>
                <token postag_regexp="yes" postag="W.*" regexp="yes" skip="-1">[hw].*</token>
                <marker>
                    <token skip="-1">I</token>
                </marker>
                <token postag="SENT_END">?</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token min="0">,</token>
                <token>for</token>
                <token>one</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token min="0">,</token>
                <token>on</token>
                <token>the</token>
                <token>other</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token>in</token>
                <token>the</token>
                <token>past</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>I</token>
                <token spacebefore="no" />
                <token spacebefore="no" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token postag="DT|CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes" skip="8">be|do|have|will|can|should|may|must</token>
                <marker>
                    <token skip="-1">I</token>
                </marker>
                <token postag="SENT_END">?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">and|n?or|&amp;</token>
                <token>I</token>
                <token>ever</token>
                <token>since</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <!-- Please talk to Tom and I about your idea. -->
            <rule>
                <pattern>
                    <token postag="NNP|PRP" postag_regexp="yes">
                        <exception regexp="yes">s?he|they|I|we|it|me|myself</exception>
                    </token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <marker>
                        <token>I</token><!-- TODO: add 'myself' -->
                    </marker>
                    <token min="0">both</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">live|forward</exception>
                    </token>
                    <token postag="IN" chunk_re="B-PP|B-SBAR">
                        <exception>like</exception>
                    </token>
                </pattern>
                <message>In this context, it seems that the correct pronoun is <suggestion><match no="3" regexp_match="^.+$" regexp_replace="me" case_conversion="alllower" /></suggestion>.</message>
                <example correction="me">Let's talk to Tom and <marker>I</marker> about your project.</example>
                <example correction="me">Your are invited to join Kim and <marker>I</marker> tonight for lunch.</example>
                <example correction="me">Regarding Pescetti, he called Smutney, Gary Ackerman and <marker>I</marker> into a meeting.</example>
                <example correction="me">They took Gordon and <marker>I</marker> with them on their holiday.</example>
                <example correction="me">I think they will talk to you and <marker>I</marker> about the incident.</example>
                <example correction="me">You should send the doc to Tom and <marker>I</marker> before you go home.</example>
                <example correction="me">You should send it to Tom and <marker>I</marker> before you go home.</example>
                <example correction="me">I would suggest talking with Mike or <marker>I</marker> before making any comments to the media if possible.</example>
                <example>James VI and I of the United Kingdom</example>
                <example>James VI of Scotland and I of England (1603–1625)</example>
                <example>She lived in Mx and I in the U.S.</example>
                <example>I think John and I are considering to move to Canada.</example>
                <example>Which side of that average are you and I on?</example>
                <example>He lives in Madrid and I live in Girona.</example>
                <example>The job that you &amp; I in the past have talked about is the same one you and Jeremy discussed.</example>
                <example>Seven Miles Down the story of the Bathyscaphe Trieste Tom and I both live in Boston.</example>
                <example>Jeff Fischer and I in EES Tax have been working with Nancy Hetrick regarding the question of whether REPs will be responsible for administering Texas taxes on T&amp;D services.</example>
                <example>Ludwidg Max, Jeff Fischer and I in EES Tax have been working with Nancy Hetrick.</example>
                <example>Some guy, Jeff Fischer and I in EES Tax have been working with Nancy Hetrick.</example>
                <example>Are Luce and I next to them?</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|or|&amp;</token>
                    <token>I</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <token chunk_re=".-NP.*" skip="-1" />
                    <token postag="VB.*|MD" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="NNP|PRP" postag_regexp="yes">
                        <exception regexp="yes">s?he|they|I|we|it|me|myself</exception>
                    </token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <marker>
                        <token>I</token><!-- TODO: add 'myself' -->
                    </marker>
                    <token min="0">both</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">live|forward</exception>
                    </token>
                    <token postag="CC|W.*" postag_regexp="yes" />
                </pattern>
                <message>In this context, it seems that the correct pronoun is <suggestion><match no="3" regexp_match="^.+$" regexp_replace="me" case_conversion="alllower" /></suggestion>.</message>
                <example correction="me">They talked to Tom and <marker>I</marker> but didn't mention this.</example>
                <example correction="me">Melba, Sean sat down with Christian and <marker>I</marker> and explained his proposed product.</example>
                <example correction="me">Tom told Mary and <marker>I</marker> that we should try to do that by ourselves.</example>
                <example correction="me">FYI, attached was the agreement reached between Tom and <marker>I</marker> which was subsequently ignored by bringing Diamond group.</example>
                <example correction="me">Call Kathleen or <marker>I</marker> if we can help in this process.</example>
                <example correction="me">This is a picture of Tom and <marker>I</marker> when we were students.</example>
                <example>Gin became vastly more popular as an alternative to brandy, when William III, II &amp; I and Mary II became co-sovereigns of England, Scotland and Ireland after leading the Glorious Revolution.</example>
                <example>Also, Susan or I or both will be there.</example>
                <example>Allison cannot make lunch today, but you and I and Janette can go.</example>
                <example>One time Karen and I and three of our team members went out to lunch.</example>
                <example>Cyrus Cylinder, from Babylon Kurt and I and whom ever may do the show / or dinner thing Friday night.</example>
                <example>Both Dad and Robert were away so Joanne and I and two spares managed to get a win.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>I</token>
                    <token>,</token>
                    <token postag="RB" min="0" />
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Why are Tom and I here? -->
                    <token postag="W.*|CC|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="RB|JJ" postag_regexp="yes" min="0" />
                    <token inflected="yes" regexp="yes" skip="7">do|be|have</token>
                    <token>I</token>
                </antipattern>
                <antipattern><!-- We have things in common, Tom and I. -->
                    <token>,</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="NNP|PRP" postag_regexp="yes" />
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token>I</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token>I</token>
                    <token>.</token>
                    <token postag="NNP|UNKNOWN" postag_regexp="yes" case_sensitive="yes" regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <token postag="NNP|PRP" postag_regexp="yes">
                        <exception regexp="yes">s?he|they|I|we|it|me|myself</exception>
                    </token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <marker>
                        <token>I</token><!-- TODO: add 'myself' -->
                    </marker>
                    <token postag="RB" min="0">
                        <exception regexp="yes">live|forward</exception>
                    </token>
                    <token postag="PCT" />
                </pattern>
                <message>In this context, it seems that the correct pronoun is <suggestion><match no="3" regexp_match="^.+$" regexp_replace="me" case_conversion="alllower" /></suggestion>.</message>
                <example correction="me">They talked to Tom and <marker>I</marker>, but none of us replied.</example>
                <example correction="me">She bought a gift for Danny and <marker>I</marker>.</example>
                <example correction="me">Please include Tony and <marker>I</marker>.</example>
                <example correction="me">Jack ran off during the worst part of the storm, scaring Neil and <marker>I</marker> horribly.</example>
                <example correction="me">Could you email the details on your prepay deals to Phil and <marker>I</marker>, just in case we have questions regarding them.</example>
                <example correction="me">If you ask John and <marker>I</marker>, dogs should wear clothes.</example>
                <example>Why are Tom and <marker>I</marker> here?.</example>
                <example>We have things in common, Tom and I.</example>
                <example>See you in February, perhaps both, Geoff and I, will be attending parents weekend at Stanford.</example>
                <example>Let me know your schedule for the next few weeks, so you and David and I, can get together for another movie.</example>
                <example>In other news, a few of us, including Art and I, are getting together for drinks after work tomorrow if you or anyone else is interested.</example>
                <example>Ted – drums (1978–1981) We need to talk, just you and I</example>
                <example>Chris is not going down, Mark and I only, and we are arriving to Miami on Tuesday afternoon and staying at the Hyatt.</example>
                <example>We're very different, you and I.</example>
                <example>We are, her and I, in the same class.</example>
                <example>We are, not just you and I, in the same class.</example>
                <example>... in his memoirs In Memory Yet Green and I. Asimov: A Memoir …</example>
            </rule>
            <rule>
                <antipattern><!-- Why are Tom and I -->
                    <token postag="W.*|CC|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="RB|JJ" postag_regexp="yes" min="0" />
                    <token inflected="yes" regexp="yes" skip="7">do|be|have</token>
                    <token>I</token>
                </antipattern>
                <antipattern><!-- We have things in common, Tom and I. -->
                    <token>,</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="NNP|PRP" postag_regexp="yes" />
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="NNP|PRP" postag_regexp="yes">
                        <exception regexp="yes">s?he|they|I|we|it|me|myself</exception>
                    </token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <marker>
                        <token postag="SENT_END">I</token><!-- TODO: add 'myself' -->
                    </marker>
                </pattern>
                <message>In this context, it seems that the correct pronoun is <suggestion><match no="3" regexp_match="^.+$" regexp_replace="me" case_conversion="alllower" /></suggestion>.</message>
                <example correction="me">They talked to Tom and <marker>I</marker></example>
                <example correction="me">It's about Chris and <marker>I</marker></example>
                <example>Ted – drums (1978–1981) We need to talk, just you and I</example>
            </rule>
        </rulegroup>
        <rulegroup id="AND_BUT" name="and but">
            <rule>
                <antipattern>
                    <token>and</token>
                    <token>or</token>
                    <token>but</token>
                </antipattern>
                <antipattern>
                    <token>or</token>
                    <token>and</token>
                    <token>but</token>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token>but</token>
                    <token>only</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">and|or|if</token>
                    <token case_sensitive="yes">but</token>
                </pattern>
                <message>Please check if you only wanted to use one conjunction here.</message>
                <suggestion>\1</suggestion>
                <suggestion>\2</suggestion>
                <example correction="and|but">I'm happy <marker>and but</marker> hungry.</example>
                <example>If but only if their assertion were true, then we would lose. their assertion were true, then we would lose.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>but</token>
                    <token>and</token>
                    <token>or</token>
                </antipattern>
                <antipattern>
                    <token>but</token>
                    <token>or</token>
                    <token>and</token>
                </antipattern>
                <antipattern>
                    <token>but</token>
                    <token>and</token>
                    <token>ben</token>
                </antipattern>
                <pattern>
                    <token>but</token>
                    <token regexp="yes" case_sensitive="yes">and|or</token>
                </pattern>
                <message>Please check if you only wanted to use one conjunction here.</message>
                <suggestion>\1</suggestion>
                <suggestion>\2</suggestion>
                <example correction="but|and">I'm happy <marker>but and</marker> hungry.</example>
            </rule>
        </rulegroup>
        <rule id="NOT_LONGER" name="not longer -> no longer">
            <antipattern>
                <token>if</token>
                <token postag="RB" min="0" />
                <token>not</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">day|week|month|year|event|weekend|night</token>
                <token inflected="yes" regexp="yes">be|seem</token>
                <token>not</token>
                <token>longer</token>
            </antipattern>
            <antipattern>
                <token skip="2">longer</token>
                <token postag="JJR" />
            </antipattern>
            <pattern>
                <marker>
                    <token>not</token>
                    <token>longer</token>
                </marker>
                <token postag="VB.*|JJ|IN|PCT|CC" postag_regexp="yes">
                    <exception>than</exception>
                </token>
            </pattern>
            <message>Did you mean the adverb <suggestion>no longer</suggestion>?</message>
            <url>https://dictionary.cambridge.org/grammar/british-grammar/no-longer-not-any-longer</url>
            <example correction="no longer">I'm <marker>not longer</marker> available.</example>
            <example>The days are not longer but shorter.</example>
            <example>At the end of this period, not longer than one year, the soul then takes its place in the world to come.</example>
        </rule>
        <rule id="A_BACHELORS_IN" name="a bachelors (bachelor's) in X">
            <pattern>
                <token>a</token>
                <marker>
                    <token>bachelors</token>
                </marker>
                <token>in</token>
            </pattern>
            <message>It seems that a possessive apostrophe is missing.</message>
            <suggestion>bachelor's</suggestion>
            <suggestion>bachelor's degree</suggestion>
            <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
            <example correction="bachelor's|bachelor's degree">I have a <marker>bachelors</marker> in science.</example>
        </rule>
        <rulegroup id="A_HEADS_UP" name="a heads-up">
            <url>https://www.merriam-webster.com/dictionary/heads-up</url>
            <antipattern>
                <token inflected="yes" regexp="yes" skip="3">keep|lift|move|put|hold</token>
                <token>heads</token>
            </antipattern>
            <antipattern>
                <token>heads</token>
                <token skip="1">up</token>
                <token>foundation</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">a|the</token>
                    <marker>
                        <token>head</token>
                                                <token>'s</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>The informal warning/alert <suggestion>heads-up</suggestion> is spelled with a hyphen and no apostrophe.</message>
                <example correction="heads-up">Thanks to a <marker>head's up</marker> from our customer, we were able to resolve the matter.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">a|the</token>
                    <marker>
                        <token>heads</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>The informal warning/alert <suggestion>\2-\3</suggestion> is spelled with a hyphen and no apostrophe.</message>
                <example correction="heads-up">Thanks to a <marker>heads up</marker> from our customer, we were able to resolve the matter.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" skip="4">thanks?|appreciat(e[ds]?|ing)</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <marker>
                        <token>heads</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>The informal warning/alert <suggestion>\3-\4</suggestion> is spelled with a hyphen and no apostrophe.</message>
                <example correction="heads-up">Thanks for your <marker>heads up</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="IN_A_TROUBLE" name="In a trouble">
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>trouble</token>
                <token regexp="yes">shoot(ing|s)?|making</token>
            </antipattern>
            <pattern>
                <token regexp="yes">an?</token>
                <token chunk_re="E-NP-singular">trouble</token>
            </pattern>
            <message>The noun <suggestion>\2</suggestion> is uncountable and doesn't require an article.</message>
            <example correction="trouble">He is in <marker>a trouble</marker>.</example>
            <example>I had a little trouble.</example>
        </rule>
        <rule id="PLEASE_TO_MEET_YOU" name="Please(d) to meet you">
            <pattern>
                <marker>
                    <token>please</token>
                </marker>
                <token>to</token>
                <token postag="VB" />
                <token postag="IN" min="0" />
                <token>you</token>
            </pattern>
            <message>Did you mean <suggestion>pleased</suggestion>?</message>
            <example correction="Pleased"><marker>Please</marker> to meet you.</example>
            <example correction="pleased">Rice University is <marker>please</marker> to invite you.</example>
        </rule>
        <rulegroup id="IF_VB" name="if (we/they/you) need something">
            <antipattern><!-- https://dictionary.cambridge.org/dictionary/english/if-need-be -->
                <token regexp="yes">needs?</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">if|whether|although</token>
                <token />
                <token regexp="yes">you|s?he|it|we|they|I</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">if|whether|although</token>
                <token />
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">t</token>
                <token regexp="yes">you|s?he|it|we|they|I</token>
            </antipattern>
            <antipattern>
                <token>n't</token>
                <token regexp="yes">you|s?he|it|we|they|I</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">if|whether|although</token>
                <token>
                    <exception postag="MD" />
                </token>
                <token inflected="yes" regexp="yes">be|have|do|make|want</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">if|whether|although</token>
                <token />
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">if|whether|although</token>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">[Ii]f|[Ww]hether|[Aa]lthough</token>
                <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
            </antipattern>
            <antipattern>
                <token>Take</token>
                <token>That</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">if|whether|although</token>
                    </marker>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>It seems that a pronoun is missing.</message>
                <suggestion>\1 you</suggestion>
                <suggestion>\1 I</suggestion>
                <suggestion>\1 it</suggestion>
                <suggestion>\1 we</suggestion>
                <example correction="If you|If I|If it|If we"><marker>If</marker> should have any questions, please feel free to contact me.</example>
                <example>When will I get it?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">if|whether|although</token>
                    </marker>
                    <token inflected="yes" postag="VBP?" postag_regexp="yes" regexp="yes">
                        find|get|[tm]ake|think|believe|know|go|do|have|need|want|require|see|come|use|give|become|feel|look|miss|agree|confirm
                        <exception postag="VBN" />
                    </token>
                </pattern>
                <message>It seems that a pronoun is missing.</message>
                <suggestion>\1 you</suggestion>
                <suggestion>\1 I</suggestion>
                <suggestion>\1 we</suggestion>
                <example correction="if you|if I|if we">Will be interesting to see <marker>if</marker> find something better.</example>
                <example correction="if you|if I|if we">Let me know <marker>if</marker> need anything else.</example>
                <example>Not once can I remember anyone asking me what I did out in the real world.</example>
                <example>Although Go is probably the most popular Japanese game in my country, at most only a few university students know it.</example>
                <example>If USES can provide a date or dates it would help our analysis.</example>
                <example>Westlife would eventually overtake Take That in number one's tally in the UK although Take That's overall UK sales are still higher.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">if|whether|although</token>
                    </marker>
                    <token inflected="yes" postag="VBZ" regexp="yes">
                        find|get|[tm]ake|think|believe|know|go|do|have|need|want|require|see|come|use|give|become|feel|look|miss|agree|confirm
                    </token>
                </pattern>
                <message>It seems that a pronoun is missing.</message>
                <suggestion>\1 it</suggestion>
                <suggestion>\1 she</suggestion>
                <suggestion>\1 he</suggestion>
                <example correction="if it|if she|if he">Will be interesting to see <marker>if</marker> finds something better.</example>
            </rule>
        </rulegroup>
        <rule id="WOLFS" name="wolfs vs wolves">
            <antipattern><!-- used as a verb -->
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <token>wolfs</token>
            </antipattern>
            <antipattern><!-- used as a verb -->
                <token chunk_re="E-NP-singular" postag="NN.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>wolfs</token>
            </antipattern>
            <antipattern><!-- used as a verb -->
                <token chunk="B-SBAR">that</token>
                <token postag="RB" min="0" />
                <token>wolfs</token>
                <token postag="DT|PRP.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <marker>
                    <token>wolfs</token>
                </marker>
            </pattern>
            <message>The plural of the word "wolf" (= animal) is <suggestion>wolves</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/wolf</url>
            <example correction="wolves">He is scared of the <marker>wolfs</marker>.</example>
        </rule>
        <rule id="TO_ALL_INTENTS_AND_PURPOSES" name="all intensive purposes (all intents and purposes)">
            <pattern>
                <token regexp="yes">for|to</token>
                <token>all</token>
                <token>intensive</token>
                <token>purposes</token>
            </pattern>
            <message>Did you confuse this with the common idiom: <suggestion>\1 \2 intents and \4</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/for%20all%20intents%20and%20purposes</url>
            <example correction="to all intents and purposes">A man who was <marker>to all intensive purposes</marker> illiterate.</example>
        </rule>
        <rulegroup id="THANK_IN_ADVANCE" name="thank (thanks) in advance">
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0">many</token>
                    <marker>
                        <token>thank</token>
                    </marker>
                    <token>in</token>
                    <token>advance</token>
                </pattern>
                <message>Did you mean <suggestion>thanks</suggestion>?</message>
                <example correction="thanks">Many <marker>thank</marker> in advance for your help.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0">many</token>
                    <marker>
                        <token>thanks</token>
                        <token>advance</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\3 in \4</suggestion>?</message>
                <example correction="thanks in advance">Many <marker>thanks advance</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NOUN_VERB_CONFUSION" name="Noun vs verb">
            <short>Noun/verb confusion</short>
            <antipattern>
                <and>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes">
                        <exception>please</exception>
                    </token>
                </and>
                <token regexp="yes">&incorrect_noun_verbs;</token>
            </antipattern>
            <antipattern>
                <token>
                    <exception postag="PRP_S.*" postag_regexp="yes" />
                </token>
                <token regexp="yes">&incorrect_noun_verbs;</token>
                <token inflected="yes" regexp="yes">be|have|do|will|should|can|might|may|must|need|want</token>
            </antipattern>

            <rule><!-- I could checkout ... -->
                <antipattern>
                    <token postag="MD" />
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VB" skip="-1" />
                    <token postag="SENT_END">?</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">You should <marker>checkout</marker> my new website.</example>
                <example correction="Take away">She could <marker>Take-away</marker> my heart and I would still love her.</example>
                <example correction="feed back">If you could <marker>feedback</marker> any comments to me after you talk to John, that would be great.</example>
                <example correction="follow up">Thanks, I will <marker>followup</marker> with Shirley.</example>
                <example correction="play back">Please prepare a CD player so that you can quickly <marker>playback</marker> the sound you want to record.</example>
                <example>Would checkout really be the best option?</example>
            </rule>

            <rule><!-- I could checkout ... -->
                <antipattern>
                    <token postag="MD" />
                    <token regexp="yes">n't|not</token>
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VB" skip="-1" />
                    <token postag="SENT_END">?</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes">not|n't</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="4" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">I couldn't <marker>checkout</marker> your website yet.</example>
            </rule>

            <rule><!-- I didn't checkout ... -->
                <antipattern>
                    <token inflected="yes">do</token>
                    <token>n't</token>
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VB" skip="-1" />
                    <token postag="SENT_END">?</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes">not|n't</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="4" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">You didn't <marker>checkout</marker> my new website.</example>
                <example correction="follow up">I did not <marker>followup</marker> with Shirley.</example>
                <example>Didn't checkout work the way you expected it to work?</example>
            </rule>

            <rule><!-- I want to checkout ... -->
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">want|have|hope|suggest|allow|like|love|need|try|hate|wish</token>
                    <token>to</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="4" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">I want to <marker>checkout</marker> your new website.</example>
            </rule>

            <rule><!-- I wasn't able to checkout ... -->
                <pattern>
                    <token>able</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token>to</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\5" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="5" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">I wasn't able to <marker>checkout</marker> your new website.</example>
            </rule>

            <rule><!-- It's difficult to checkout ... -->
                <antipattern>
                    <token skip="10">from</token>
                    <token>to</token>
                    <token regexp="yes">&incorrect_noun_verbs;</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">accordance|according|due|prior|up|relation|continue|proceed|alternative|relate|regard|response|subject|shift|attention</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>feedback</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                    <token postag="DT|PRP\$|TO" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a white space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">I want to <marker>checkout</marker> your new website.</example>
            </rule>

            <rule><!-- It's difficult to checkout and  ... -->
                <antipattern>
                    <token skip="10">from</token>
                    <token>to</token>
                    <token regexp="yes">&incorrect_noun_verbs;</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">accordance|according|due|prior|up|relation|continue|alternative|relate|regard|response|subject|shift|attention</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>feedback</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                    <token regexp="yes">and|&amp;|or|,</token>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token postag="DT|PRP\$|TO|PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">I want to <marker>checkout</marker> and proceed.</example>
                <example>Let me know if you have any changes to layout or content.</example>
            </rule>

            <rule><!-- I checkout ... -->
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">of|from|for|at|in|with(out|in)</token>
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">it|you|(any|every|no|some)(one|body)</token>
                </antipattern>
                <antipattern><!-- Everybody checkout is now open for all! -->
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token regexp="yes">&incorrect_noun_verbs;</token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I|(any|every|no|some)(one|body)</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">I hope you <marker>checkout</marker> my new website.</example>
                <example correction="play back">They <marker>playback</marker> MP3 files.</example>
                <example correction="check out">Be sure to claim your FREE gift as you <marker>checkout</marker>.</example>
                <example correction="check in">Members must show their Rapid Rewards card when they <marker>checkin</marker> to receive double credit.</example>
                <example correction="roll back">... and when you <marker>rollback</marker> would it disappear?</example>
                <example>Everybody checkout is now open for all!</example>
            </rule>

            <rule><!-- please checkout my ... -->
                <antipattern>
                    <token>please</token>
                    <token regexp="yes">&incorrect_noun_verbs;</token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>please</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">Please <marker>checkout</marker> my new website.</example>
            </rule>

            <rule><!-- maybe checkout my ... -->
                <antipattern>
                    <token postag="RB" />
                    <token regexp="yes">&incorrect_noun_verbs;</token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <token postag="RB">
                        <exception postag="MD|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <token chunk_re=".-NP.*" />
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">Maybe <marker>checkout</marker> my new website.</example>
            </rule>

            <rule><!-- Let's checkout ... -->
                <pattern>
                    <token inflected="yes" chunk_re=".-VP">let</token>
                    <token regexp="yes">'s|us|me|them|him|her|it|you</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="4" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">Let's <marker>checkout</marker> my new website.</example>
            </rule>

            <rule><!-- ... who checkout my ... -->
                <pattern>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes">who|that|which</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                    <token postag="PRP\$|DT" postag_regexp="yes">
                        <exception>next</exception>
                    </token>
                    <token chunk_re=".-NP.*" />
                </pattern>
                <message>The word "\4" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="4" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">Those are the users who often <marker>checkout</marker> my new website.</example>
            </rule>

            <rule><!-- All those users checkout my ... -->
                <pattern>
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes">
                        <exception postag="NN|NN:UN?" postag_regexp="yes" />
                    </token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                    <token postag="PRP\$|DT" postag_regexp="yes">
                        <exception>next</exception>
                    </token>
                    <token chunk_re=".-NP.*" />
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="3" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="check out">All those users <marker>checkout</marker> my new website.</example>
            </rule>

            <rule><!-- Feel free to takeover  -->
                <pattern>
                    <token>feel</token>
                    <token>free</token>
                    <token>to</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">&incorrect_noun_verbs;</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. The verb is spelled with a space.</message>
                <suggestion><match no="5" regexp_match="(?i)(.+?)(-?(up|off|down|over|out|back|away|in|still|ahead|by|alone|on|around|through))$" regexp_replace="$1 $3" /></suggestion>
                <example correction="take over">Feel free to <marker>takeover</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="QUESTION_WITHOUT_VERB" name="missing verb in question">
            <antipattern>
                <token postag="SENT_START" skip="-1" />
                <token chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START" skip="-1" />
                <token postag="MD|VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START" skip="-1" />
                <token inflected="yes" regexp="yes">be|have|do|make|go|take|want|need</token>
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes" skip="2" />
                <token postag="W.*" postag_regexp="yes">
                    <exception>that</exception>
                </token>
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes" />
                <token regexp="yes">else|normally|usually|exactly|mostly</token>
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes" />
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">s|re</token>
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes" />
                <token regexp="yes">'s|'re</token>
            </antipattern>
            <antipattern>
                <token>art</token>
                <token>thou</token>
            </antipattern>
            <antipattern>
                <token skip="-1">?</token>
                <token postag="SENT_END">?</token>
            </antipattern>
            <antipattern>
                <token>who</token>
                <token>,</token>
                <token>me</token>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token>gonna</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <token regexp="yes" min="0">@.+|oh|ah|ok(ay)?|yes|no|yeah|but|and</token>
                <marker>
                    <token regexp="yes">
                        when|where|who
                    </token>
                    <token skip="8" regexp="yes">.*[a-z0-9].*</token>
                    <token postag="SENT_END">?</token>
                </marker>
            </pattern>
            <message>This question appears to miss a verb.</message>
            <example correction=""><marker>When Safari add-on?</marker></example>
            <example>Which book?</example>
            <example>How it went?</example>
            <example>Where and when?</example>
            <example>When exactly?</example>
            <example>Where're the shoes?</example>
            <example>Where art thou?</example>
            <example>Who, me?</example>
            <example>Who!?</example>
            <example>Who To Blame?</example>
        </rule>
        <rule id="WANT_TO_NN" name="unexpected noun after 'to'">
            <antipattern>
                <token>as</token>
                <token postag="RB|JJ" postag_regexp="yes"/>
                <token skip="1">as</token>
                <token inflected="yes">want</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">th(e|at|is)</token>
                <token min="0" postag="JJ"/>
                <token skip="4" regexp="yes">relation(ship)?|response|reaction</token>
                <token inflected="yes">have</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">more|most|least|less|f[au]rther</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- missing hypen -->
                <token>to</token>
                <token postag="RB" min="0" max="3" />
                <token regexp="yes">re|pre|auto|self</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- I want to just "cold call" my .... -->
                <token>to</token>
                <token postag="RB" />
                <token regexp="yes">&quote;</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB|UH" postag_regexp="yes" min="0" max="3" />
                <token postag="VBG?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I shouldn't have to ever come back here. -->
                <token>to</token>
                <token postag="RB" />
                <token regexp="yes" min="0">re|pre|auto|self</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- I shouldn't have to ever com back here. -->
                <token>to</token>
                <token postag="RB" />
                <token regexp="yes" min="0">re|pre|auto|self</token>
                <token postag="VB|UNKNOWN" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" min="0" />
                <token regexp="yes">&adverb_abbreviations;</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- I want to just… give up -->
                <token>to</token>
                <token postag="RB" min="0" />
                <token>.</token>
                <token>.</token>
                <token>.</token>
            </antipattern>
            <antipattern><!-- I want to just… give up -->
                <token>to</token>
                <token postag="RB" />
                <token>…</token>
            </antipattern>
            <antipattern><!-- caught by TO_TOO -->
                <token>to</token>
                <token>much</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">sort|kind</token>
                <token regexp="yes">off?</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">tomorrow|today|tonight|yesterday|earlier|later</token>
                <token postag="RB" min="0" />
                <token postag="CC|PCT" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="PRP" />
                <token min="0">had</token>
                <token regexp="yes" inflected="yes">have|need|want</token>
            </antipattern>
            <antipattern><!-- I gave everything I had to Tom -->
                <!-- TODO: problem with: Here are the items I'd like to Commodity Logic Deliverables, -->
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN" postag_regexp="yes" />
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token chunk_re=".-VP" />
                <token chunk_re=".-VP" min="0" />
                <token>to</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I gave everything what I had to Tom -->
                <token chunk_re=".-VP" skip="5" />
                <token regexp="yes" skip="5">(what|who|which|when)(ever)?|that|all|(every|some|any)(thing|one|body|time)</token>
                <token inflected="yes" regexp="yes">need|want|have|try|love|like|hate</token>
                <token>to</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Do everything I want to one way or another. -->
                <token>to</token>
                <token>one</token>
                <token regexp="yes">day|way</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">as|when|if|(al)?though</token>
                <token>needed</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">only|just</token>
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- If we have to then it would be beneficial. -->
                <token skip="4">if</token>
                <token inflected="yes" regexp="yes">have|need|try|want|like</token>
                <token>to</token>
                <token regexp="yes">then|so|please|maybe|perhaps</token>
            </antipattern>
            <antipattern><!-- If we have to then it would be beneficial. -->
                <token skip="4">if</token>
                <token>had</token>
                <token inflected="yes" regexp="yes">have|need|try|want|like</token>
                <token>to</token>
                <token regexp="yes">then|so|please|maybe|perhaps</token>
            </antipattern>
            <antipattern><!-- give a try -->
                <token>a</token>
                <token regexp="yes">try|need|like</token>
            </antipattern>
            <antipattern><!-- (likes to everyone else who is managing their feelings right now) -->
                <token regexp="yes">\p{P}</token>
                <token regexp="yes">needs?|likes?</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- likes to everyone else who is managing their feelings right now -->
                <token postag="SENT_START" />
                <token regexp="yes">needs?|likes?</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Not everyone who wants to may be a gourmand. -->
                <token regexp="yes">who|that|which</token>
                <token postag="RB" min="0" />
                <token postag="VBZ" />
                <token>to</token>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token case_sensitive="yes" regexp="yes">[A-Z]{1,3}</token>
            </antipattern>
            <antipattern><!-- Love to God and man comprehends the whole [of] religion -->
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token>love</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- He was super LOVING to Ginny. -->
                <token inflected="yes">be</token>
                <token postag="JJ" min="0" />
                <token>loving</token>
                <token>to</token>
                <token postag="NN:UN?|NNP?S|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">love|hate</token>
                <token>to</token>
                <token postag="NNP?S|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I'd love to Darren. -->
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token regexp="yes">would|'d</token>
                <token regexp="yes">love|like</token>
                <token>to</token>
                <token postag="NNP|UNKNOWN" postag_regexp="yes" case_sensitive="yes" regexp="yes">[A-Z].+</token>
                <token postag="PCT|CC" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>due</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">only|just</token>
                <token regexp="yes">when|if|so</token>
            </antipattern>
            <antipattern>
                <token>love</token>
                <token>to</token>
                <token>God</token>
            </antipattern>
            <antipattern>
                <token postag="DT|JJ|PRP\$" postag_regexp="yes" />
                <token>love</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- I'm always amazed by the response people have to Californians," he said. -->
                <token>the</token>
                <token postag="JJ.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="I-NP.*" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
                <token min="0">had</token>
                <token inflected="yes" regexp="yes">have|need|want</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- The relationship that Jews have to Chinese food ... -->
                <token>the</token>
                <token chunk_re="I-NP.*" postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">that|which|th[oe]se|this</token>
                <token chunk_re="I-NP.*" postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token min="0">had</token>
                <token inflected="yes" regexp="yes">have|need|want</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- The importance of 306 and the relationship these artists had to Latin American artists. -->
                <token>the</token>
                <token chunk_re="I-NP.*" postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">th[oe]se|this|that</token>
                <token chunk_re="I-NP.*" postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token min="0">had</token>
                <token inflected="yes" regexp="yes">have|need|want</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- They are free to donate as much as they want to charity -->
                <token chunk_re=".-VP" />
                <token>as</token>
                <token>much</token>
                <token>as</token>
                <token postag="PRP" />
                <token min="0">had</token>
                <token inflected="yes" regexp="yes">need|want|have|try|love|like|hate</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- The Kennedys were the closest thing that the United States has ever had to royalty.  -->
                <token>that</token>
                <token skip="10">the</token>
                <token regexp="yes">n?ever</token>
                <token inflected="yes" regexp="yes">have|want|need</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">which|[wt]hat</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token min="0">had</token>
                <token inflected="yes">have</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- ... than what a citizen has to speech. -->
                <token regexp="yes">which|[wt]hat</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token min="0">had</token>
                <token inflected="yes">have</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- ... as humans have to society -->
                <token regexp="yes">as|like</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token min="0">had</token>
                <token inflected="yes">have</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- to last-minute cancel ... -->
                <token>last-minute</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- compound error, needs extra rule -->
                <token>to</token>
                <token regexp="yes">white|black</token>
                <token>list</token>
            </antipattern>
            <antipattern><!-- He had to so that he ... -->
                <token>to</token>
                <token>so</token>
                <token min="0">that</token>
                <token postag="PRP.*|DT" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">last|next</token>
                <token regexp="yes">week(end)?|month|year|time|christmas|thanksgiving</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token />
                <token>and</token>
                <token>back</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>sooner</token>
                <token>or</token>
                <token>later</token>
            </antipattern>
            <antipattern>
                <token>love</token>
                <token>to</token>
                <token>all</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">less|more</token>
                <token>than</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>more</token>
                <token regexp="yes">or|and|&amp;</token>
                <token regexp="yes">less|more</token>
            </antipattern>
            <antipattern>
                <token postag="VB" />
                <token>'d</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" />
                <token regexp="yes">kind|sort</token>
                <token>of</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">kind|sort</token>
                <token>of</token>
                <token postag="RB" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="5">be</token>
                <token>loving</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="10" regexp="yes">send|give</token>
                <token>love</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Apple also restricts the access outside researchers have to iOS -->
                <token>the</token>
                <token chunk_re="[EI]-NP.*" postag="NN.*" postag_regexp="yes" />
                <token postag="JJ.*|DT" postag_regexp="yes" min="0" chunk_re="[BI]-NP.*" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token>have</token>
                <token>to</token>
                <token postag="NNP|NN:UN?|NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Do you want to netflix and chill? -->
                <token>to</token>
                <token>netflix</token>
                <token regexp="yes">and|&amp;</token>
                <token>chill</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" />
                <token regexp="yes">and|or|&amp;|\/</token>
                <token postag="RB" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" min="0" />
                <token regexp="yes">&incorrect_noun_verbs;|&not_really_verbs;|&verb_abbreviations;|inline|screencap|sudo</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" />
                <token>,</token>
                <token regexp="yes">kind|sort</token>
                <token>of</token>
                <token>,</token>
                <token postag="VB" />
            </antipattern>
            &multi_word_verbs;
            <pattern>
                <token inflected="yes" regexp="yes" chunk_re=".-VP">need|want|have|try|love|like|hate</token>
                <marker>
                    <token>to</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes">
                        <exception postag="VB.*|IN" postag_regexp="yes" />
                        <exception regexp="yes">first|once|also</exception>
                        <exception>now</exception><!-- now/know already caught by confusion rules -->
                        <exception>though</exception>
                        <exception>DIY</exception>
                        <exception regexp="yes">re|pre|de|retro|alpha|multi|auto|self|anyway|anytime|instead|if</exception>
                    </token>
                </marker>
            </pattern>
            <message>Normally, after "\1 \2" a verb is expected.</message>
            <short>Possible agreement error</short>
            <example correction="">Once we have overcome Corona, we need <marker>to priority</marker> climate change even harder.</example>
            <example correction="">I have <marker>to problems</marker>.</example>
            <example correction="">I’m trying <marker>to developer</marker> a device handler to control the AC.</example>
            <example correction="">Oh you may want <marker>to Manu</marker>’s web site!</example>
            <example correction="">Just want <marker>to sure</marker> I’m not missing something from my side.</example>
            <example correction="">Well, anything in diamonds has <marker>to better</marker> than 150 souls!</example>
            <example correction="">When selecting used engine, you have <marker>to insect</marker> it very deeply.</example>
            <example correction="">TW will need <marker>to response</marker> with in seven days.</example>
            <example correction="">If they haven't completed it, I'd like <marker>to why</marker> and when it will be done.</example>
            <example correction="">Please have your team members contact the coordinators directly for the information needed <marker>to final</marker> the invoice.</example>
            <!-- <example correction="">Here are the items I'd like <marker>to Commodity</marker> Logic Deliverables, timing and perhaps a demo or screen shots to show where we currently are in our development.</example> -->
            <example>Love to party!</example>
            <example>He likes the effect that they have to teenagers.</example>
            <example>He was SUPER loving to Ginny.</example>
            <example>They spread love to others around the world.</example>
            <example>I'd love to Darren.</example>
            <example>I would love to if possible.</example>
            <example>I had thought of calling COL Durkin directly, but I do not know him, and did not want to just "cold call" my request.</example>
            <example>I shouldn't have to ever come back here.</example>
            <example>If you want to just order it, you can.</example>
            <example>He is loving to animals.</example>
            <example>If you want to then why?</example>
            <example>The Kennedys were the closest thing that the United States has ever had to royalty.</example>
            <example>Ed, Here's a certificate of incumbancy we need to Jake's Delta deal.</example>
            <example>I should not have to feel like I have to just to get by when I just start a game.</example>
            <example>You will have to then use IFTTT to connect it to Smart Things.</example>
            <example>I need to exec or discard</example>
            <example>Since we will be at FERC during the EPSA call, we will need to get any comments we may have to Julie by Thursday evening or Friday morning.</example>
            <example>Direct any questions or concerns you may have to Christian.</example>
            <example>I tried to today but couldn’t get to them.</example>
            <example>If we have to then it would be beneficial.</example>
            <example>Do you want to Netflix and chill?</example>
            <example>Love to God and man comprehends the whole [of] religion.</example>
            <example>For that you would need to first talk to DTE to see if they have made the information available to outside services.</example>
            <example>I want to proxy challenges to certbot.</example>
            <example>I fax'd to Mitch and Stuart Zisman the results of the "Personal Property" inventory.</example>
            <example>Imperious Caesar, dead and turn'd to clay, / Might stop a hole to keep the wind away.</example>
            <example>You can always change it to a later date if you want to tomorrow.</example>
            <example>Businesses trying to more efficiently manage storage are looking for alternatives to the distributed file server storage model.</example>
            <example>I am OK with ENA "hereby" agreeing to waive any and all rights it has to under Section 3.3 to recall the Gas.</example>
            <example>Chances are you’ll need to anyway if you’re wanting to use a custom device handler.</example>
            <example>That is the responsibility we have to one another as human beings.</example>
            <example>Trying to gimmick my way out of trouble.</example>
            <example>I gave everything I had to Tom.</example>
            <example>I would love to one day be able to be an advocate for mental illness</example>
            <example>I want to just… give up.</example>
            <example>Cooper said that you might be able to help me with a link we have to one of your databases that is not working.</example>
            <example>I don’t want to though.</example>
            <example>I don't want to today.</example>
            <example>Love to all.</example>
            <example>Do You Want To Discover New Land?</example>
            <example>I want to most sincerely thank all my supporters.</example>
            <example>I sent the package of info I had to Richard earlier this week.</example>
            <example>So we could potentially provide the copy of the CA we have to John.</example>
            <example>I would give a try to werewolf, but he doesn't seem much useful.</example>
            <example>I have to more focus on school.</example>
            <example>Do I really need to further comment on that…</example>
            <example>Please review and forward as needed to JPMorgan.</example>
            <example>The dealer is trying to cheap it out.</example>
            <example>The almost worthless extended warranty you may have is only going to replace what they have to so I think you are back to paying for the other strut.</example>
            <example>I bet that was a big, bad reaction you had to cold turkey, Clozaril so the have you on meds to compensate.</example>
            <example>I think for awhile there had been talk about EnronOnline needing to somehow approve the access that Trading Desks had to other online platforms.</example>
            <example>I did that yesterday, so I don't have to today.</example>
            <example>Not everyone who wants to may be a gourmand.</example>
            <example>The importance of 306 and the relationship these artists had to Latin American artists.</example>
            <example>You can donate as much as you want to charity if that is what you want.</example>
            <example>It is interesting to see the response that people have to hardship.</example>
            <example>The relationship Germans have to Italian food is passionate.</example>
            <example>I'm always amazed by the response people have to Californians.</example>
            <example>... by trying to only creating laws that ...</example>
            <example>… as humans have to society</example>
            <example>I would like to kindly and humbly suggest this</example>
            <example>Apple also restricts the access outside researchers have to iOS, the mobile operating system used by iPhones and iPads</example>
            <example>Although the methylation system accounts for the wide range of sensitivity that bacteria have to chemical gradients, other mechanisms are involved in increasing the absolute value of the sensitivity on a given background.</example>
        </rule>
        <rule id="THIS_CD" name="This (These) two are happy">
            <pattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                    <exception postag="IN|VB.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>this</token>
                </marker>
                <token postag="CD">
                    <exception regexp="yes">1|one|0|zero</exception>
                    <exception regexp="yes">19\d{2}|20\d{2}</exception>
                </token>
                <token postag="RB" min="0">
                    <exception postag="NN.*" postag_regexp="yes" />
                </token>
                <token inflected="yes" regexp="yes">
                    do|have|be|will|go|take|should|can|want|say|make|know|hope|think|see|look|use|find|give|tell|work|try|like|love|need
                    <exception>was</exception>
                    <exception postag="VBZ" />
                </token>
            </pattern>
            <message>Use <suggestion>these</suggestion> if you are referring to a plural noun.</message>
            <short>Possible agreement error</short>
            <example correction="These"><marker>This</marker> 2 are my best options.</example>
            <example>This 2008 reprint</example>
        </rule>
        <rulegroup id="STAID" name="I staid (stayed) at home">
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token regexp="yes">you|it</token>
                <token>staid</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token>staid</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token>n't</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token>staid</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">we|they|you|I|s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>staid</token>
                    </marker>
                </pattern>
                <message>The past tense of the verb of "stay" is <suggestion>stayed</suggestion>.</message>
                <example correction="stayed">We <marker>staid</marker> in a camp.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>staid</token>
                    </marker>
                </pattern>
                <message>The past participle of the verb of "stay" is <suggestion>stayed</suggestion>.</message>
                <example correction="stayed">We have <marker>staid</marker> in a camp.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IS_VBZ" name="is + VBZ">
            <!-- TODO: WAS_VBD -->
            <short>Possible agreement error</short>
            <antipattern>
                <token skip="10" regexp="yes">all|that|(what|who|where|when|which|how|why)(ever)?</token>
                <token>is</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">question|issue|problem</token>
                <token>is</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="5">question|issue|problem</token>
                <token inflected="yes">have</token>
                <token>is</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token>is</token>
                <token skip="-1">does</token>
                <token>?</token>
            </antipattern>
            <antipattern><!-- It was mostly fruits -->
                <token regexp="yes">was|is|'s</token>
                <token regexp="yes">mainly|mostly</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">was|is|'s</token>
                <token regexp="yes">sure|here</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Zheng He's -->
                <token regexp="yes" postag="UNKNOWN|NNP" postag_regexp="yes">[A-Z][a-z]+</token>
                <token>He</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">it|that</token>
                <token regexp="yes">is|'s|was</token>
                <token postag="RB" min="0" />
                <token>thanks</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- It's friends that make my life easier -->
                <token regexp="yes">'s|is</token>
                <token postag="RB" min="0" />
                <token postag="NNS" chunk_re="E-NP-plural" />
                <token chunk_re="E-NP.*|B-SBAR|B-PP" regexp="yes">that|which</token>
            </antipattern>
            <antipattern><!-- it's pretty isn't it? -->
                <token>'s</token>
                <token postag="JJ" />
                <token>is</token>
                <token>n't</token>
                <token regexp="yes">it|s?he</token>
            </antipattern>
            <antipattern><!-- it's pretty isn't it? -->
                <token regexp="yes">is|'s</token>
                <token>out</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token regexp="yes">'s|is</token>
                <token postag="RB" min="0" />
                <token regexp="yes">Pebbles|Cats</token>
            </antipattern>
            <antipattern><!-- It's rays of light -->
                <token regexp="yes">'s|is</token>
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
                <token>of</token>
                <token chunk_re=".-NP.*" />
            </antipattern>
            <antipattern>
                <token regexp="yes">'s|is</token>
                <token postag="JJ">
                    <exception regexp="yes">almost|just|only|now</exception>
                </token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- It's normally guts and organs. -->
                <token regexp="yes">'s|is</token>
                <token postag="RB" min="0" />
                <token postag="VBZ" chunk="B-NP-plural" />
                <token regexp="yes">and|or|&amp;</token>
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
            </antipattern>
            <antipattern><!-- It's ages since ... -->
                <token regexp="yes">'s|is</token>
                <token>ages</token>
                <token>since</token>
            </antipattern>
            <antipattern><!-- There's nothing does irritate me -->
                <token regexp="yes">'s|is</token>
                <token>nothing</token>
            </antipattern>
            <antipattern><!-- It's just lasers! -->
                <token regexp="yes">'s|is</token>
                <token postag="RB" min="0" />
                <token regexp="yes">lasers|nerves|knots|tops</token>
            </antipattern>
            <rule>
                <pattern>
                    <token case_sensitive="yes">is</token>
                    <token postag="VBZ" chunk_re=".-VP">
                        <exception>is</exception>
                        <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                    </token>
                    <token>n't</token>
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion>it \2\3</suggestion>
                <suggestion>\2\3</suggestion>
                <example correction="it doesn't|doesn't">Prohibiting smoking <marker>is doesn't</marker> harm.</example>
                <example>MS is favored but IS has been strong at the end of the season.</example>
                <example>My question is does it sound like a timing belt and is it true only the dealer can replace it.</example>
                <example>The question I have is does that really make sense?</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">is</token>
                    <token postag="VBZ" chunk_re=".-VP">
                        <exception>is</exception>
                        <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                        <exception case_sensitive="yes" inflected="yes" regexp="yes">&uncommon_verbs;</exception>
                        <exception case_sensitive="yes">Cats</exception><!-- musical -->
                    </token>
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion>is <match no="2" postag="VBG" /></suggestion>
                <suggestion>it \2</suggestion>
                <suggestion>\2</suggestion>
                <example correction="is violating|it violates|violates">Prohibiting smoking <marker>is violates</marker> my liberty.</example>
                <example>MS is favored but IS has been strong at the end of the season.</example>
                <example>My question is does it sound like a timing belt and is it true only the dealer can replace it.</example>
                <example>The question I have is does that really make sense?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|that</token>
                    <marker>
                        <token spacebefore="no">'s</token>
                        <token postag="RB" min="0">
                            <exception postag="EX|IN" postag_regexp="yes" />
                        </token>
                        <token postag="VBZ" chunk_re=".-VP|B-PP">
                            <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                        </token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion> \3 \4\5</suggestion>
                <example correction=" just doesn't">It<marker>'s just doesn't</marker> seem right</example>
                <example>It's pretty isn't it?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|that</token>
                    <marker>
                        <token spacebefore="no">'s</token>
                        <token postag="RB" min="0">
                            <exception postag="EX|IN" postag_regexp="yes" />
                        </token>
                        <token postag="VBZ" chunk_re=".-VP|B-PP">
                            <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion>\2 \3 <match no="4" postag="VBG" /></suggestion>
                <suggestion> \3 \4</suggestion>
                <example correction="'s violating| violates">It<marker>'s violates</marker> my liberty.</example>
                <example correction="'s now calling| now calls">So it<marker>'s now calls</marker>.</example>
                <example>To do it while it's here is up to you.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>is</token>
                    <token postag="RB" />
                    <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token postag="VBZ" chunk="E-NP-plural" />
                </antipattern>
                <pattern>
                    <token case_sensitive="yes">is</token>
                    <token postag="RB">
                        <exception postag="NN.*|CC|EX|IN" postag_regexp="yes" />
                        <exception postag="JJ.*" postag_regexp="yes" regexp="yes">(?!(only|just|almost)$).+</exception>
                    </token>
                    <token postag="VBZ" chunk_re=".-VP|B-PP|B-NP-plural">
                        <exception>is</exception>
                        <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                        <exception regexp="yes">(&uncommon_verbs;)s</exception>
                    </token>
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion>is \2 <match no="3" postag="VBG" /></suggestion>
                <suggestion>it \2 \3</suggestion>
                <suggestion>\2 \3</suggestion>
                <example correction="is always violating|it always violates|always violates">Prohibiting smoking <marker>is always violates</marker> my liberty.</example>
                <example correction="is also looking|it also looks|also looks">It <marker>is also looks</marker> like the duration is not 10 minutes when 6 is reached.</example>
                <example correction="is only going|it only goes|only goes">She <marker>is only goes</marker> shopping.</example>
                <example correction="is always going|it always goes|always goes">She <marker>is always goes</marker> shopping.</example>
                <example>MS is favored but IS has been strong at the end of the season.</example>
                <example>My question is does it sound like a timing belt and is it true only the dealer can replace it.</example>
                <example>In the case where a portion of the CPU is superscalar and part is not, the part which is not suffers a performance penalty due to scheduling stalls.</example>
                <example>The fact that it is not does not mean that Trump should not be impeached.</example>
                <example>Second of all, Doordash is not Gems of War.</example>
                <example>This is before taxes.</example>
                <example>This pamphlet is about pets.</example>
                <example>The bottom line is there needs to be a resetting of expectations relative to Compaq's revenue from EBS versus what actually got booked.</example>
                <example>The language of friendship is not words but meanings.</example>
            </rule>
            <rule>
                <antipattern><!-- it's/its confusion -->
                    <token chunk_re=".-VP">
                        <exception regexp="yes" inflected="yes">think|believe|doubt|hope|assume|say|know|remember|mention</exception>
                    </token>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" min="0" />
                    <token chunk_re="E-NP-plural" />
                </antipattern>
                <antipattern><!-- it's/its confusion -->
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" min="0" />
                    <token chunk_re="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token postag="IN" chunk="B-PP" />
                </antipattern>
                <antipattern><!-- it's/its confusion -->
                    <token regexp="yes">off?|for|from|by|to|with(in|out)?|about|via</token>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" min="0" />
                    <token chunk_re="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="B-NP-plural" />
                    <token regexp="yes">and|or|&amp;</token>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural" />
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token postag="NNS" chunk_re="E-NP-plural" />
                    <token>all</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token postag="NNS" chunk_re="E-NP-plural" />
                    <token>all</token>
                    <token regexp="yes">day|week|year|week-?end|month</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" min="0" />
                    <token postag="NNS" chunk_re="E-NP.*" skip="15" />
                    <token chunk_re="B-SBAR|E-NP.*|B-PP">that</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t|[Tt]hat</token>
                    <marker>
                        <token>'s</token>
                        <token postag="RB" min="0">
                            <exception postag="NN.*|CC|EX|IN" postag_regexp="yes" />
                            <exception postag="JJ.*" postag_regexp="yes" regexp="yes">(?!(only|just|almost)$).+</exception>
                            <exception inflected="yes">not</exception>
                        </token>
                        <token postag="VBZ" chunk_re=".-VP|B-PP|B-NP-plural">
                            <exception>is</exception>
                            <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                            <exception regexp="yes">(&uncommon_verbs;)s|curtains|beans|spats|horses|headquarters|friends|struts</exception>
                        </token>
                    </marker>
                    <token postag="DT|PRP\$|IN|PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion>\2 \3 <match no="4" postag="VBG" /></suggestion>
                <suggestion> \3 \4</suggestion>
                <example correction="'s violating| violates">It<marker>'s violates</marker> my liberty.</example>
                <example correction="'s playing| plays">Mary says she<marker>'s plays</marker> the drums well.</example>
                <example>It's not books that create wisdom, but wisdom that creates books.</example>
                <example>He's bags under his eyes.</example>
                <example>It's curtains for us.</example>
                <example>It's beans on toast for tea tonight.</example>
                <example>It's not books that create wisdom, but wisdom that creates books.</example>
                <example>It's only leaves and branches.</example>
                <example>He's bruises on his right arm.</example>
                <example>He's friends with Carl.</example>
                <example>I think that's loads of fun.</example>
                <example>She's doubts all day.</example>
                <example>Sometimes it's unfortunately kids that are fighting.</example>
                <example>It's thanks to the support of my family that I was able to leave that company and open up this new restaurant.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN" chunk_re=".-PP" />
                    <token regexp="yes">it|that</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP">
                        <exception regexp="yes" inflected="yes">think|believe|doubt|hope|assume|say|know|remember|mention</exception>
                    </token>
                    <token regexp="yes">it|that</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>is</token>
                    <token postag="JJ" min="0" />
                    <token postag="NNS" chunk_re="E-NP.*" skip="15" />
                    <token chunk_re="B-SBAR|E-NP.*|B-PP">that</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t|[Tt]hat</token>
                    <marker>
                        <token>is</token>
                        <token postag="RB" min="0">
                            <exception postag="NN.*|CC|EX|IN" postag_regexp="yes" />
                            <exception postag="JJ.*" postag_regexp="yes" regexp="yes">(?!(only|just|almost)$).+</exception>
                            <exception inflected="yes">not</exception>
                        </token>
                        <token postag="VBZ" chunk_re=".-VP|B-PP|B-NP-plural">
                            <exception>is</exception>
                            <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                            <exception regexp="yes">(&uncommon_verbs;)s|curtains|beans|spats|horses|headquarters|friends|struts|actions</exception>
                        </token>
                    </marker>
                    <token postag="DT|PRP\$|IN|PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>The verb form seems incorrect.</message>
                <suggestion>\2 \3 <match no="4" postag="VBG" /></suggestion>
                <suggestion>\3 \4</suggestion>
                <example correction="is tasting|tastes">It <marker>is tastes</marker> every bit as good as Japanese rice.</example>
                <example correction="is also looking|also looks">It <marker>is also looks</marker> like the duration is not 10 minutes when 6 is reached.</example>
                <example correction="is violating|violates">It <marker>is violates</marker> my liberty.</example>
                <example correction="is playing|plays">Mary says she <marker>is plays</marker> the drums well.</example>
                <example>He isn't friends with her.</example>
                <example>It is changes to HQ's physical deliveries (0 to 1500 MW) into NY that can swing the clearing price by at least $20.</example>
                <example>It is also actions, like that.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BARE_INFINITIVE_VERB_PRP_VBZ" name="bare infinitive required after causative verbs or verbs of perception" default="temp_off">
            <url>https://www.learn-english-today.com/lessons/lesson_contents/verbs/bare-infinitives.html</url>
            <!-- TODO 'had better' and 'would rather' also take bare infinitives -->
            <!-- See also PLURAL_VERB_AFTER_THIS at comment containing https://www.englishgrammar.org/bare-infinitive-2/ -->

            <antipattern>
                <token postag_regexp="yes" postag="SENT_START|PCT|CC|WP" />
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token postag_regexp="yes" postag="SENT_START|PCT|CC|WP" />
                <token inflected="yes">have</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" inflected="yes" regexp="yes">get|see</token>
                <token />
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token>her</token><!-- 'her' is ambiguously PRP$ -->
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token inflected="yes">make</token>
                <token regexp="yes">us|them</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token>for</token><!-- when I ask for help it starts working -->
                <token>help</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">thanks|guys</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">I[Tt]</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">make</token>
                <token postag="PRP" />
                <token>nuts</token>
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token>does</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token postag="WP"><exception regexp="yes">which|that</exception></token>
                <token min="0" max="3" postag_regexp="yes" postag="RB|VB.*|TO" />
                <token />
            </antipattern>
            <antipattern><!-- Unsure why the antipattern above doesn't find "Who currently has it has not been disclosed." -->
                <token postag="WP"><exception regexp="yes">which|that</exception></token>
                <token postag="RB" />
                <token min="0" max="3" postag_regexp="yes" postag="VB.*|TO" />
                <token />
            </antipattern>
            <antipattern>
                <token postag="WP"><exception regexp="yes">which|that</exception></token>
                <token min="0" max="3" postag_regexp="yes" postag="VB.*" />
                <token postag="TO" />
                <token />
            </antipattern>
            <antipattern><!-- I'm glad you see it doesn't make sense. -->
                <token regexp="yes">glad|mad|bad|eager|sorry|delighted|thrilled|honored|worried|scared|great|false|(?:un)?(?:happy|sure|certain|aware|grateful|thankful|afraid|lucky|confident|pleased|appreciative|surprised|concerned|amazed|funny|obvious|true|clear|important|likely)</token>
                <token min="0" postag="WP" regexp="yes">which|that</token>
                <token postag="PRP" />
                <token min="0" max="2" postag_regexp="yes" postag="MD|RB" />
                <token min="0" inflected="yes">do</token>
                <token min="0" regexp="yes">&apostrophe;</token>
                <token min="0" max="2" postag_regexp="yes" postag="MD|RB" />
                <token regexp="yes" inflected="yes">see|have</token>
            </antipattern>
            <antipattern><!-- From some of the posts I’ve seen it seems I should do it. -->
                <token inflected="yes">have</token>
                <token postag="VBN" />
                <!-- Ideally insert a comma; see * below -->
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- For every room I have it bundles all lights. -->
                <token>for</token>
                <token skip="-1" postag="DT" regexp="yes">each|every|all|both|most|some|either|neither</token>
                <token postag_regexp="yes" postag="VBN?" />
                <!-- Ideally insert a comma -->
                <token postag="PRP" />
            </antipattern>

            <rule id="BARE_INFINITIVE_CAUSATIVE_VERB_MAKE_PRP_VBZ" name="makes me goes → makes me go">
                <antipattern><!-- The last board you made me has been total magic -->
                    <token postag_regexp="yes" postag="NN.*"></token>
                    <token postag="PRP" />
                    <token inflected="yes">make</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token postag="PRP" />
                    <token>have</token>
                </antipattern>

                <pattern>
                    <token postag="VB.*" postag_regexp="yes" inflected="yes" regexp="yes">make|let|have|get|help
                        <exception scope="previous" postag="DT">the</exception>
                    </token>
                    <token postag="PRP" regexp="yes">me|you|him|her|it|them|us</token>
                    <!--<token min="0">does</token>--> <!-- not sure how to greedily match -->
                    <marker>
                        <token postag="VBZ" case_sensitive="yes" regexp="yes">[a-z]+
                            <exception postag="VB" />
                            <exception regexp="yes">is|isn</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The causative verb '\1' and the object '\2' should be followed by the bare infinitive <suggestion><match no="3" postag="VB" /></suggestion>.</message>
                <example correction="go">It makes me <marker>goes</marker> crazy.</example>
                <example correction="go">It makes him <marker>goes</marker> crazy.</example>
                <example correction="know">You let me <marker>knows</marker> about that.</example>
                <example correction="work">I could not make it <marker>works</marker>.</example>
                <example correction="work">I can't make it <marker>works</marker>.</example>
                <example correction="work">I want to make it <marker>works</marker>.</example>
                <example correction="work">What do I need to make it <marker>works</marker>?</example>
                <example correction="work">I found out a way to have them <marker>works</marker>.</example>
                <example correction="work">We have not managed to make it <marker>works</marker>.</example>
                <example correction="work">I don’t understand how to make it <marker>works</marker>.</example>
                <example correction="work">How to make it <marker>works</marker> well with script.</example>
                <example correction="help">Help us <marker>helps</marker> you.</example>
                <example correction="document">Please let us <marker>documents</marker>.</example>
                <example correction="wonder">Which makes me <marker>wonders</marker>, was it?</example>
                <example correction="have">Don’t let it <marker>has</marker> power over you.</example>
                <example correction="loop">It seems something make it <marker>loops</marker>.</example>
                <example correction="direct">I hope this helps you <marker>directs</marker> your questions.</example>
                <example correction="sound">Other material makes it <marker>sounds</marker> like color.</example>
                <example correction="sound">It makes it <marker>sounds</marker> sarcastic.</example>
                <example correction="show">Is there a way to make it <marker>shows</marker> up?</example>
                <example correction="look">The way that this graph is presented make it <marker>looks</marker> like the entire transaction.</example>

                <example>Have you decides what to do?</example><!-- different mistake -->

                <example>It makes me go crazy.</example>
                <example>Please help me guys.</example>
                <example>History has made us friends.</example>
                <example>Can you get me details?</example>
                <example>Something that might help you is just accepting it.</example>
                <example>I hope whoever gets it wants it.</example>
                <example>Who currently has it has not been disclosed.</example>
                <example>I've had her emails pop up.</example>
                <example>Everybody who is supposed to get it gets at least one copy.</example>
                <example>A beard on me makes me look like a hobo.</example>
                <example>effectively making them slaves.</example>
                <example>The last board you made me has been total magic</example>
                <example>It makes them objects of lust.</example>
                <example>He refused to get me rides.</example>
                <example>Commercial interests that made them pioneers in removing obstacles.</example>
                <example>The album peaked at No. 7 on Billboard's Top 200 and No. 1 on the Top Country Albums, making it Brooks' 10th number-one album.</example>
                <example>Do actions mathematically similar to the actions that got you rewards in the past.</example>
                <example>It hasn't received the help it needs.</example>
                <example>This kind of article makes me nuts.</example>
                <!-- * Ideally, a comma should go after the introductory clause in the examples below.
                    See rules MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE, COMMA_COMPOUND_SENTENCE_2, etc. -->
                <example>Due to the number of system problems we have had it makes it very difficult.</example>
                <example>For every room I have it bundles all lights.</example>
                <example>but even if you have it seems really surprising</example>
                <!-- Sentence below is a different mistake (should be two separate sentences), though is plausible with 'it' -->
                <example>It's a little harder to get It turns out I also need everyone's birthday and address.</example>
            </rule>
            <rule id="BARE_INFINITIVE_VERB_OF_PERCEPTION_SEE_PRP_VBZ" name="see him goes → see him go">
                <antipattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC|WP|PRP|RB|JJ" />
                    <token min="0" regexp="yes">"|“</token>
                    <token min="0" regexp="yes">as|like|because</token>
                    <token postag="PRP" />
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token min="0" max="2" postag_regexp="yes" postag="MD|RB" />
                    <token min="0" inflected="yes">do</token>
                    <token>see</token>
                    <token min="0" postag="PCT" />
                    <token>it</token><!-- subject or expletive -->
                </antipattern>
                <antipattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC|WP|PRP|RB|JJ" />
                    <token min="0" regexp="yes">"|“</token>
                    <token min="0" regexp="yes">as|like|because</token>
                    <token postag="PRP" />
                    <token min="0" max="2" postag_regexp="yes" postag="MD|RB" />
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token inflected="yes">not</token>
                    <token min="0" inflected="yes">do</token>
                    <token>see</token>
                    <token min="0" postag="PCT" />
                    <token>it</token><!-- subject or expletive -->
                </antipattern>
                <antipattern>
                    <token skip="-1" chunk_re="B-PP" />
                    <token chunk_re="E-NP-.*" />
                    <token postag="PRP" />
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token min="0" max="2" postag_regexp="yes" postag="MD|RB" />
                    <token min="0" inflected="yes">do</token>
                    <token>see</token>
                    <token min="0" postag="PCT" />
                    <token>it</token><!-- subject or expletive -->
                </antipattern>
                <antipattern><!-- The cloud sees it has left -->
                    <token inflected="yes">see</token>
                    <token>it</token>
                    <token inflected="yes">have</token>
                    <token postag="VBN" />
                </antipattern>

                <pattern>
                    <token postag="VB.*" postag_regexp="yes" inflected="yes">see
                        <!-- the verbs hear|notice|watch|feel etc. have a much different distribution than 'see' -->
                        <exception scope="previous" postag="DT">the</exception>
                    </token>
                    <token postag="PRP" regexp="yes">me|you|him|her|it|them|us</token>
                    <!--<token min="0">does</token>--> <!-- not sure how to greedily match -->
                    <marker>
                        <token postag="VBZ" case_sensitive="yes" regexp="yes">[a-z]+
                            <exception postag="VB" />
                            <exception regexp="yes">is|isn</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The verb of perception '\1' and the object '\2' should be followed by the bare infinitive <suggestion><match no="3" postag="VB" /></suggestion>.</message>
                <example correction="go">I saw it <marker>goes</marker>.</example>
                <example>As you can see it forms a ring.</example>
                <example>As far as I can see it fails.</example>
                <example>Like you see it says no renewals.</example>
                <example>I can still see it takes four hours.</example>
                <example>Seeing it makes me feel stagnant</example>
                <example>The problem as I see it isn’t that</example>
                <example>Whoever wants to come see us is welcome.</example>
                <example>The cloud sees it has left.</example>
                <example>Every girl who's seen him falls in love with him.</example>
                <example>By using the hero with it we see it continues to gain.</example>
                <example>In tracing through the code, I do see it grabs the name.</example>
                <example>Looking at the source code I can see it does alter the name.</example>
                <example>You'll see it sounds quite beautiful.</example>
                <example>Just because you can’t see it doesn’t mean it’s not happening.</example>
                <example>From what I can see it looks as though this is on the roadmap.</example>
                <example>I’m glad you see it doesn’t make sense now.</example>
                <example>I’m really unhappy that you don't see it makes no sense.</example>
                <example>From some of the posts I’ve seen it seems I should do it.</example>
                <example>On the image you can see it works on 4 levels</example>
                <example>"I see it makes you laugh, Tom?"</example>
                <example>“I see it makes you laugh, Tom?”</example>
            </rule>
        </rulegroup>
        <rulegroup id="DO_MAKE_PRP_VBG" name="Can you make it working (work) again?">
            <antipattern>
                <token regexp="yes" inflected="yes">do|make</token>
                <token postag="PRP">
                    <exception>everyone</exception>
                </token>
                <token chunk_re="[BI]-NP.*|B-AD[JV]P" />
            </antipattern>
            <antipattern>
                <token chunk="B-VP" />
                <token postag="CC|," postag_regexp="yes" />
                <token chunk="B-ADJP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">sitting|trending</token>
                <token regexp="yes">ducks?|topics?</token>
            </antipattern>
            <antipattern>
                <token postag="PRP$" />
                <token>living</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token inflected="yes" skip="1">make</token>
                    <token postag="VBG" />
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="VBG" />
                    <token chunk_re="B-NP.*" />
                    <token chunk_re="E-NP.*" />
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token>make</token>
                    <token postag="PRP|PRP_[SOR].*" postag_regexp="yes" />
                    <token postag="VBG" />
                    <token chunk="I-VP" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|could</token>
                    <token min="0">'ve</token>
                    <token inflected="yes">make</token>
                </antipattern>
                <antipattern>
                    <token>being</token>
                    <token min="0" postag="RB" />
                    <token>behind</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">going|doing</token>
                    <token regexp="yes">forward|things</token>
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token inflected="yes">make</token>
                </antipattern>
                <antipattern>
                    <token>using</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">make</token>
                    <token postag="PRP|PRP_[SOR].*" postag_regexp="yes">
                        <exception regexp="yes">everyone|it|her|one</exception>
                    </token>
                    <marker>
                        <token postag="VBG">
                            <exception regexp="yes">being|calming|concerning|endearing|excruciating|freezing|intimidating|matching|recurring|using|&adjectives_with_ing;</exception>
                        </token>
                    </marker>
                    <token><exception postag="JJ.*|PCT|SENT_END" postag_regexp="yes" /></token>
                </pattern>
                <message>Possible tense error.</message>
                <suggestion><match no="3" postag="VB" /></suggestion>
                <example correction="look">Could you please make someone <marker>looking</marker> into it?</example>
                <example correction="think">Just checked Tado and looks great but overall cost makes me <marker>thinking</marker> of reducing a scope a little or get it in stages.</example>
                <example correction="load">That thread made me <marker>loading</marker> the diaspora code in my IDE.</example>
                <example correction="have">The last one I get made me <marker>having</marker> hallucinations for the first time.</example>
                <example>Mary makes her living by sewing.</example>
                <example>We could've made it cruising.</example>
                <example>I'll think more closely about the resource cost of my questions before making them going forward.</example>
                <example>...and most who did make it being way behind.</example>
                <example>The layout is as accurate as we can make it scaling the drawings available without an actual survey.</example>
                <example>He made one probing question about the company's quarterly report.</example>
                <example>It's worth the hassle to make you stunning, fashionable, you'll steal her man.</example>
                <example>Made me outgoing, social, and adventurous.</example>
                <example>The syntax makes her meaning stronger.</example>
                <example>It doesn't just make it scorching hot but will actually melt the plastic.</example>
                <example>They made it trending topic in Twitter.</example>
                <example>It goes beyond the basics making them intriguing, interesting.</example>
                <example>His ensemble made him imposing and attractive.</example>
                <example>The number of times makes it concerning.</example>
                <example>That is what makes it calming for me too.</example>
                <example>This made them intimidating as they were much larger than their opponents.</example>
                <example>The pool made me freezing.</example>
                <example>He made it using only shades of blue.</example>
                <example>I made it using Canva.</example>
                <example>I made it using photoshop.</example>
                <example>Don't worry about it, it makes you endearing.</example>
                <example>I made it using animations and photoshop.</example>
                <example>I don't know why they make someone dying seem funny.</example>
                <example>...or who made it meaning, God’s creatio...</example>
                <example>He only made it doing crimes.</example>
                <example>He fixed some things to make it inviting for them.</example>
                <example>... making them sitting ducks.</example>
                <example>She put it in the sun to make it blazing hot.</example>
                <example>She made us matching friendship bracelets.</example>
                <example>They made him being bi and genderfluid like, a big deal.</example>
                <example>Using LanguageTool to check your grammar make you writing more credible.</example>
                <example>You're making me dripping wet right now!</example>
                <example>You know, the ones you made me hanging on my refrigerator right now?</example>
                <example>They got heavier, making them excruciating to remove.</example>
                <example>His innocent incompetence still made him endearing to the heroine.</example>
                <example>In 1989, Neil Gaiman made them recurring characters in his comic series The Sandman.</example>
                <example>They have become an amalgam of Chaos Marine, daemon and heavy armor, and bear the ability to transform their bodies to form powerful weapons, making them walking gun platforms.</example>
                <example>The Great Heep only made one showing in 1989 on BBC's Going Live!, which was a Saturday morning children's show—it was split into two parts over two weeks.</example>
                <example>The lyrical content of the Descendents made them being cited at the time as one of the most significant punk bands of the 1980s hardcore punk movement.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="MD|TO|W.*" postag_regexp="yes" />
                    <token inflected="yes">do</token>
                </antipattern>
                <pattern>
                    <token><exception>nor</exception></token>
                    <token regexp="yes">does|done</token>
                    <token postag="PRP(_[SOR].*)?" postag_regexp="yes">
                        <exception regexp="yes">everyone|her</exception>
                    </token>
                    <marker>
                        <token postag="VBG">
                            <exception regexp="yes">according|assuming|being|breaking|considering|facing|going|having|using</exception>
                        </token>
                    </marker>
                    <token postag="DT|PDT|NN:U" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                </pattern>
                <message>Possible tense error.</message>
                <suggestion><match no="4" postag="VB" /></suggestion>
                <example correction="experience">Does anyone <marker>experiencing</marker> any problems now?</example>
                <example>I wasn't going to do it considering the lesson plan didn't have it for today.</example>
                <example>How did someone carrying a weapon board a flight?</example>
                <example>It's something I can do myself following a youtube video.</example>
                <example>He does everything facing the customer.</example>
                <example>Nor did me missing the calls have any impact.</example>
                <example>But I did it following the instructions.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOOK_FORWARD_NOT_FOLLOWED_BY_TO" name="'look forward' not followed by 'to'" default="temp_off">
            <!-- See also ADMIT_ENJOY_VB -->
            <antipattern><!-- on a looking forward basis -->
                <token postag="DT" />
                <token regexp="yes">look|looking</token>
            </antipattern>
            <antipattern><!-- January is the month for both taking stock and looking forward. -->
                <token postag="CC" />
                <token inflected="yes">look</token>
                <token>forward</token>
                <token postag="SENT_END" />
            </antipattern>
            <antipattern><!-- or to look forward. -->
                <token postag="CC" />
                <token>to</token>
                <token>look</token>
                <token>forward</token>
                <token postag="SENT_END" />
            </antipattern>
            <antipattern><!-- look forward every week -->
                <token>forward</token>
                <token postag="DT" regexp="yes">each|every|all|both|most|some|either|neither</token>
            </antipattern>
            <antipattern><!-- look forward five years -->
                <token>forward</token>
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- look forward into the summer -->
                <token>forward</token>
                <token>into</token>
                <token chunk_re="B-NP.*">
                    <exception>it</exception>
                </token>
            </antipattern>
            <antipattern><!-- look forward [PP from the past] -->
                <token>forward</token>
                <token>from</token>
                <token chunk_re="B-NP.*">
                    <exception postag="PRP" />
                </token>
            </antipattern>
            <antipattern><!-- look forward [PP over ...] (= look ahead) -->
                <token>forward</token>
                <token>over</token>
            </antipattern>
            <antipattern><!-- look forward [PP with ...] to -->
                <token>forward</token>
                <token skip="5">with</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- look forward [AdvP as usual ...] to -->
                <token>forward</token>
                <token max="4" chunk_re=".*ADVP" />
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>forward</token>
                <token min="0" max="4" postag="RB">
                    <exception>too</exception>
                </token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- look forward and behind -->
                <token>forward</token>
                <token min="0">,</token>
                <token postag="CC">
                    <exception regexp="yes">for|when</exception>
                </token>
            </antipattern>
            <antipattern><!-- look forward when driving -->
                <token>forward</token>
                <token>when</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- look forward not behind -->
                <token>forward</token>
                <token min="0" postag="," />
                <token>not</token>
            </antipattern>
            <antipattern><!-- to which I look forward -->
                <token>to</token>
                <token postag="WP" />
                <token postag_regexp="yes" postag="PRP|NN.*" />
                <token min="0" postag="RB" />
                <token inflected="yes">look</token>
                <token>forward</token>
            </antipattern>
            <antipattern><!-- whoever doesn't look forward doesn't progress -->
                <token skip="5" postag="WP" regexp="yes">[a-z]+ever$</token>
                <token inflected="yes">look</token>
                <token>forward</token>
            </antipattern>
            <antipattern><!-- how much I look forward -->
                <token postag="WRB">how</token>
                <token skip="5">much</token>
                <token inflected="yes">look</token>
                <token>forward</token>
            </antipattern>
            <antipattern><!-- will do (it, so) looking forward. -->
                <token inflected="yes">will</token>
                <token postag="VB">
                    <exception>be</exception>
                </token>
                <token min="0" postag_regexp="yes" postag="RB|PRP" />
                <token>looking</token>
                <token>forward</token>
                <token postag="SENT_END" />
            </antipattern>
            <antipattern><!-- look forward you will see -->
                <token>forward</token>
                <token postag="PRP" />
                <token postag_regexp="yes" postag="MD|VB[PZ]" />
            </antipattern>
            <antipattern><!-- had better look forward -->
                <token>better</token>
                <token>look</token>
            </antipattern>
            <antipattern><!-- time to look forward -->
                <token>time</token>
                <token>to</token>
                <token>look</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">look</token>
                        <token>forward</token>
                    </marker>
                    <token negate="yes">to
                        <exception regexp="yes">[,:;()&lt;&gt;&amp;]|&apostrophe;|&quote;</exception><!-- looking forward, -->
                        <exception regexp="yes">to--.*</exception><!-- 'to' tokenized with 2 hyphens (en dash) -->
                        <!-- subrules with specific suggestions cover the following cases: -->
                        <exception>too</exception>
                        <exception postag="VBG" />
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>The phrasal verb '\1 \2' (meaning 'anticipate') is usually followed by 'to' and an indirect object.</message>
                <!-- INCORRECT -->
                <example correction="">I <marker>look forward</marker>.</example>
                <example correction="">I'm <marker>looking forward</marker>.</example>
                <example correction="">I am <marker>looking forward</marker>!</example>
                <example correction="">I <marker>look forward</marker> your response.</example>
                <example correction="">I'll be <marker>looking forward</marker>.</example>
                <example correction=""><marker>Looking forward</marker> the new release.</example>
                <example correction="">the one I am most <marker>looking forward</marker> t</example>
                <example correction="">It's the only event I'm <marker>looking forward</marker>.</example>
                <example correction="">Generally, i am <marker>looking forward</marker> when I can reduce</example>
                <!-- arguably acceptable due to interference from the intervening AdvP, but 'look forward' almost never takes an immediate SBAR complement -->
                <example correction="">I <marker>look forward</marker> as usual for us to exceed the mark</example>
                <!-- CORRECT -->
                <example>Look forward, please.</example>
                <example>I think you had better look forward.</example>
                <example>Try and <marker>look forward</marker>?</example>
                <!-- conjunction -->
                <example>My job is to look forward and proceed.</example>
                <example>Skiing is looking forward, not back.</example>
                <example>look forward not behind</example>
                <example>I want to stop running through my life like a man late for an appointment, afraid to look back, or to look forward.</example>
                <example>I'm both looking forward &amp; dreading</example>
                <example>wanting to look forward but unable to effectively deal with its past</example>
                <!-- punctuation -->
                <example>Looking Forward (1933)</example>
                <example>Current liabilities (any concerns looking forward)</example>
                <!-- literally meaning 'look ahead' (no object) -->
                <example>You have to look forward when driving</example>
                <example>Throughout the stroke, the head looks forward over the board.</example>
                <example>If you look forward you will see St Paul’s Cathedral.</example>
                <example>open the door and look forward into the fender area</example>
                <!-- PP (into, from) -->
                <example>the Bengals looked forward into 2017</example>
                <example>Looking forward into the summer, I believe</example>
                <example>Food Policy: Looking Forward from the Past.</example>
                <!-- time object -->
                <example>If you look forward five years</example>
                <!-- indefinite object implied -->
                <example>January is the month for both taking stock and looking forward.</example>
                <example>Will do looking forward.</example>
                <example>Looking forward, power dieting and binge buying may not be enough</example>
                <example>Looking forward: I was tempted</example>
                <example>FYI, looking forward, we will need to start</example>
                <example>"Traders do that all the time; they're looking forward," said William Burson, a trader.</example>
                <example>"The only way that's going to happen is if we look forward," he said.</example>
                <example>I have been impressed by your willingness to look forward, stay the course, and maintain your sense of humor.</example>
                <example>but looking forward we will likely have to upgrade</example>
                <example>This is true on a daily basis but on a looking forward basis we have</example>
                <!-- tokenizer -->
                <example>Last fall it seemed so long to look forward to--a whole winter of studies and classes.</example>
                <!-- intervening adverbial or prepositional phrase -->
                <example>I look forward hopefully to hearing from you</example>
                <example>I am still optimistic and am trying to look forward as we can only make sure this doesn't happen again.</example>
                <example>I look forward with much enthusiasm and excitement to working with you</example>
                <example>I look forward with fondness to a time when</example>
                <example>I look forward every week to see</example>
                <example>everyone who looks forward with hope to God</example>
                <example>I am looking forward very much to the school excursion.</example>
                <!-- at end of sub-clause -->
                <example>whoever doesn't look forward doesn't progress</example>
                <!-- wh-movement -->
                <example>I believe this will clear the way for my becoming a citizen of the US, to which I eagerly look forward.</example>
                <example>It is the emphasis on how much companies are capable of looking forward.</example>
            </rule>
            <rule><!-- look forward too; see also TOO_TO[1] -->
                <pattern>
                    <marker>
                        <token inflected="yes">look</token>
                        <token>forward</token>
                        <token>too</token>
                    </marker>
                </pattern>
                <message>The phrasal verb '\1 \2' (meaning 'anticipate') is usually followed by 'to' and an indirect object.</message>
                <suggestion>\1 \2 to</suggestion>
                <example correction="Looking forward to"><marker>Looking forward too</marker> 9.02</example>
                <example correction="looking forward to">My first milestone that I am <marker>looking forward too</marker> is 135x5.</example>
                <!-- ADMIT_ENJOY_VB[7] corrects 'to see' into 'to seeing'  -->
                <example correction="looking forward to">I had great time too with you guys, <marker>looking forward too</marker> see you soon</example>
            </rule>
            <rule><!-- look forward going -->
                <pattern>
                    <marker>
                        <token inflected="yes">look</token>
                        <token>forward</token>
                    </marker>
                    <token postag="VBG" />
                </pattern>
                <message>The phrasal verb '\1 \2' (meaning 'anticipate') is usually followed by 'to' and an indirect object.</message>
                <suggestion>\1 \2 to</suggestion>
                <example correction="look forward to">I <marker>look forward</marker> hearing from you shortly.</example>
                <example correction="looking forward to">Steven mentioned a Brazilian restaurant he went to and I am <marker>looking forward</marker> going there</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">look</token>
                        <token>forward</token>
                        <token postag="IN" negate="yes">to</token>
                    </marker>
                </pattern>
                <message>The phrasal verb '\1 \2' (meaning 'anticipate') is usually followed by 'to' and an indirect object.</message>
                <suggestion>\1 \2 to</suggestion>
                <example correction="looking forward to">linking it here for reference (and <marker>looking forward for</marker> more info</example>
                <example correction="looking forward to">that I am <marker>looking forward for</marker>:</example>
                <example correction="looking forward to">I'll be <marker>looking forward in</marker> hearing from you</example>
                <example correction="Looking forward to"><marker>Looking forward into</marker> it.</example>
                <example correction="Looking forward to"><marker>Looking forward for</marker> this feature.</example>
                <example correction="Looking forward to"><marker>Looking forward from</marker> you.</example>
                <example correction="Look forward to"><marker>Look forward from</marker> hearing from you soon</example>
                <example correction="looking forward to">Be <marker>looking forward for</marker> next year</example>
                <example correction="looking forward to">Thanks, <marker>looking forward for</marker> your response.</example>
                <example correction="looking forward to">linking it here for reference (and <marker>looking forward for</marker> more info</example>
                <example correction="look forward to">I do not <marker>look forward of</marker> a year of this to no avail</example>
                <!-- 'look forward at' unclear meaning -->
                <example correction="look forward to">we continue to <marker>look forward at</marker> our energy situation</example>
            </rule>
        </rulegroup>
        <rule id="SEASONS_GREETINGS" name="missing apostrophe in 'seasons greetings'">
            <pattern>
                <token>seasons</token>
                <token>greetings</token>
            </pattern>
            <message>This idiom is spelled with a possessive apostrophe.</message>
            <suggestion><match no="1" regexp_match="(?i)(n)(s)$" regexp_replace="$1'$2" /> \2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/Season%27s%20Greetings</url>
            <short>Missing possessive apostrophe</short>
            <example correction="Season's Greetings"><marker>Seasons Greetings</marker> and a Happy New Year!</example>
        </rule>
        <rulegroup id="I_NOT_JJ" name="I not sure (I am not sure)"><!-- similar to PRP_JJ (but gives better suggestions) -->
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" regexp="yes">
                    .*[a-z].*
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token regexp="yes">you|it</token>
                <token>not</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">be|have|do</token>
                <token postag="PRP" />
                <token>not</token>
            </antipattern>
            <antipattern>
                <token>am</token>
                <token>i</token>
                <token>not</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token>only</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                        <token chunk_re="B-ADJP|B-ADVP">not</token>
                    </marker>
                    <token chunk_re=".-ADJP" postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\1 is \2</suggestion>
                <example correction="He is not"><marker>He not</marker> sure about it.</example>
                <example>He not only speaks French, but he speaks Spanish, too.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">you|we|they</token>
                        <token chunk_re="B-ADJP|B-ADVP">not</token>
                    </marker>
                    <token chunk_re=".-ADJP" postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\1 are \2</suggestion>
                <example correction="They are not"><marker>They not</marker> sure about it.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>I</token>
                        <token chunk_re="B-ADJP|B-ADVP">not</token>
                    </marker>
                    <token chunk_re=".-ADJP" postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\1 am \2</suggestion>
                <example correction="I am not"><marker>I not</marker> sure about it.</example>
                <example>Am I not beautiful?</example>
                <example>Why was I not aware of this?</example>
            </rule>
        </rulegroup>
        <rule id="PLEASE_BE_VB" name="please be prepare (prepared)">
            <pattern>
                <token regexp="yes">please|maybe|perhaps|always|never</token>
                <token>be</token>
                <marker>
                    <token postag="VB" chunk_re=".-VP" />
                </marker>
                <token postag="IN|PCT|CC" postag_regexp="yes" />
            </pattern>
            <message>It seems the correct verb form here is <suggestion><match no="3" postag="VBN" /></suggestion>.</message>
            <example correction="prepared">Please be <marker>prepare</marker> for the next steps.</example>
        </rule>
        <rule id="I_M_MD" name="I'm might (I might) be">
            <antipattern><!-- #5263 It was might alone that -->
                <token>it</token>
                <token regexp="yes">is|was</token>
                <token chunk="B-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                <token postag="RB"/>
                <token postag="WDT"/>
            </antipattern>
            <pattern>
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token regexp="yes" min="0">and|but</token>
                <marker>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token inflected="yes">be</token>
                    <token postag="MD">
                        <exception postag="NNP" />
                        <exception>need</exception>
                    </token>
                </marker>
            </pattern>
            <message>It seems that only one verb should be used here.</message>
            <suggestion>\3 \6</suggestion>
            <example correction="I might"><marker>I'm might</marker> be going home soon.</example>
            <example>I'm Will.</example>
            <example>It was might alone that was important in the war.</example><!-- #5263 -->
        </rule>
        <rulegroup id="WAS_THERE_MANY" name="Was (were) there many ...">
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|W.*|PCT" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <marker>
                        <token>was</token>
                    </marker>
                    <token regexp="yes">t?here</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">many|few|lots</token>
                    <token min="0">of</token>
                    <token chunk_re=".-NP-plural" />
                </pattern>
                <message>The singular verb form '\2' doesn't seem to match '\7'.</message>
                <suggestion>were</suggestion>
                <example correction="Were"><marker>Was</marker> there too many people?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|W.*|PCT" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <marker>
                        <token>was</token>
                    </marker>
                    <token regexp="yes">t?here</token>
                    <token>a</token>
                    <token>lot</token>
                    <token>of</token>
                    <token chunk_re=".-NP-plural" />
                </pattern>
                <message>The singular verb form '\2' doesn't seem to match '\7'.</message>
                <suggestion>were</suggestion>
                <example correction="Were"><marker>Was</marker> there a lot of people?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|W.*|PCT" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <marker>
                        <token>is</token>
                    </marker>
                    <token regexp="yes">t?here</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">many|few|lots</token>
                    <token min="0">of</token>
                    <token chunk_re=".-NP-plural" />
                </pattern>
                <message>The singular verb form '\2' doesn't seem to match '\7'.</message>
                <suggestion>are</suggestion>
                <example correction="Are"><marker>Is</marker> there too many people?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|W.*|PCT" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <marker>
                        <token>is</token>
                    </marker>
                    <token regexp="yes">t?here</token>
                    <token>a</token>
                    <token>lot</token>
                    <token>of</token>
                    <token chunk_re=".-NP-plural" />
                </pattern>
                <message>The singular verb form '\2' doesn't seem to match '\7'.</message>
                <suggestion>are</suggestion>
                <example correction="Are"><marker>Is</marker> there a lot of people?</example>
            </rule>
        </rulegroup>
        <rule id="FIRSTLY_OF_ALL" name="firstly (first) of all">
            <pattern>
                <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                <marker>
                    <token regexp="yes">firstly|lastly</token>
                    <token>of</token>
                    <token>all</token>
                </marker>
            </pattern>
            <message>The correct introductory phrase is either <suggestion><match no="2" regexp_match="(?i)ly" regexp_replace="" /> \3 \4</suggestion> or just <suggestion>\2</suggestion>.</message>
            <example correction="First of all|Firstly"><marker>Firstly of all</marker> we have to update our privacy policy.</example>
        </rule>
        <rule id="NN_NOT_JJ" name="missing verb before 'not'">
            <antipattern>
                <token skip="10">
                    not
                    <exception scope="next">,|but|because|if</exception>
                </token>
                <token chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token skip="10">
                    not
                    <exception scope="next">,|but|because|if</exception>
                </token>
                <token inflected="yes" regexp="yes">be|have|will|do</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">were|was|been</token>
                <token postag="JJ" />
                <token>but</token>
                <token regexp="yes">today|now</token>
                <token>not</token>
                <token postag="JJ" />
            </antipattern>
            <pattern>
                <token postag="SENT_START|CC" postag_regexp="yes">
                    <exception postag="IN" />
                </token>
                <token postag="DT|JJ|PRP\$" postag_regexp="yes" chunk="B-NP-singular" min="0" />
                <token postag="NNP?|NN:UN?" postag_regexp="yes" chunk_re=".-NP-singular">
                    <exception regexp="yes">@.+</exception>
                </token>
                <marker>
                    <token>not</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="JJR?" postag_regexp="yes" chunk="I-ADJP" />
            </pattern>
            <message>A verb may be missing.</message>
            <suggestion>is \4</suggestion>
            <example correction="is not">The grammar <marker>not</marker> good in this sentence.</example>
            <example correction="is not">Online discount <marker>not</marker> available on packages.</example>
            <example>A book not worth reading is not worth buying in the first place.</example>
            <example>After the workout my shoulders were sore but today not bad at all.</example>
        </rule>
        <rulegroup id="THIS_MISSING_VERB" name="missing verb after 'this'">
            <antipattern>
                <token>this</token>
                <token>no</token>
                <token regexp="yes">doubt|longer</token>
            </antipattern>
            <antipattern><!-- this A section ... -->
                <token>this</token>
                <token case_sensitive="yes">A</token>
                <token case_sensitive="yes" regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern><!-- ... but this her stepmother would not allow -->
                <token>but</token>
                <token>this</token>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="MD" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token regexp="yes" chunk_re=".-NP-singular">the|an?|their|my|y?our|her|his|its|no</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is</suggestion>
                <example correction="This is"><marker>This</marker> the best.</example>
                <example correction="This is"><marker>This</marker> a new test.</example>
                <example correction="this is">I would like to know if <marker>this</marker> a bug?</example>
                <example>This no doubt will improve our credit rating, save us cash on interest payment, and give us room to borrow.</example>
                <example>This A section featured duple meter, singsong rhythms, and diatonic melodies with the sounds of oboe, English horn, and taxi horns.</example>
                <example>By his first wife the peasant had a daughter called Elsa, a good quiet girl, who only wanted to live in peace, but this her stepmother would not allow.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token regexp="yes" chunk_re=".-NP-plural">the|an?|their|my|y?our|her|his|its|no</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>these are</suggestion>
                <example correction="These are"><marker>This</marker> the best tools.</example>
                <example correction="These are"><marker>This</marker> our old friends at Pawnee gas plant fuel.</example>
                <example>This no longer matters.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">think|hope</token>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token regexp="yes" chunk_re=".-NP-singular">the|an?|their|my|y?our|her|his|its|no</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is</suggestion>
                <example correction="this is">I think <marker>this</marker> the best.</example>
                <example correction="this is">I think <marker>this</marker> a fake.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>this</token>
                    <token postag="RB" />
                    <token postag="VBG" />
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token regexp="yes" postag="RB">
                        not|.+ly
                        <exception postag="JJ" />
                    </token>
                    <token postag="VBG">
                        <exception>being</exception>
                    </token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is</suggestion>
                <example correction="This is"><marker>This</marker> not going to be bad.</example>
                <example correction="This is"><marker>This</marker> really disappointing!</example>
                <example>This potentially spiraling process will ultimately lead to the collapse of the monetary system.</example>
                <example>This painting by Rembrandt is a masterpiece.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THANKS_YOUR" name="Thanks (for) your help">
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>thanks</token>
                        <token chunk_re="B-NP-.*" regexp="yes">your|the</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re="E-NP-.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-.*" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>\2 for \3</suggestion>?</message>
                <example correction="Thanks for your"><marker>Thanks your</marker> message.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <marker>
                        <token>thanks</token>
                        <token chunk_re="B-NP-.*" regexp="yes">your|the</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re="E-NP-.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-.*" />
                    <token min="0">,</token>
                    <token postag="NNP" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>\2 for \3</suggestion>?</message>
                <example correction="Thanks for your"><marker>Thanks your</marker> help, Peter.</example>
            </rule>
        </rulegroup>
        <rule id="DIDN_T_SAW" name="I didn't saw (see)">
            <antipattern>
                <token skip="-1">saw</token>
                <token regexp="yes">woods?|planks?|trees?|pieces?|lumber.*|timber.*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">woods?|planks?|trees?|pieces?|lumber.*|timber.*</token>
                <token>saw</token>
            </antipattern>
            <pattern>
                <token regexp="yes">did|do|does</token>
                <token regexp="yes">n't|not</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Ss]aw</token>
                </marker>
            </pattern>
            <message>The verb "saw" means "to cut" something using a saw. The past tense of "see" is incorrect in this context.</message>
            <suggestion>see</suggestion>
            <example correction="see">I didn't <marker>saw</marker> that.</example>
        </rule>
        <rule id="DIDN_T_SPOKE" name="I didn't spoke (speak)">
            <antipattern>
                <token skip="-1">spoke</token>
                <token regexp="yes">furnish|furnitures?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">furnish|furnitures?</token>
                <token>spoke</token>
            </antipattern>
            <pattern>
                <token regexp="yes">did|do|does</token>
                <token regexp="yes">n't|not</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Ss]poke</token>
                </marker>
            </pattern>
            <message>The verb "spoke" means "to furnish". The past tense of "speak" is incorrect in this context.</message>
            <suggestion>speak</suggestion>
            <example correction="speak">I didn't <marker>spoke</marker> to my lawyer.</example>
        </rule>
        <rule id="ALL_NN" name="All car (cars)">
            <antipattern>
                <token>all</token>
                <token regexp="yes">on|in|of</token>
                <token>all</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>all</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token regexp="yes">time|afternoon|day|night|week|good|information|year|century|month|week-?end</token>
            </antipattern>
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token regexp="yes">all|many</token>
            </antipattern>
            <antipattern>
                <token>medicare</token>
                <token>for</token>
                <token>all</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token postag="NN" />
                <token regexp="yes">can|could|would|should</token>
                <token postag="VB" />
                <token>is</token>
            </antipattern>
            <antipattern>
                <token />
                <token />
                <token />
                <token case_sensitive="yes">All</token>
                <token case_sensitive="yes" regexp="yes">[a-z].*</token>
            </antipattern>
            <pattern>
                <token chunk="B-NP-singular" regexp="yes">all|many</token>
                <token postag="JJ" chunk="I-NP-singular" min="0" />
                <marker>
                    <token chunk="E-NP-singular" postag="NN">
                        <exception postag="NNP?S|CD|NN:U|IN|W.*" postag_regexp="yes" />
                        <exception regexp="yes">mine|one|think|colou?red</exception>
                    </token>
                </marker>
                <token regexp="yes" chunk="B-VP">are|were|have|had|will|won|[cw]ouldn?|shouldn?|didn?|need(ed)?|want(ed)?|g[oe]t|can(not)?|do|go|went|take|took|liked?|loved?|ma[kd]e|kn[eo]w</token>
            </pattern>
            <message>The plural determiner '\1' requires a plural noun.</message>
            <suggestion suppress_misspelled="yes"><match no="3" postag="NNP?S" postag_regexp="yes" /></suggestion>
            <example correction="cars">All <marker>car</marker> are moving in one direction.</example>
            <example>All <marker>cars</marker> are moving in one direction.</example>
            <example>All three were wounded.</example>
            <example>All three were working well with Iris.</example>
            <example>Over two years later all six were producing clotting factor.</example>
            <example>A Medicare for All bill will pass through the congress.</example>
            <example>All KM can do is return the coordinates of the found image, and/or click on it.</example>
        </rule>
        <rulegroup id="AS_IS_VBG" name="as (it) is happening">
            <antipattern>
                <token skip="12" inflected="yes">
                    be
                    <exception>be</exception>
                </token>
                <token regexp="yes">as|since|because|if|while</token>
            </antipattern>
            <antipattern>
                <token>knowing</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token regexp="yes">was|is</token>
                <token min="0">more</token>
                <token postag="RB.*" postag_regexp="yes" min="0" />
                <token regexp="yes">customary|(un)?common|necessary|crucial|standard|normal|(un)?usual|traditional|typical|clear|inevitable|appropriate|natural|true|right|evident|apparent|correct|familiar|visible|known|mandatory|obligatory|required|plausible|likely|best|applicable</token>
            </antipattern>
            <antipattern>
                <token skip="8">as</token>
                <token>as</token>
            </antipattern>
            <antipattern>
                <token>such</token>
                <token>as</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token skip="10">same</token>
                <token>as</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token regexp="yes">was|is</token>
                <token postag="RB" min="0" />
                <token min="0">being</token>
                <token regexp="yes">said|discussed|reported|mentioned|rumou?red</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token regexp="yes">was|is</token>
                <token postag="RB" min="0" />
                <token>happening</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token regexp="yes">is|was</token>
                <token postag="RB" min="0" />
                <token>the</token>
                <token>case</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">as|since|unless|because|if|while</token>
                    <marker>
                        <token>was</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VBG">
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>It appears that a pronoun is missing.</message>
                <suggestion>it \2</suggestion>
                <suggestion>I \2</suggestion>
                <suggestion>she \2</suggestion>
                <suggestion>he \2</suggestion>
                <example correction="it was|I was|she was|he was">This appears to be a bug since <marker>was</marker> happening not only on my machine.</example>
                <example>Skiing and snowboarding at nearby Crabbe Mountain are also common winter activities among city residents, as is skating on the outdoor rinks at Officer's and Queen's Squares.</example>
                <example>Building smaller clocks was a technical challenge, as was improving accuracy and reliability.</example>
                <example type="triggers_error">These configurations can lead to grief - as was saying someone only 30 minutes ago on this forum.</example>
                <example type="triggers_error">Rather than being acquired by ExxonMobil Corp., BP Amoco Plc, or Royal Dutch Shell Group, as was becoming more likely with each passing month, Chevron and Texaco became their equal.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">as|since|unless|because|if|while</token>
                    <marker>
                        <token>was</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-AD[VJ]P">
                        <exception regexp="yes">only|just</exception>
                    </token>
                </pattern>
                <message>It appears that a pronoun is missing.</message>
                <suggestion>it \2</suggestion>
                <suggestion>I \2</suggestion>
                <suggestion>she \2</suggestion>
                <suggestion>he \2</suggestion>
                <example correction="it was|I was|she was|he was">Delete the last sentence if <marker>was</marker> too long.</example>
                <example>She was from Kyoto, as was evident from her accent.</example>
                <example>As was customary for capital ships of the period, she was equipped with three submerged torpedo tubes.</example>
                <example>He assumed that workers could be paid wages as low as was necessary for their survival.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">as|since|unless|because|if|while</token>
                    <marker>
                        <token>is</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VBG" />
                </pattern>
                <message>It appears that a pronoun is missing.</message>
                <suggestion>it \2</suggestion>
                <suggestion>she \2</suggestion>
                <suggestion>he \2</suggestion>
                <example correction="it is|she is|he is">This appears to be a bug since <marker>is</marker> happening not only on my machine.</example>
                <example>Skiing and snowboarding at nearby Crabbe Mountain are also common winter activities among city residents, as is skating on the outdoor rinks at Officer's and Queen's Squares.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">as|since|unless|because|if|while</token>
                    <marker>
                        <token>is</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-AD[VJ]P">
                        <exception regexp="yes">only|just</exception>
                    </token>
                </pattern>
                <message>It appears that a pronoun is missing.</message>
                <suggestion>it \2</suggestion>
                <suggestion>she \2</suggestion>
                <suggestion>he \2</suggestion>
                <example correction="it is|she is|he is">Delete the last sentence if <marker>is</marker> too long.</example>
                <example>This is painful for all of us and our goal is for as many of you as is possible to know where you stand by the end of the day Tuesday, though in some cases notification will take longer.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_TO_VBD" name="to sent (send)"><!-- Similar to TO_NON_BASE, but finds other errors -->
            <antipattern>
                <token>to</token>
                <token postag="NNS" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">up|according</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token regexp="yes">is|are|was|were</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="IN|CC" postag_regexp="yes" />
                    <marker>
                        <token>to</token>
                        <token postag="VB[DNZ]" postag_regexp="yes">
                            <exception postag="VB" />
                        </token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>The base form is expected after "to".</message>
                <suggestion>to <match no="3" postag="VB" /></suggestion>
                <short>Agreement error</short>
                <example correction="to send">Just paste a list of e-mails below <marker>to sent</marker> our invitations to them.</example>
                <example>Oversold indicators are now starting to get up to levels that bring rallies.</example>
                <example>What it comes down to is this.</example>
                <example>The draft contains references throughout to exhibits that will be attached to the agreement that were not included in the draft.</example>
                <example>The NLD lodged an official complaint with the police, and according to reports the government launched an investigation, but no action was taken.</example>
                <example>Our commitment is to get it down to levels that aren't even trace amounts," Schafer said.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN|CC" postag_regexp="yes" />
                    <marker>
                        <token>to</token>
                        <token postag="VB[DNZ]" postag_regexp="yes">
                            <exception postag="VB" />
                        </token>
                    </marker>
                    <token regexp="yes">them|him|her|you|it|us|me</token>
                </pattern>
                <message>The base form is expected after "to".</message>
                <suggestion>to <match no="3" postag="VB" /></suggestion>
                <example correction="to send">Just paste a list of e-mails below <marker>to sent</marker> them the invitations.</example>
                <example correction="to give">Orlando and Sergio Assad are about <marker>to gave</marker> me their clearance to start a legal suit against ANEEL.</example>
            </rule>
        </rulegroup>
        <rule id="WHAT_TO_VBD" name="I know what to sent (send)">
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ.*|NN|NN:UN?" postag_regexp="yes" min="0" />
                <token>how</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>how</token>
                <token>to</token>
                <token regexp="yes">articles|documents|examples|scripts|manuals|tips</token>
            </antipattern>
            <pattern>
                <token regexp="yes">what|which|when|who|where|why|how</token>
                <marker>
                    <token>to</token>
                    <token postag="RB" min="0">
                        <exception postag="VB" />
                    </token>
                    <token postag="VB[DNZG]" postag_regexp="yes">
                        <exception postag="VB" />
                        <exception regexp="yes">companies|is|was</exception>
                    </token>
                </marker>
            </pattern>
            <message>The base form is expected after "to".</message>
            <suggestion>to \3 <match no="4" postag="VB" /></suggestion>
            <example correction="to send">I don't know what <marker>to sent</marker> him for Christmas.</example>
            <example>I forgot to tell Tom when to come.</example>
            <example>How to live is the most important thing in life.</example>
            <example correction="to change">Any ideas on how <marker>to changes</marker> this?</example>
            <example correction="to integrate">Would you by chance have any example of how <marker>to integrated</marker> your API?</example>
        </rule>
        <rule id="THIS_TOOLS" name="This tools (These tools)"><!-- Similar to THIS_NNS but finds cases where the word after "this" is tagged as VBZ -->
            <antipattern><!-- I apologize for any sudden panic attacks this causes. -->
                <token chunk_re="E-NP.*" />
                <token>this</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- How much do you think this costs? -->
                <token postag="W.*" postag_regexp="yes" skip="10" />
                <token>this</token>
                <token>costs</token>
            </antipattern>
            <pattern>
                <token postag="VB.*" postag_regexp="yes" />
                <marker>
                    <token chunk="B-NP-plural">this</token>
                </marker>
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                    <exception regexp="yes">works|helps|st[ai]cks|jeans|guys|boys|girls|gals|folks|peeps|devs|friends</exception>
                    <exception postag="NN|NN:UN?|NNP|RB" postag_regexp="yes" />
                </token>
                <token postag="SENT_END" regexp="yes">\p{P}</token>
            </pattern>
            <message>Did you mean <suggestion>these</suggestion>?</message>
            <short>Agreement error</short>
            <example correction="these">Please uninstall <marker>this</marker> tools.</example>
            <example correction="these">Just follow <marker>this</marker> steps:</example>
            <example correction="these">Clearly, it is expensive and the state government cannot afford to bear <marker>this</marker> costs.</example>
            <example>Hope this helps.</example>
            <example>Any ideas for this guys?</example>
            <example>Sorry if this rambles.</example>
            <example>I can't carry this stone.</example>
            <example>Would you help me carry this upstairs?</example>
            <example>How much do you think this costs?</example>
            <example>I apologize for any sudden panic attacks this causes.</example>
        </rule>
        <rule id="THIS_TWO_MEN" name="this (these) two men">
            <antipattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="IN" />
                <token>this</token>
            </antipattern>
            <antipattern><!-- This 100 correlates with that. -->
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token>this</token>
                <token regexp="yes">\d+</token>
                <token postag="VBZ" />
                <token postag="IN|DT" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token regexp="yes">ago|earlier|later|old|young|after|before|prior|beforehand</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token regexp="yes" skip="3">and|&amp;|or</token>
                <token regexp="yes">ago|earlier|later|old|young|after|before|prior|beforehand</token>
            </antipattern>
            <antipattern>
                <token>days</token>
                <token>a</token>
                <token>week</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">work|fight</token>
                <token regexp="yes">on|for</token>
                <token>this</token>
                <token postag="CD" />
                <token regexp="yes">minutes|hours|days|weeks|months|years|decades|centuries</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">do</token>
                <token>this</token>
                <token postag="CD" />
                <token regexp="yes">minutes|hours|days|weeks|months|years|decades|centuries</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">any.+</token>
                <token>like</token>
                <token>this</token>
            </antipattern>
            <pattern>
                <marker>
                    <token chunk="B-NP-plural">this</token>
                </marker>
                <token postag="CD" chunk="I-NP-plural">
                    <exception regexp="yes">one|1</exception>
                </token>
                <token postag="NN.*|JJ.*" postag_regexp="yes" chunk="I-NP-plural" min="0" />
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                    <exception regexp="yes">ways|times|cannon</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>these</suggestion>?</message>
            <short>Agreement error</short>
            <example correction="These"><marker>This</marker> two men have nothing in common.</example>
            <example>You can do this 2 ways.</example>
            <example>Any update to this 24 days later?</example>
            <example>Tom does this six days a week.</example>
            <example>It does this 10 times per day.</example>
            <example>This 100 correlates with that.</example>
            <example>I've been doing this 30 years.</example>
            <example>He wrote this five days before the US invasion of Iraq.</example>
            <example>We've been working on this six months, so we have equipment lined up," said Fredericks, who searched worldwide for the parts he needed.</example>
            <example>This 25 mm cannon is a development of the GAU-12 carried by the USMC's AV-8B Harrier II.</example>
            <example type="triggers_error">This 1000 candles light ritual have really been good for me lately.</example>
        </rule>
        <rule id="WHAT_DID_VBD" name="What did happened (happen)?">
            <antipattern>
                <token regexp="yes">did|does</token>
                <token postag="JJ" chunk_re="B-NP-.*" />
                <token postag="NNP?S|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- What did SAT originally stand for? -->
                <token regexp="yes">[Dd]id|[Dd]oes</token>
                <token regexp="yes">[A-Z]{2,5}</token>
            </antipattern>
            <antipattern>
                <token postag="VBD" />
                <token>mean</token>
            </antipattern>
            <antipattern>
                <token postag="VBD" />
                <token>stand</token>
                <token>for</token>
            </antipattern>
            <pattern>
                <token regexp="yes">(what|who|when|which|where)(ever)?</token>
                <token regexp="yes">did|does</token>
                <token postag="RB" min="0">
                    <exception>so</exception>
                </token>
                <marker>
                    <token postag="VBD">
                        <exception postag="VB|NNP" postag_regexp="yes" />
                        <exception regexp="yes">weren?|wasn?</exception>
                    </token>
                </marker>
            </pattern>
            <message>The base form of the verb <suggestion><match no="4" postag="VB" /></suggestion> is expected after "do".</message>
            <short>Agreement error</short>
            <example correction="happen">What did <marker>happened</marker> there?</example>
            <example correction="happen">What didn't <marker>happened</marker> there?</example>
            <example>Before that date, those who did so were menaced and expelled from the group.</example>
            <example>I think the only one is my family who did was my sister, and she’s not a carrier.</example>
            <example>Why did related molecules become so big?</example>
            <example>What did SAT originally stand for?</example>
            <example>What does disabled mean?</example>
            <example>20 For everyone who does wicked things hates the light and does not come to the light, lest his works should be exposed.</example>
        </rule>
        <rule id="WHAT_DO_THAT" name="Who do (does) that?">
            <antipattern>
                <token>how</token>
                <token>come</token>
            </antipattern>
            <antipattern><!-- confusion of this/these (found by THIS_NNS) -->
                <token>this</token>
                <token chunk_re=".-NP-plural" />
            </antipattern>
            <pattern>
                <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                    <exception postag="IN|VB.*" postag_regexp="yes" />
                </token>
                <token regexp="yes">(what|who|when|which|where|how)(ever)?</token>
                <marker>
                    <token postag="VB" chunk="B-VP">
                        <exception postag="VBD|MD" postag_regexp="yes" />
                    </token>
                </marker>
                <token regexp="yes" skip="-1">this|that|t?here|now|when|if|once|before|after</token>
                <token postag="SENT_END">?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="3" postag="VBZ" /></suggestion>?</message>
            <short>Agreement error</short>
            <example correction="does">What <marker>do</marker> that mean?</example>
            <example>And what can that do?</example>
            <example>Why take that risk?</example>
            <example>How come this never happens to me?</example>
            <example>Since when have there been fireworks?</example>
        </rule>
        <rulegroup id="IS_RB_BE" name="He is never be (He has never been)">
            <antipattern>
                <token skip="2">'s</token>
                <token>been</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                        <token regexp="yes">is|'s</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 is \3</suggestion>
                <suggestion>\1 will \3 be</suggestion>
                <suggestion>\1 has \3 been</suggestion>
                <short>Agreement error</short>
                <example correction="She is never|She will never be|She has never been"><marker>She is never be</marker> able to do that.</example>
                <example>It’s also been weight-neutral which is a plus in my book.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it|I</token>
                        <token>was</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 was \3</suggestion>
                <suggestion>\1 had \3 been</suggestion>
                <short>Agreement error</short>
                <example correction="She was never|She had never been"><marker>She was never be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it|I</token>
                        <token regexp="yes">is|was</token>
                        <token>n't</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\5" appears to be incorrect in this context.</message>
                <suggestion>\1 \2\3 \4</suggestion>
                <suggestion>\1 won't \4 be</suggestion>
                <suggestion>\1 hadn't \4 been</suggestion>
                <short>Agreement error</short>
                <example correction="She wasn't ever|She won't ever be|She hadn't ever been"><marker>She wasn't ever be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">we|they|you</token>
                        <token regexp="yes">are|'re</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 are \3</suggestion>
                <suggestion>\1 will \3 be</suggestion>
                <suggestion>\1 have \3 been</suggestion>
                <example correction="They are never|They will never be|They have never been"><marker>They are never be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">we|they|you</token>
                        <token>are</token>
                        <token>n't</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\5" appears to be incorrect in this context.</message>
                <suggestion>\1 \2\3 \4</suggestion>
                <suggestion>\1 won't \4 be</suggestion>
                <suggestion>\1 haven't \4 been</suggestion>
                <example correction="They aren't ever|They won't ever be|They haven't ever been"><marker>They aren't ever be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">they|you|we</token>
                        <token>were</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 were \3</suggestion>
                <suggestion>\1 had \3 been</suggestion>
                <short>Agreement error</short>
                <example correction="They were never|They had never been"><marker>They were never be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">they|you|we</token>
                        <token>were</token>
                        <token>n't</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\5" appears to be incorrect in this context.</message>
                <suggestion>\1 weren't \4</suggestion>
                <suggestion>\1 hadn't \4 been</suggestion>
                <short>Agreement error</short>
                <example correction="They weren't ever|They hadn't ever been"><marker>They weren't ever be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>I</token>
                        <token regexp="yes">am|'m</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 am \3</suggestion>
                <suggestion>\1 will \3 be</suggestion>
                <suggestion>\1 have \3 been</suggestion>
                <short>Agreement error</short>
                <example correction="I am never|I will never be|I have never been"><marker>I'm never be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="NNP" />
                        <token regexp="yes">is|was</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 \2 \3</suggestion>
                <suggestion>\1 will \3 be</suggestion>
                <suggestion>\1 has \3 been</suggestion>
                <short>Agreement error</short>
                <example correction="Tom is never|Tom will never be|Tom has never been"><marker>Tom is never be</marker> able to do that.</example>
                <example correction="Mary is still|Mary will still be|Mary has still been">Tom is lucky that <marker>Mary is still be</marker> willing to do that.</example>
                <example>It’s also been weight-neutral which is a plus in my book.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="NNP" />
                        <token regexp="yes">is|was</token>
                        <token>n't</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\5" appears to be incorrect in this context.</message>
                <suggestion>\1 \2\3 \4</suggestion>
                <suggestion>\1 won't \4 be</suggestion>
                <suggestion>\1 hasn't \4 been</suggestion>
                <short>Agreement error</short>
                <example correction="Tom isn't ever|Tom won't ever be|Tom hasn't ever been"><marker>Tom isn't ever be</marker> able to do that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="NNPS" />
                        <token regexp="yes">are|were</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\4" appears to be incorrect in this context.</message>
                <suggestion>\1 \2 \3</suggestion>
                <suggestion>\1 will \3 be</suggestion>
                <suggestion>\1 have \3 been</suggestion>
                <short>Agreement error</short>
                <example correction="Germans are never|Germans will never be|Germans have never been"><marker>Germans are never be</marker> able to do that.</example>
                <example>It’s also been weight-neutral which is a plus in my book.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="NNPS" />
                        <token regexp="yes">are|were</token>
                        <token>n't</token>
                        <token regexp="yes" postag="RB">even|n?ever|now|maybe|perhaps|sometimes|n?either|soon|rather|indeed|just|also|still|often|always|almost|.*ly|not|again|already|somewhat</token>
                        <token regexp="yes">be|been</token>
                    </marker>
                    <token postag="JJ.*|PCT|VBG" postag_regexp="yes" />
                </pattern>
                <message>The verb "\5" appears to be incorrect in this context.</message>
                <suggestion>\1 \2\3 \4</suggestion>
                <suggestion>\1 won't \4 be</suggestion>
                <suggestion>\1 haven't \4 been</suggestion>
                <short>Agreement error</short>
                <example correction="Germans aren't ever|Germans won't ever be|Germans haven't ever been"><marker>Germans aren't ever be</marker> able to do that.</example>
                <example>It’s also been weight-neutral which is a plus in my book.</example>
            </rule>
        </rulegroup>
        <rule id="LADIES_AND_GENTLEMAN" name="ladies and gentleman (gentlemen)">
            <pattern>
                <token>ladies</token>
                <token regexp="yes">and|&amp;</token>
                <marker>
                    <token>gentleman</token>
                </marker>
            </pattern>
            <message>Did you mean the plural form <suggestion>gentlemen</suggestion>?</message>
            <short>Agreement error</short>
            <example correction="gentlemen">Ladies and <marker>gentleman</marker>, please stand up.</example>
        </rule>
        <rule id="IN_LOVED_WITH" name="In loved (love) with">
            <pattern>
                <token>in</token>
                <marker>
                    <token regexp="yes">loved|troubled</token>
                </marker>
                <token regexp="yes">with|for|because</token>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="(?i)d$" regexp_replace="" /></suggestion>?</message>
            <example correction="love">Layla had a breakup with the guy she was in <marker>loved</marker> with.</example>
        </rule>
        <rulegroup id="THERE_MISSING_VERB" name="There (are) a lot of …">
            <antipattern>
                <token regexp="yes" skip="5">t?here</token>
                <token inflected="yes" skip="5">be</token>
                <token regexp="yes">and|&amp;|,</token>
                <token regexp="yes">t?here</token>
            </antipattern>
            <rule>
                <antipattern><!-- And therefore the name thereof was called Babel, because there the language of the whole earth was confounded. -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VB[DP]?|MD" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|bunch|tons?|plenty|couple|number|few|handful</token>
                    <token>of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT|IN|PRP|DT|CC|TO|RB|W.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 are</suggestion>
                <example correction="There are"><marker>There</marker> a lot of different ways to explain this.</example>
                <example correction="There are"><marker>There</marker> a couple of things to think about.</example>
                <example correction="there are">Basically, <marker>there</marker> a bunch of approaches out there - it’s a question about what you’re wanting to do.</example>
                <example correction="There are"><marker>There</marker> a number of other options, and many combinations you can use.</example>
                <example correction="There are"><marker>There</marker> a couple of ways to do what you want.</example>
                <example>There a total of 6,864,201 students enrolled in 61,529 schools.</example>
                <example>Sami worked there a couple of nights.</example>
            </rule>
            <rule>
                <antipattern><!-- And therefore the name thereof was called Babel, because there the language of the whole earth was confounded. -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VB[DP]?|MD" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">think|hope|believe|doubt|assume</token>
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token min="0">a</token>
                    <token regexp="yes">lots?|bunch|tons?|plenty|couple|number|handful</token>
                    <token>of</token>
                    <token chunk="B-NP-plural" min="0" />
                    <token chunk="I-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT|IN|PRP|DT|CC|TO|RB|W.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 are</suggestion>
                <example correction="there are">I think <marker>there</marker> a lot of different ways to explain this.</example>
                <example>Sami worked there a couple of nights.</example>
            </rule>
            <rule>
                <antipattern><!-- plural chunks -->
                    <token>a</token>
                    <token regexp="yes">lot|total</token>
                </antipattern>
                <antipattern><!-- And therefore the name thereof was called Babel, because there the language of the whole earth was confounded. -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VB[ZD]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Same as above but also catches cases where chunking doesn't work -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token inflected="yes" regexp="yes">be|will|have|do|should|can</token>
                </antipattern>
                <antipattern><!-- The E2 mechanism also requires a base, but there the attack of the base and the elimination of the leaving group proceed simultaneously and produce no ionic intermediate.  -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token regexp="yes" skip="-1">
                        and|or|&amp;
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VBP" />
                </antipattern>
                <antipattern><!-- There the Jew, the Mahometan [Muslim], and the Christian transact together -->
                    <token regexp="yes">t?here</token>
                    <token regexp="yes" skip="5">the|an?</token>
                    <token>,</token>
                    <token regexp="yes" skip="5">the|an?</token>
                    <token>and</token>
                    <token regexp="yes" skip="3">the|an?</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token regexp="yes" chunk_re="[BI]-NP-singular">my|y?our|his|her|their|the|an?|this|another|any|no</token>
                    <token chunk="I-NP-singular" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-singular" postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT|IN|PRP|DT|CC|TO|RB|W.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is</suggestion>
                <example correction="Here is"><marker>Here</marker> my new song.</example><!-- could also be "hear" -->
                <example correction="Here is"><marker>Here</marker> a photo of a Gledopto RGB controller I have bought recently.</example>
                <example correction="there is">Do you know if <marker>there</marker> a way to configure this parameter?</example>
                <example correction="Here is"><marker>Here</marker> the sketch I am trying to use.</example>
                <example correction="Here is"><marker>Here</marker> a screenshot that show the request and the response.</example>
                <example correction="Here is"><marker>Here</marker> a link with a summary of the book.</example>
                <example correction="Here is"><marker>Here</marker> an image to exemplify what I’m looking for:</example>
                <example correction="here is">Oh, <marker>here</marker> a highlight for your day.</example>
                <example>Here the value parameter is required, but duration is optional because a default value has been set.</example>
                <example>There the pre-hook command is required.</example>
                <example>Here my question is:</example>
                <example>Here the issue lies as part of a dashboard widget.</example>
                <example>There the Russian Empire was defeated at the Battle of Friedland (14 June 1807).</example>
                <example>But here the similarity ends, because his current living conditions are far more luxurious.</example>
                <example>Here the challenge is that if a condition is still being violated, a new incident will be opened as soon as the old one closes, leading to more noise.</example>
                <example correction="Here is"><marker>Here</marker> my point: sometimes, choice is not sufficient.</example>
                <example>And therefore the name thereof was called Babel, because there the language of the whole earth was confounded.</example>
                <example>Here a group of players would collectively be better off if they could play Cooperate, but since Defect fares better each individual player has an incentive to play Defect.</example>
                <example>Here the social group of children is studied on its own terms, not as an derivative of adult social groups.</example>
                <example>There the apostle, overjoyed by Titus' success, wrote 2 Corinthians.</example>
                <example>There a total of 6,864,201 students enrolled in 61,529 schools.</example>
                <example>Here the emergence of Russell's paradox, and similar antinomies of naïve set theory raised the possibility that any such system could turn out to be inconsistent.</example>
                <example>Here the natural extension of to the hyperreals is still denoted.</example>
                <example>There the Jew, the Mahometan [Muslim], and the Christian transact together, as though they all professed the same religion.</example>
                <example correction="there is">I was wondering if <marker>there</marker> a method to stop data collection and being with a different app token.</example>
                <example>The E2 mechanism also requires a base, but there the attack of the base and the elimination of the leaving group proceed simultaneously and produce no ionic intermediate.</example>
            </rule>
            <rule>
                <antipattern><!-- plural chunks -->
                    <token>a</token>
                    <token regexp="yes">lot|total</token>
                </antipattern>
                <antipattern><!-- And therefore the name thereof was called Babel, because there the language of the whole earth was confounded. -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VB[ZD]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Same as above but also catches cases where chunking doesn't work -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token inflected="yes" regexp="yes">be|will|have|do|should|can</token>
                </antipattern>
                <antipattern><!-- The E2 mechanism also requires a base, but there the attack of the base and the elimination of the leaving group proceed simultaneously and produce no ionic intermediate.  -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token regexp="yes" skip="-1">
                        and|or|&amp;
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VBP" />
                </antipattern>
                <antipattern><!-- There the Jew, the Mahometan [Muslim], and the Christian transact together -->
                    <token regexp="yes">t?here</token>
                    <token regexp="yes" skip="5">the|an?</token>
                    <token>,</token>
                    <token regexp="yes" skip="5">the|an?</token>
                    <token>and</token>
                    <token regexp="yes" skip="3">the|an?</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">think|hope|believe|doubt|assume</token>
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token regexp="yes" chunk_re="[BI]-NP-singular">my|y?our|his|her|their|the|an?|this|another|any|no</token>
                    <token chunk="I-NP-singular" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-singular" postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT|IN|PRP|DT|CC|TO|RB|W.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is</suggestion>
                <example correction="there is">I hope <marker>there</marker> a new song soon.</example><!-- could also be "hear" -->
            </rule>
            <rule>
                <antipattern><!-- And therefore the name thereof was called Babel, because there the language of the whole earth was confounded. -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VB[DP]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Same as above but also catches cases where chunking doesn't work -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token inflected="yes" regexp="yes">be|will|have|do|should|can</token>
                </antipattern>
                <antipattern><!-- Here the authors touch on the central methodological issue. (incorrect chunking) -->
                    <token regexp="yes">t?here</token>
                    <token regexp="yes" chunk_re="[BI]-NP-plural">my|y?our|his|her|their|the|other|some|m?any</token>
                    <token chunk="I-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token postag="MD|VB[DP]?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- the spider waits for ... (waits is chunked as NP-plural) -->
                    <token>waits</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- the spider waits for ... (waits is chunked as NP-plural) -->
                    <token>sings</token>
                    <token regexp="yes">all|for|with</token>
                </antipattern>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token regexp="yes" chunk_re="[BI]-NP-plural">my|y?our|his|her|their|the|other|some|m?any|no|few</token>
                    <token chunk="I-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token postag="PCT|IN|PRP|DT|CC|TO|RB|W.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 are</suggestion>
                <example correction="Here are"><marker>Here</marker> my new songs.</example><!-- could also be "hear" -->
                <example correction="Here are"><marker>Here</marker> the specs of the Glim OY220-350.</example>
                <example correction="here are">And <marker>here</marker> the details when pairing using the classic app:</example>
                <example correction="Here are"><marker>Here</marker> some ideas:</example>
                <example correction="there are">The issue is with the use of legacy availability monitoring, and <marker>there</marker> some problems with those systems connecting via SSL.</example>
                <example correction="Here are"><marker>Here</marker> some files from our custom plugin, we followed the documentation.</example>
                <example correction="there are">Kay, Please review the attached data sheet and let me know if <marker>there</marker> any problems.</example>
                <example correction="there are">If <marker>there</marker> any questions, please don't hesitate to call me or Pat.</example>
                <example correction="Here are"><marker>Here</marker> some top achievers that we are representing.</example>
                <example>There the spider waits for small insects like butterflies and dragonflies to be trapped.</example>
                <example type="triggers_error">Here the road curves to the right.</example>
                <example>Looking at television, Collins (1990) finds that it is in English Canada that fear of cultural Americanization is most powerful, for there the attractions of the U.S. are strongest.</example>
                <example>Here the authors touch on the central methodological issue.</example>
                <example>There the stones either settle to the bottom or are washed back onto the beach.</example>
                <example>Here were shown / her arms, and here her chariot;</example>
                <example>Here THE BEST THINGS IN LIFE ARE...</example>
                <example>Here the cries of seagulls won't chase your sleep away.</example>
                <example>Here the numerological properties of the name are invoked, with its seven letters corresponding to the seven planets and its isopsephic value of 365 corresponding to the days of the year.</example>
            </rule>
            <rule>
                <antipattern><!-- And therefore the name thereof was called Babel, because there the language of the whole earth was confounded. -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token chunk="B-VP" postag="VB[DP]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Same as above but also catches cases where chunking doesn't work -->
                    <token regexp="yes" skip="-1">
                        t?here
                        <exception scope="next" regexp="yes">that|who|where|please|because|to</exception>
                        <exception scope="next" regexp="yes">:|;</exception>
                        <exception scope="next" postag="PRP" />
                    </token>
                    <token inflected="yes" regexp="yes">be|will|have|do|should|can</token>
                </antipattern>
                <antipattern><!-- Here the authors touch on the central methodological issue. (incorrect chunking) -->
                    <token regexp="yes">t?here</token>
                    <token regexp="yes" chunk_re="[BI]-NP-plural">my|y?our|his|her|their|the|other|some|m?any</token>
                    <token chunk="I-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token postag="MD|VB[DP]?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- the spider waits for ... (waits is chunked as NP-plural) -->
                    <token>waits</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- the spider waits for ... (waits is chunked as NP-plural) -->
                    <token>sings</token>
                    <token regexp="yes">all|for|with</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">think|hope|believe|doubt|assume</token>
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token regexp="yes" chunk_re="[BI]-NP-plural">my|y?our|his|her|their|the|other|some|m?any|no|few</token>
                    <token chunk="I-NP-plural" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token postag="PCT|IN|PRP|DT|CC|TO|RB|W.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 are</suggestion>
                <example correction="there are">I hope <marker>there</marker> some new songs soon.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">t?here</token>
                    </marker>
                    <token chunk="E-NP-singular" postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">who|that|which</token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\2 is</suggestion>
                <example correction="There is"><marker>There</marker> nobody who can take care.</example>
                <example correction="there is">But <marker>there</marker> nothing that says it can’t or doesn’t either.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_VB_VB_TO" name="redundant verb after verb">
            <antipattern>
                <token inflected="yes">do</token>
                <token>have</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token inflected="yes">have</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">you|we|they</token>
                <token postag="NNS" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes">
                        <exception postag="VB.*|IN" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">you|they|we|s?he|I</token>
                    <marker>
                        <token postag="VB[PDZ]?" postag_regexp="yes" />
                        <token regexp="yes" case_sensitive="yes">[Hh]as|[Hh]ave|[Hh]ad</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>One of these verbs is redundant, or a word is missing.</message>
                <suggestion>\3</suggestion>
                <suggestion>\4</suggestion>
                <example correction="think|have">I <marker>think have</marker> to do this again.</example>
                <example>You do have to pay attention to what you’re doing.</example>
                <example>... but we people have to change too.</example>
                <example>We wives have to stick together.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes">
                        <exception postag="VB.*|IN" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">you|they|we|s?he|I</token>
                    <marker>
                        <token postag="VB[PDZ]?" postag_regexp="yes" />
                        <token regexp="yes" case_sensitive="yes">[Ii]s|[Aa]m|[Ww]as|[Ww]ere|[Aa]re|[Dd]o|[Dd]id|[Dd]oes</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>One of these verbs is redundant, or a word is missing.</message>
                <suggestion>\3</suggestion>
                <example correction="aim">We <marker>aim is</marker> to double our revenue by the end of the year.</example>
                <example>You do have to pay attention to what you’re doing.</example>
                <example>... but we people have to change too.</example>
                <example>We wives have to stick together.</example>
                <example>it’s causing some error if I recall has to do with line 123 or 122</example>
            </rule>
        </rulegroup>
        <rule id="SEEMING_SEEMS" name="confusion of is seeming/seems">
            <antipattern>
                <token>am</token>
                <token>seeming</token>
                <token>like</token>
            </antipattern>
            <pattern>
                <marker>
                    <token inflected="yes">be</token>
                    <token>seeming</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag="VB.*">seem</match></suggestion>?</message>
            <example correction="seems">It <marker>is seeming</marker> that I will not be offered a raise.</example>
        </rule>
        <rulegroup id="BE_HAVENT" name="I'm haven't (I haven't)">
            <antipattern>
                <token regexp="yes">have|had|has|does|did|do|was|were|is|are</token>
                <token>n't</token>
                <token regexp="yes">it|they|you|we|s?he|I</token>
                <token postag="SENT_END">?</token>
            </antipattern>
            <rule>
                <antipattern><!-- confusion of is/it (caught by VBZ_VBD) -->
                    <token regexp="yes">no|yes|oh|yeah</token>
                    <token>is</token>
                    <token regexp="yes">was|is</token>
                    <token>n't</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NN.*|PRP" postag_regexp="yes">
                        <exception postag="MD|W.*|IN|CC" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token inflected="yes">be</token>
                        <token regexp="yes">have|had|has|does|did|do|was|were|is|are</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>It seems that one verb is redundant.</message>
                <suggestion>\4\5</suggestion>
                <suggestion>\3</suggestion>
                <example correction="hasn't|was">He <marker>was hasn't</marker> there.</example>
            </rule>
            <rule><!-- same as above but with adverb -->
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NN.*|PRP" postag_regexp="yes">
                        <exception postag="MD|W.*|IN|CC|UH" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token inflected="yes">be</token>
                        <token postag="RB">
                            <exception postag="JJ.*" postag_regexp="yes" regexp="yes">(?!just$).+</exception>
                            <exception>why</exception>
                            <exception postag="IN" />
                        </token>
                        <token regexp="yes">have|had|has|does|did|do|was|were|is|are</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>It seems that one verb is redundant.</message>
                <suggestion>\4 \5\6</suggestion>
                <suggestion>\3 \4</suggestion>
                <example correction="obviously wasn't|was obviously">He <marker>was obviously wasn't</marker> there.</example>
                <example>I mean, it is isn’t it?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NN.*|PRP" postag_regexp="yes">
                        <exception postag="MD|W.*|IN|CC" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">was|were|is|are</token>
                        <token>n't</token>
                        <token regexp="yes">have|had|has|does|did|do|was|were|is|are</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>It seems that one verb is redundant.</message>
                <suggestion>\5\4</suggestion>
                <suggestion>\3\4</suggestion>
                <example correction="hasn't|wasn't">He <marker>wasn't hasn't</marker> there.</example>
            </rule>
            <rule><!-- same as above but with adverb -->
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NN.*|PRP" postag_regexp="yes">
                        <exception postag="MD|W.*|IN|CC" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">was|were|is|are</token>
                        <token>n't</token>
                        <token postag="RB">
                            <exception postag="JJ.*" postag_regexp="yes" regexp="yes">(?!just$).+</exception>
                            <exception postag="IN" />
                        </token>
                        <token regexp="yes">have|had|has|does|did|do|was|were|is|are</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>It seems that one verb is redundant.</message>
                <suggestion>\5 \6\7</suggestion>
                <suggestion>\3\4 \5</suggestion>
                <example correction="obviously wasn't|wasn't obviously">He <marker>wasn't obviously wasn't</marker> there.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|we|they|you|it|I</token>
                    <token inflected="yes" spacebefore="no">be</token>
                    <token regexp="yes">have|had|has|does|did|do</token>
                    <token regexp="yes">n't|not</token>
                </pattern>
                <message>One of these verbs is redundant, or a word is missing.</message>
                <suggestion>\1 \3\4</suggestion>
                <suggestion>\1\2</suggestion>
                <example correction="I haven't|I'm"><marker>I'm haven't</marker> been able to reproduce the issue.</example>
                <example correction="she hasn't|she's">That's why <marker>she's hasn't</marker> been there.</example>
            </rule>
            <rule><!-- same as above but with adverb -->
                <pattern>
                    <token regexp="yes">s?he|we|they|you|it|I</token>
                    <token inflected="yes" spacebefore="no">be</token>
                    <token postag="RB">
                        <exception postag="JJ.*" postag_regexp="yes" regexp="yes">(?!just$).+</exception>
                        <exception postag="IN" />
                    </token>
                    <token regexp="yes">have|had|has|does|did|do</token>
                    <token regexp="yes">n't|not</token>
                </pattern>
                <message>One of these verbs is redundant, or a word is missing.</message>
                <suggestion>\1 \3 \4\5</suggestion>
                <suggestion>\1\2 \3</suggestion>
                <example correction="It just doesn't|It's just"><marker>It's just doesn't</marker> seem right.</example>
                <example>I don’t know much about bipolar disorder, but just because it’s uncommon doesn’t mean you are wrong or defective in some way.</example>
            </rule>
        </rulegroup>
        <rule id="NONE_THE_LESS" name="none the less (nonetheless)">
            <pattern>
                <token regexp="yes">none?</token>
                <token>the</token>
                <token>less</token>
            </pattern>
            <message>Did you mean the adverbial phrase <suggestion>nonetheless</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/nonetheless</url>
            <example correction="nonetheless">It is <marker>non the less</marker> true.</example>
        </rule>
        <rulegroup id="MISSING_TO_BETWEEN_BE_AND_VB" name="Missing 'to': It's possible do it">
            <antipattern>
                <token skip="6" regexp="yes">(who|[wt]hat|when|where|which|how|why)(ever)?|if|wh?ether|there|thus|after|before|as</token>
                <token inflected="yes">be</token>
                <token postag="RB.*" postag_regexp="yes" min="0" />
                <token postag="JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "ye" is tagged as JJ -->
                <token inflected="yes">be</token>
                <token>ye</token>
            </antipattern>
            <antipattern>
                <token>thank</token>
                <token regexp="yes">yo?u</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token postag="JJ.*" postag_regexp="yes">
                    <exception>very</exception>
                </token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token>please</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- needs to be compounded, different rule -->
                <token>non</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- I was like come on ... -->
                <token inflected="yes">be</token>
                <token>like</token>
                <token>come</token>
                <token>on</token>
            </antipattern>
            <antipattern><!-- There can be less need for self-discipline to exercise. -->
                <token inflected="yes">be</token>
                <token regexp="yes">more|less</token>
                <token postag="JJ|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- The job is high profile -->
                <token>high</token>
                <token>profile</token>
            </antipattern>
            <antipattern><!-- Kansas is smack dab in the middle of the US. -->
                <token>smack</token>
                <token>dab</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/dead_set -->
                <token>dead</token>
                <token>set</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- The first was Dental Connect in November 1999. -->
                <token regexp="yes">is|'s|was|were|be|are|'re</token>
                <token regexp="yes">[A-Z].*</token>
                <token regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern><!-- Other antibiotics proven to be effective include cotrimoxazole, ... -->
                <token chunk_re="E-NP-.*" />
                <token inflected="yes" min="0">have</token>
                <token postag="VB[DN]" postag_regexp="yes" />
                <token>to</token>
                <token>be</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern><!-- is metal foil the best? -->
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token regexp="yes">is|are|was|were</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="DT" />
            </antipattern>
            <antipattern><!-- Does being rich make you happy? -->
                <token regexp="yes">does|did|will|[cw]ould|should|can</token>
                <token>being</token>
                <token postag="JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>frozen</token>
                <token>shut</token>
            </antipattern>
            <antipattern>
                <token>vanilla</token>
                <token>extract</token>
            </antipattern>
            <antipattern><!-- You have been granted read access to the TECO portion of the FLOASIS site. -->
                <token regexp="yes">read|write</token>
                <token>access</token>
            </antipattern>
            <antipattern><!-- Incorrect chunking: They believed what was important was spiritual grace itself. -->
                <token>spiritual</token>
                <token>grace</token>
            </antipattern>
            <antipattern>
                <token>let</token>
                <token>alone</token>
            </antipattern>
            <antipattern><!-- Some of the current power projects we are developing have COD date in 2002 to 2004. -->
                <token chunk_re="E-NP-.*" />
                <token postag="PRP|NNP" postag_regexp="yes" skip="1" />
                <token inflected="yes">be</token>
                <token postag="VBG" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- one's will -->
                <token regexp="yes">&apostrophe;</token>
                <token postag="POS">s</token>
            </antipattern>
            <antipattern><!-- confusion of because/cause -->
                <token postag="JJ" />
                <token>cause</token>
                <token>its</token>
            </antipattern>
            <antipattern><!-- confusion of because/cause -->
                <token postag="JJ" />
                <token>cause</token>
                <token regexp="yes">it|s?he|we|they|you|I</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I'm sorry go ahead. -->
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>sorry</token>
            </antipattern>
            <antipattern><!-- No it is worse leave me alone -->
                <token postag="JJ" />
                <token skip="1">leave</token>
                <token>alone</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token postag="JJ" />
                <token>be</token>
                <token postag="JJ" />
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token chunk="B-ADJP" postag="JJ.*" postag_regexp="yes">
                        <exception postag="IN|RB" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token chunk_re="B-VP.*" postag="VB">
                            <exception regexp="yes">please|felt|found|can|will|&uncommon_verbs;</exception>
                            <exception postag="IN" />
                        </token>
                    </marker>
                </pattern>
                <message>It seems that "to" is missing before the verb.</message>
                <suggestion>to \3</suggestion>
                <example correction="to hang">It's cool <marker>hang</marker> out with my friends.</example>
                <example correction="to hear">Things are great <marker>hear</marker>.</example>
                <example>Can you verify if this is true please?</example>
                <example>This is fantastic thank you.</example>
                <example>I say, “Bonnie, me girl, are ye hurt?”</example>
                <example>The teams I’ve been on have always been on the lookout.</example>
                <example>For example if callback is undefined add then and catch handlers to the return value of the function called if defined.</example>
                <example>Health indicators are likely include in the national statistics, and health facilities respond to various level of administration (local, regional, national, federal).</example>
                <example>To determine whether an egg is fresh place it in a pan of cool, > salted water.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                    <token chunk_re="I-VP" postag="JJ">
                        <exception postag="IN|RB" postag_regexp="yes" />
                        <exception>double</exception>
                    </token>
                    <marker>
                        <token chunk_re="I-VP.*" postag="VB">
                            <exception regexp="yes">please|felt|found|can|will|&uncommon_verbs;</exception>
                            <exception postag="IN" />
                        </token>
                    </marker>
                </pattern>
                <message>It seems that "to" is missing before the verb.</message>
                <suggestion>to \4</suggestion>
                <example correction="to hang">It's really cool <marker>hang</marker> out with my friends.</example>
                <example correction="to get">It's easy <marker>get</marker> feedback.</example>
                <example correction="to shift">It looks like it might be possible <marker>shift</marker> the line a bit into either direction by exploiting the formula.</example>
                <example correction="to shut">With the war in Europe, many European jewelry firms were forced <marker>shut</marker> down.</example>
                <example correction="to renew">Wilhelm's government was unwilling <marker>renew</marker> the treaty.</example>
                <example correction="to sit">If you have a couple of hours I will be happy <marker>sit</marker> down and explain to you the lease accounting rules.</example>
                <example correction="to become">Under Jiang Zemin private entrepreneurs were allowed <marker>become</marker> party members.</example>
                <example>Button 2 is double tap down so do the same with the other routine.</example>
                <example>Can you verify if this is true please?</example>
                <example>This is fantastic thank you.</example>
                <example>It's frozen shut.</example>
                <example>Some of the current power projects we are developing have COD date in 2002 to 2004.</example>
                <example>I say, “Bonnie, me girl, are ye hurt?”</example>
                <example>The teams I’ve been on have always been on the lookout.</example>
                <example>It turns out unicorn is not starting up properly</example>
                <example>I was like come on give me a new cool weapon.</example>
                <example>For example if callback is undefined add then and catch handlers to the return value of the function called if defined.</example>
                <example>Health indicators are likely include in the national statistics, and health facilities respond to various level of administration (local, regional, national, federal).</example>
                <example>Since cycling can be used for the practical purpose of transportation, there can be less need for self-discipline to exercise.</example>
                <example>In marriage there should be equal give and take.</example>
                <example>Confederal constitutions are rare, and there is often dispute to whether so-called "confederal" states are actually federal.</example>
                <example>The job is high profile as you will be working for a Houston family (old money).</example>
                <example>The trial ranged widely over the whether there was just cause for war and not simply the prisoner issue.</example>
                <example>It was team eclipse that killed it.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="RB|VB.*|IN" postag_regexp="yes" />
                        <exception regexp="yes">more|less</exception>
                    </token>
                    <marker>
                        <token postag="VB">
                            <exception postag="NN.*|IN|UH|MD" postag_regexp="yes" />
                            <exception regexp="yes">please|felt|found|&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token chunk_re="B-PP|B-NP.*|B-PRT" postag_regexp="yes" />
                </pattern>
                <message>It seems that "to" is missing before the verb.</message>
                <suggestion>to \4</suggestion>
                <example correction="to calculate">It's perfectly possible <marker>calculate</marker> with Roman numerals.</example>
                <example correction="to have">I thought it would be better <marker>have</marker> the Cleburne desk at zero, than to leave a balance.</example>
                <example correction="to teach">I'd be happy <marker>teach</marker> you German free of charge.</example>
                <example>You'd be better off staying home.</example>
                <example>This is why I think continue or quit is more appropriate in this case.</example>
                <example>People who want to be culturally respectful refer to the institution as D-Q University.</example>
                <example>The trains are less frequent at night time.</example>
                <example>Any feedback would be great thank you.</example>
                <example>It must be dead-on correct for the engine to run correctly.</example>
                <example>I still think it would be most appropriate for ENA to reimburse us</example>
                <example>I’ve just been crazy busy with work</example>
                <example>Please review the following information, if anything is incorrect please contact customercare@fitrx.com.</example>
                <example>I have been real busy at work and did not mail your gift until Friday.</example>
                <example>You are much more mature than I!</example>
                <example>On the other issue, we think JPY1,000,000 would be far more appropriate than JPY1,000,000,000.</example>
                <example>This model is even more approximate than the model of hydrogen, because it treats the electrons in each shell as non-interacting.</example>
                <example>The acquisition is Dentalxchange.com's second; the first was Dental Connect in November 1999.</example>
                <example>Teb, can you have whoever is responsible confirm for me what TW's last settled equity rate is.</example>
                <example>However, this route was far more direct than one through the Yellowhead Pass and saved hours for both passengers and freight.</example>
                <example>Other antibiotics proven to be effective include cotrimoxazole, erythromycin, tetracycline, chloramphenicol, and furazolidone.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="RB|VB.*|IN" postag_regexp="yes" />
                        <exception regexp="yes">more|less|one</exception>
                    </token>
                    <marker>
                        <token postag="VB">
                            <exception regexp="yes">please|&uncommon_verbs;</exception>
                            <exception postag="IN" />
                        </token>
                    </marker>
                    <token chunk_re="B-NP.*" postag="DT">
                        <exception>that</exception>
                    </token>
                    <token chunk_re="[EI]-NP.*" postag="NN.*|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>It seems that "to" is missing before the verb.</message>
                <suggestion>to \4</suggestion>
                <example correction="to book">I don't think it is very expensive <marker>book</marker> a flight.</example>
                <example correction="to extract">No indeed, it would be easier <marker>extract</marker> a tooth from him than a coin in a honest matter.</example>
                <example>I was on vacation the last 10 days and didn’t have access to a trap bar.</example>
                <example>I wish the new ones worked the same way, but the new ones seem to be useless junk that fail to detect motion.</example>
                <example>There is little doubt that nearly all medical records will become electronic this decade.</example>
                <example>People who are not careful make many mistakes.</example>
                <example>Is metal foil the best?</example>
            </rule>
            <rule><!-- It's not recommendable go there. -->
                <antipattern>
                    <token>'s</token>
                    <token>individual</token>
                    <token>will</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                     <token postag="RB" min="0">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                    <token postag="JJ">
                        <exception postag="RB|VB.*|IN|NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token chunk="B-VP" postag="VB">
                            <exception regexp="yes">please|&uncommon_verbs;</exception>
                            <exception postag="IN" />
                        </token>
                    </marker>
                </pattern>
                <message>It seems that "to" is missing before the verb.</message>
                <suggestion>to \4</suggestion>
                <example correction="to go">It's not recommendable <marker>go</marker> there at night.</example>
                <example>Due to surface plant litter, forests that are undisturbed have a minimal rate of erosion.</example>
                <example>Is metal foil the best?</example>
                <example>You are awesome thank you so much!</example>
                <example>Does being rich make you happy?</example>
                <example>You have been granted read access to the TECO portion of the FLOASIS site.</example>
                <example>I'm sorry go ahead.</example>
                <example>That is so stupid leave me alone.</example>
            </rule>
        </rulegroup>
        <rule id="HER_S" name="her's (here's)">
            <pattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes">
                    <exception regexp="yes">for|provided</exception>
                </token>
                <marker>
                    <token>her</token>
                    <token>'s</token>
                </marker>
                <token postag="DT|W.*|PRP\$" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>here\3</suggestion>?</message>
            <example correction="Here's"><marker>Her's</marker> our new app.</example>
        </rule>
        <rulegroup id="THEIR_S" name="their's (theirs)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Tt]heir</token>
                        <token>'s</token>
                    </marker>
                    <token regexp="yes">the|no|an?|my|y?our|his|her|their|th[oe]se|another|enough</token>
                </pattern>
                <message>Did you mean <suggestion>there\2</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="There's"><marker>Their's</marker> no way back.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Tt]heir|[Hh]er|[Oo]ur|[Yy]our</token>
                    <token>'s</token>
                </pattern>
                <message>The possessive pronoun <suggestion>\1s</suggestion> is spelled without an apostrophe.</message>
                <short>Possible typo</short>
                <example correction="theirs">The tool belongs to them, it is <marker>their's</marker>.</example>
                <example correction="yours">Thanks for <marker>your’s</marker> and Lucy’s help.</example>
                <example>HER's new album is coming out in August.</example>
            </rule>
        </rulegroup>
        <rule id="SOFTWARES" name="softwares → pieces of software">
            <pattern>
                <token>softwares</token>
            </pattern>
            <message>In standard English, the noun "\1" is uncountable. Consider using an alternative.</message>
            <suggestion>pieces of software</suggestion>
            <suggestion>software programs</suggestion>
            <suggestion>software products</suggestion>
            <suggestion>software packages</suggestion>
            <url>https://en.wiktionary.org/wiki/softwares</url>
            <short>Nonstandard word</short>
            <example correction="pieces of software|software programs|software products|software packages">He had many <marker>softwares</marker> installed on his computer.</example>
        </rule>
        <rule id="HARDWARES" name="hardwares → pieces of hardware">
            <pattern>
                <token>hardwares</token>
            </pattern>
            <message>In standard English, the noun "\1" is uncountable. Consider using an alternative.</message>
            <suggestion>pieces of hardware</suggestion>
            <suggestion>hardware products</suggestion>
            <suggestion>hardware modules</suggestion>
            <short>Nonstandard word</short>
            <example correction="pieces of hardware|hardware products|hardware modules">The PC had many <marker>hardwares</marker> integrated.</example>
        </rule>
        <rule id="HE_VE" name="He've (He has)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token spacebefore="no">'ve</token>
            </pattern>
            <message>The correct form of "have" after the third-person singular pronoun is "has".</message>
            <suggestion>\1 has</suggestion>
            <suggestion>\1's</suggestion>
            <short>Agreement error</short>
            <example correction="She has|She's"><marker>She've</marker> attended the event.</example>
        </rule>
        <rule id="HE_D_VBD" name="He'd wrote (write / written)">
            <pattern>
                <token regexp="yes">s?he|it|they|we|I|you</token>
                <token spacebefore="no">'d</token>
                <token postag="RB" min="0" />
                <marker>
                    <token postag="VB[DGZ]" postag_regexp="yes">
                        <exception postag="VB[NP]?" postag_regexp="yes" />
                        <exception postag="NNP?S" postag_regexp="yes" />
                    </token>
                </marker>
            </pattern>
            <message>The verb form seems incorrect. The '\1\2' contraction requires either the past participle ("\1 had gone") or the base form ("\1 would go").</message>
            <suggestion><match no="4" postag="VB" /></suggestion>
            <suggestion><match no="4" postag="VBN" /></suggestion>
            <short>Agreement error</short>
            <example correction="write|written">He'd <marker>wrote</marker> a book.</example>
        </rule>
        <rule id="GINI_COEFFICIENT" name="gini (Gini) coefficient">
            <pattern>
                <token case_sensitive="yes">gini</token>
                <token>coefficient</token>
            </pattern>
            <message>Did you mean <suggestion>Gini \2</suggestion> (= statistical measure, "Gini" needs to be capitalized)?</message>
            <url>https://www.lexico.com/definition/gini</url>
            <example correction="Gini coefficient">An increase in the <marker>gini coefficient</marker> suggests that income is becoming more unevenly distributed.</example>
        </rule>
        <rule id="HOMO_ERECTUS" name="homo (Homo) erectus">
            <pattern>
                <token case_sensitive="yes">homo</token>
                <token regexp="yes">err?ectus</token>
            </pattern>
            <message>Did you mean <suggestion>Homo erectus</suggestion> (= extinct hominid, "Homo" needs to be capitalized)?</message>
            <url>https://www.merriam-webster.com/dictionary/Homo%20erectus</url>
            <example correction="Homo erectus">The <marker>homo erectus</marker> is an extinct species of archaic human.</example>
        </rule>
        <rule id="HOMO_SAPIENS" name="homo (Homo) sapiens">
            <pattern>
                <token case_sensitive="yes">homo</token>
                <token regexp="yes">sapiens?</token>
            </pattern>
            <message>Did you mean <suggestion>Homo sapiens</suggestion> (= primate species, "Homo" needs to be capitalized)?</message>
            <url>https://www.merriam-webster.com/dictionary/Homo%20sapiens</url>
            <example correction="Homo sapiens">The <marker>homo sapiens</marker> is a primate species.</example>
        </rule>
        <rule id="MOLOTOV_COCKTAIL" name="molotov (Molotov) cocktail">
            <pattern>
                <token case_sensitive="yes">molotov</token>
                <token regexp="yes">cocktails?</token>
            </pattern>
            <message>Did you mean <suggestion>Molotov \2</suggestion> (= crude bomb, "Molotov" needs to be capitalized)?</message>
            <url>https://www.merriam-webster.com/dictionary/Molotov%20cocktail</url>
            <example correction="Molotov cocktail">He threw a <marker>molotov cocktail</marker>.</example>
        </rule>
        <rule id="MD_WON_T" name="I would won't (want)">
            <antipattern>
                <token regexp="yes" skip="-1">who|what|when|that|which</token>
                <token>wo</token>
                <token>n't</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token>wo</token>
                    <token spacebefore="no">n't</token>
                </marker>
            </pattern>
            <message>You used two consecutive modal verbs. Please check if one can be removed or is misspelled.</message>
            <example correction="">I <marker>would ideally won't</marker> Apple to support my app.</example>
            <example correction="">If we don't leave soon, we<marker>'ll won't</marker> get there in time.</example>
            <example>Being able to just withdraw what is needed to catch up from those who have more than they’ll ever need won’t work with this game.</example>
        </rule>
        <rulegroup id="AGREEMENT_SENT_START_2" name="Possible agreement error: plural noun + singular verb">
            <antipattern case_sensitive="yes">
                <token regexp="yes" chunk="B-NP-plural">[A-Z].*</token>
                <token regexp="yes" chunk="E-NP-plural">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural" regexp="yes">savings|headquarters|arts|maths</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- And weather alerts is one of these features.-->
                <token chunk="E-NP-plural" />
                <token>is</token>
                <token>one</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- Insights alerts is also a much awaited feature. -->
                <token chunk="E-NP-plural" />
                <token>is</token>
                <token postag="RB" min="0" max="2" />
                <token regexp="yes">an?|one</token>
            </antipattern>
            <antipattern>
                <token>star</token>
                <token>wars</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural" />
                <token regexp="yes">t?here</token>
            </antipattern>
            <antipattern><!-- Private practices is the wrong word. -->
                <token chunk="E-NP-plural" />
                <token>is</token>
                <token chunk="B-NP-singular" postag="DT" />
            </antipattern>
            <antipattern>
                <token>backwards</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- Tom answers then says ... -->
                <token postag="VBZ" chunk="E-NP-plural" />
                <token>then</token>
                <token postag="VBZ" chunk="B-VP" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="UH|RB|CC" postag_regexp="yes" min="0" />
                    <token regexp="yes" min="0">,|–|-</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk="B-NP-plural">
                        <exception postag="VBG" />
                    </token>
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                    <token postag="RB" chunk="B-ADVP" min="0" />
                    <marker>
                        <token postag="VBZ" chunk="B-VP">is</token>
                    </marker>
                </pattern>
                <message>It seems that the correct verb form here is <suggestion>are</suggestion>.</message>
                <example correction="are">Grammatical errors <marker>is</marker> bad.</example>
                <example>Writing books is hard.</example>
                <example>10 hours is a lot!</example>
                <example>Ten years is a long time to wait.</example>
                <example>Daylight savings is over today.</example>
                <example>Insights alerts is also a much awaited feature.</example>
                <example>Four miles is a good distance.</example>
                <example>Hey guys there is room for everyone.</example>
                <example>Private practices is the wrong word.</example>
                <example>Good fruit is scarce in winter, and costs a lot.</example>
                <example>However, less data is available for other dietary antioxidants, such as vitamin E, or the polyphenols.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes"><!-- #4488 https://en.wikipedia.org/wiki/Bell_hooks -->
                    <token postag="SENT_START"/>
                    <token>bell</token>
                    <token>hooks</token>
                </antipattern>
                <antipattern><!-- #4488 Do not give incorrect suggestions: Grammatical errors not makes -->
                    <token postag="SENT_START"/>
                    <token postag_regexp="yes" postag="JJ.*"/>
                    <token postag="NNS"/>
                    <token>not</token>
                    <token postag="VBZ" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- #4488 Do not give incorrect suggestions: Bell hooks doesn't the correct type -->
                    <token postag="SENT_START"/>
                    <token/>
                    <token postag="NNS"/>
                    <token>does</token>
                    <token regexp="yes">not|n't</token>
                    <token chunk_re="B-NP-(singular|plural)"/>
                </antipattern>
                <antipattern><!-- Caesium forms alloys with the other alkali metals -->
                    <token postag="SENT_START" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token postag="VBZ" />
                    <token postag="NNS" />
                    <token postag="IN" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="UH|RB|CC" postag_regexp="yes" min="0" />
                    <token regexp="yes" min="0">,|–|-</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk="B-NP-plural">
                        <exception postag="VBG" />
                    </token>
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                        <exception regexp="yes">physics|sports</exception>
                    </token>
                    <token postag="RB" chunk="B-ADVP" min="0" />
                    <marker>
                        <token postag="VBZ" chunk="B-VP" />
                    </marker>
                </pattern>
                <message>It seems that the correct verb form here is <suggestion><match no="7" postag="VB" /></suggestion>.</message>
                <example correction="make">Grammatical errors always <marker>makes</marker> your text look bad.</example>
                <example correction="make">Normally Grammatical errors always <marker>makes</marker> your text look bad.</example>
                <example correction="have">Heat rates <marker>has</marker> no impact on numbers.</example>
                <example correction="do">Additional resources <marker>does</marker> not solve the problem and in itself is limiting.</example>
                <example correction="hurt">Limited payments really <marker>hurts</marker> the credibility and effectiveness of the programs we have all worked so hard to develop.</example>
                <example correction="do">Bell hooks <marker>does</marker>n't preclude the use of other types of hooks.</example><!-- #4488 -->
                <example correction="forecast">Industry sources <marker>forecasts</marker> a 70,000 to 80,000 head run for Saturday slaughter.</example>
                <example>Unaggregated data is collected.</example>
                <example>Star Wars approves.</example>
                <example>Soft Tabs is on.</example>
                <example>Writing books is hard.</example>
                <example>Training legs is necessary.</example>
                <example>My horse likes apples.</example>
                <example>Caesium forms alloys with the other alkali metals, as well as with gold, and amalgams with mercury.</example>
                <example>Tom answers then says, "Who is responsible for this"?</example>
                <example>Grammatical errors not makes your text easy to read.</example><!-- #4488 do not give an incorrect suggestion -->
                <example>bell hooks doesn't capitalise her pen name.</example><!-- #4488 -->
                <example>Bell hooks doesn't the correct type; you need claw hooks.</example><!-- #4488 do not give an incorrect suggestion -->
            </rule>
        </rulegroup>
        <rule id="A_TO" name="a to">
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>to</token>
                <token min="0">the</token>
                <token regexp="yes">[a-z]</token>
            </antipattern>
            <antipattern>
                <token>from</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token>a</token>
                <token>to</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token regexp="yes">[a-z]</token>
            </antipattern>
            <antipattern>
                <token skip="2">to</token>
                <token regexp="yes">infinitives?|prepositions?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">press|click|tap</token>
                <token min="0">on</token>
                <token>a</token>
                <token>to</token>
            </antipattern>
            <pattern>
                <token regexp="yes" case_sensitive="yes" spacebefore="yes">an?</token>
                <token regexp="yes" case_sensitive="yes">[Tt]o</token>
            </pattern>
            <message>There seems to be an issue here. One of these two words seems to be unnecessary or misspelled.</message>
            <example correction="">I wanted <marker>a to</marker> talk to you.</example>
            <example>I don’t remember exactly how I got from point a to point b.</example>
            <example>Some verbs can take either a to+infinitive construction or a gerund construction.</example>
        </rule>
        <rulegroup id="HAVE_HAVE" name="duplicate 'have'">
            <rule>
                <antipattern><!-- She've (different error) -->
                    <token regexp="yes">s?he|it</token>
                    <token>'ve</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">I|you|we|they|s?he|it</token>
                        <token case_sensitive="yes" regexp="yes">'ve|'d</token>
                        <token regexp="yes">have|has|had</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>The verb "have" is duplicated.</message>
                <suggestion>\1\2</suggestion>
                <suggestion>\1 \3\4</suggestion>
                <example correction="I've|I haven't"><marker>I've haven't</marker> checked yet.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">I|you|we|they</token>
                        <token case_sensitive="yes">'ve</token>
                        <token case_sensitive="yes" regexp="yes">[Hh]ave</token>
                    </marker>
                </pattern>
                <message>The verb "have" is duplicated.</message>
                <suggestion>\1\2</suggestion>
                <suggestion>\1 \3</suggestion>
                <example correction="I've|I have"><marker>I've have</marker> no idea.</example>
            </rule>
        </rulegroup>

        <rulegroup id="BORN_IN" name="born in (on) 10th of June">
            <rule>
                <pattern>
                    <marker>
                        <token>born</token>
                        <token regexp="yes">in|at</token>
                    </marker>
                    <token min="0">the</token>
                    <token regexp="yes">\d+(th|nd|st|rd)|first|second|third</token>
                    <token min="0">of</token>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                </pattern>
                <message>The correct preposition in this context is "on".</message>
                <suggestion>\1 on</suggestion>
                <example correction="born on">I was <marker>born in</marker> 10th of June.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>born</token>
                        <token regexp="yes">in|at</token>
                    </marker>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                    <token regexp="yes">\d+(th|nd|st|rd)</token>
                </pattern>
                <message>The correct preposition in this context is "on".</message>
                <suggestion>\1 on</suggestion>
                <example correction="born on">I was <marker>born in</marker> June 10th.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_WEEKDAY" name="in (on) Monday">
            <url>https://dictionary.cambridge.org/grammar/british-grammar/at-on-and-in-time</url>
            <antipattern>
                <token>all</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">come|fly|sleep</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&weekdays;|morning|evening|night|afternoon|noon</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes" skip="4">take|weigh|tune|drive|check|file|throw|bring</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">interested|interest</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes" skip="1">look|stare</token>
                <token>at</token>
            </antipattern>
            <antipattern>
                <token>in</token>
                <token>this</token>
                <token skip="6" regexp="yes">&weekdays;</token>
                <token regexp="yes">video|photo|presentation|meeting</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token skip="2">in</token>
                <token>through</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">when|as|if</token>
                <token postag="NNP|PRP" postag_regexp="yes" />
                <token regexp="yes">gets?|got|back</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">turn|lock|log</token>
                <token regexp="yes" min="0">that|this|them|it</token>
                <token>in</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ii]n|[Aa]t</token>
                    <token min="0" regexp="yes">this|next|upcoming|last</token>
                    <token regexp="yes" chunk="E-NP-singular">&weekdays;</token>
                </pattern>
                <message>The correct preposition in this context is "on".</message>
                <suggestion>on \2 \3</suggestion>
                <example correction="on Monday">I work <marker>in Monday</marker>.</example>
                <example correction="on Tuesday">The Committee will meet in person <marker>in Tuesday</marker> in SF starting at 11.</example>
                <example correction="On this Saturday"><marker>At this Saturday</marker> I'm having an exam.</example>
                <example>We can continue the discussion in Tuesday's conference call.</example>
                <example>I won't be in Friday, Saturday and Sunday.</example>
                <example>I will be in Monday through Thursday.</example>
                <example>Commerzbank weighed in Wednesday, saying Enron's viability is in doubt.</example>
                <example>I was looking at Wednesday, November 14th.</example>
                <example>In this Tuesday, June 19, 2012 photo, Maria Darrow, of Falmouth, Maine ...</example>
                <example>I will turn this in FRIDAY.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ii]n|[Aa]t</token>
                    <token min="0" regexp="yes">this|next|upcoming|last</token>
                    <token regexp="yes">&weekdays;</token>
                    <token regexp="yes" chunk="E-NP-singular">morning|evening|night|afternoon|noon</token>
                </pattern>
                <message>The correct preposition in this context is "on".</message>
                <suggestion>on \2 \3 \4</suggestion>
                <example correction="on Monday morning">I work <marker>in Monday morning</marker>.</example>
                <example correction="on next Friday night">I will be back <marker>in next Friday night</marker> for sure.</example>
                <example>George was very impressive in Monday night's big win over St. Louis.</example>
                <example>Well, we slept in Tuesday morning.</example>
                <example>My guess is I'm probably going to want to take a quick nap when I get in Saturday morning before starting the weekend's activities.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THANK_FULL" name="thank full (thankful)">
            <rule>
                <antipattern>
                    <token postag="MD|TO|PRP|NNP" postag_regexp="yes" />
                    <token postag="RB" min="0" max="2" />
                    <token regexp="yes">use|help|thank|respect|play</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" max="2" />
                    <token regexp="yes">use|help|thank|respect|play</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">n't|not</token>
                    <token regexp="yes">use|help|thank|respect|play|power</token>
                </antipattern>
                <antipattern>
                    <token>please</token>
                    <token regexp="yes">use|help|thank|respect|play|power</token>
                </antipattern>
                <antipattern>
                    <token>in</token>
                    <token>use</token>
                </antipattern>
                <antipattern>
                    <token>full</token>
                    <token regexp="yes">time|screen|aged?|auto|stops?</token>
                </antipattern>
                <antipattern>
                    <token>use</token>
                    <token>full</token>
                    <token>sentences</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">delight|play|power|insight</token>
                    <token>full</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token>use</token>
                    <token>full</token>
                    <token>synthetic</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">use|(un)?help|(un)?thank|grate|(un)?peace|(un)?success|delight|respect|play|power|insight</token>
                    <token>full</token>
                </pattern>
                <message>Did you mean the adjective <suggestion><match no="1" case_conversion="alllower" />ful</suggestion>?</message>
                <example correction="thankful">We are <marker>thank full</marker> for your help.</example>
                <example>The Maintenance manual says to use full synthetic oil.</example>
                <example>I use full color graphics and highlight many trading signals relative to entry, exit and stop placement.</example>
                <example>It would not be in use full time and the only equipment requirements are 4 screens.</example>
                <example>I did not use full strength.</example>
                <example>Please use full sentences to explain the problem.</example>
                <example>Use full screen mode to type in your text.</example>
                <example>A world in which travelling is a sparkling delight full of discoveries.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="1">full</token>
                    <token regexp="yes">access|control</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|is|'s|was|been</token>
                    <marker>
                        <token>need</token>
                        <token>full</token>
                    </marker>
                </pattern>
                <message>The noun or adjective <suggestion>needful</suggestion> is spelled as one word.</message>
                <example correction="needful">Please do the <marker>need full</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(un)?thank|hope|peace|(un)?success|delight|respect|play|power|insight</token>
                    <token>fully</token>
                </pattern>
                <message>Did you mean the adverb <suggestion>\1fully</suggestion>?</message>
                <example correction="Hopefully"><marker>Hope fully</marker> it works.</example>
            </rule>
        </rulegroup>
        <rule id="PRE_YEAR_HYPHEN" name="pre 2010 (pre-2010)">
            <pattern>
                <token>pre</token>
                <token regexp="yes">1\d{3}|20\d{2}</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> (= before the year \2) is spelled with a hyphen.</message>
            <example correction="pre-1995">And by the way, the <marker>pre 1995</marker> smog inspection checklist has a LOT more things on it.</example>
        </rule>
        <rulegroup id="A_OK" name="It is A ok (A-OK)">
            <url>https://www.merriam-webster.com/dictionary/A-OK</url>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes" min="0">really|totally|very</token>
                    <marker>
                        <token>a</token>
                        <token regexp="yes">
                            ok|okay
                            <exception scope="next" regexp="yes">.*[a-z].*</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The correct spelling for this noun or adjective is <suggestion>A-OK</suggestion>.</message>
                <example correction="A-OK">Another vote for tasteful hair coloring being <marker>A OK</marker>!</example>
            </rule>
        </rulegroup>
        <rule id="NNP_BASED" name="windows-based (Windows-based)">
            <pattern>
                <token regexp="yes" case_sensitive="yes">(windows|linux|chromium|firefox|unix|java|android|skype|excel|google|zoom|slack|chevy|twitter|photoshop|dutch|french|france|turkey|python|ruby|swift|go|europe|germany|german|denmark|poland|austria|swiss|belgium|london|boston|chicago|berlin|hamburg|munich|vienna|amsterdam|mexico|mexican|toronto|canada|york|angeles|diego|detroit|jose|paso|california|florida|texas|seattle|carolina|francisco)-based</token>
            </pattern>
            <message>The proper noun in this adjective needs to be capitalized.</message>
            <suggestion><match no="1" case_conversion="startupper" /></suggestion>
            <example correction="Windows-based">I'm trying to use a <marker>windows-based</marker> software on my Mac.</example>
        </rule>
        <rulegroup id="SUPPOSE_TO" name="suppose (supposed) to">
            <url>https://en.wiktionary.org/wiki/supposed_to</url>
            <!-- very common error, needed specific rule -->
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>suppose</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>In this context, <suggestion>supposed</suggestion> is the correct verb form.</message>
                <example correction="supposed">He is <marker>suppose</marker> to win.</example>
                <example correction="supposed">Stewart and Paul Choi (PDX office) are <marker>suppose</marker> to be here but that may change.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="NNP|PRP|NN.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>suppose</token>
                    </marker>
                    <token skip="-1">to</token>
                    <token>?</token>
                </pattern>
                <message>In this context, <suggestion>supposed</suggestion> is the correct verb form.</message>
                <example correction="supposed">Is he <marker>suppose</marker> to win?</example>
                <example correction="supposed">Was I <marker>suppose</marker> to do something else?</example>
                <example correction="supposed">How is Honda <marker>suppose</marker> to know where you buy your oil filters from, or what brand?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>suppose</token>
                    </marker>
                    <token>to</token>
                    <token postag="PCT" />
                </pattern>
                <message>In this context, <suggestion>supposed</suggestion> is the correct verb form.</message>
                <example correction="supposed">It's the way I am <marker>suppose</marker> to.</example>
            </rule>
        </rulegroup>
        <rule id="WHAT_IS_YOU" name="What is you (your)">
            <antipattern><!-- What is you doing? (found by NON3PRS_VERB) -->
                <token regexp="yes">is|'s|was</token>
                <token>you</token>
                <token chunk="B-VP" postag="VBG" />
            </antipattern>
            <pattern>
                <token regexp="yes">(how|who|what|which|when|where|why)(ever)?</token>
                <marker>
                    <token regexp="yes">'s|is|was</token>
                    <token>you</token>
                </marker>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>\2 your</suggestion>?</message>
            <example correction="is your">What <marker>is you</marker> typical weekday like?</example>
            <example correction="is your">What <marker>is you</marker> sense of humor?</example>
            <example correction="is your">Jim, what <marker>is you</marker> middle name if you don't mind me asking you.</example>
        </rule>
        <rulegroup id="HOW_DO_I_VB" name="Who did you seen (see)?">
            <!-- higher prio than PRP_VBG, less prio than WHAT_IS_YOU / SUPPOSE_TO -->
            <!-- TODO: whenever, however, ...-->
            <antipattern><!-- which is I think ...-->
                <token>which</token>
                <token regexp="yes">is|was|are|were</token>
                <token regexp="yes">I|we</token>
                <token regexp="yes">think|thought|believed?|assumed?|hoped?|supposed?|guess(ed)?</token>
            </antipattern>
            <antipattern><!-- the one who did it was ...-->
                <token>the</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token>who</token>
                <token inflected="yes">do</token>
                <token>it</token>
                <token regexp="yes">was|were|is|are|has|have|does|did</token>
            </antipattern>
            <antipattern><!-- "how's" can be "how does" or "how is" (https://en.wiktionary.org/wiki/how's) -->
                <token regexp="yes">how|what</token>
                <token>'s</token>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <token postag="VB[PNG]?" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">how|who|what|which|when|where|why</token>
                    <token inflected="yes">
                        do
                        <exception>done</exception>
                    </token>
                    <token regexp="yes">I|you|we|they|s?he|it</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                        <exception postag="VB" />
                    </token>
                    <marker>
                        <token postag="VB[DGNZ]" postag_regexp="yes">
                          <exception postag="VBP" />
                          <exception>being</exception>
                          <exception regexp="yes">wrong|cool|ok|friends|people|kids|guys|parents</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The base form of the verb <suggestion><match no="5" postag="VBP" /></suggestion> seems to fit better in this context.</message>
                <example correction="write">How do I typically <marker>writing</marker> unit tests for Java?</example>
                <example correction="unstick">How do I <marker>unstuck</marker> them without resetting them?</example>
                <example correction="smile">Tell me how did he <marker>smiled</marker> at you.</example>
                <example correction="use">Finally what did he <marker>used</marker>?</example>
                <example correction="become">Hey Pandark, how did you <marker>became</marker> so famous that Pharamp started writing sentences about you?</example>
                <example>Where do you live?</example>
                <example>When clothes are washing, contact opens, when done it closes.</example>
                <example>The one who did it was Éamonn.</example>
                <example>How do you kids do it?</example>
                <example>Where did you live growing up?</example>
            </rule>
            <rule>
                <antipattern><!-- probably meant "is your"-->
                    <token>is</token>
                    <token regexp="yes">you|I|we|they</token>
                </antipattern>
                <antipattern>
                    <token postag="VB" />
                    <token regexp="yes">&apostrophe;.*</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token>it</token>
                    <token postag="RB" min="0" />
                    <token>mine</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">how|who|what|which|when|where|why</token>
                    <token inflected="yes">be</token>
                    <token regexp="yes">I|you|we|they|s?he|it</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token postag="VB[PDZ]" postag_regexp="yes">
                          <exception postag="VB[GN]|IN|JJ.*" postag_regexp="yes" />
                          <exception regexp="yes">&uncommon_verbs;</exception>
                          <exception regexp="yes">being|doesn|don|nuts|friends|people|kids|guys|parents</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The present participle <suggestion><match no="5" postag="VBG" /></suggestion> or the past participle <suggestion><match no="5" postag="VBN" /></suggestion> seems to fit better in this context.</message>
                <example correction="writing|written">How am I typically <marker>write</marker> unit tests for Java?</example>
                <example correction="supposing|supposed">What am I <marker>suppose</marker> to do?</example>
                <example>Where are you located?</example>
                <example>What is it like?</example>
                <example>When is it back?</example>
                <example>What is it wrong?</example>
                <example>What are you kids staring at?</example>
                <example>In any case why was it only mine that had a line in the LCD?</example>
                <example>How's it look now?</example>
                <example>We are using Laravel 5.4, which is I think supported.</example>
                <example>They will have their tops aligned, which is I think what you wanted.</example>
                <example>How are you people doing this?</example>
                <example>What's it stand for?</example>
                <example>I’ve written text which is I hope simple and straightfoward.</example>
                <example>When is it OK to increase oil viscosity from 5-30 to 10-40?</example>
                <example>How are you arc’ing it?</example>
                <example>When is it ever cool to touch a stranger’s hair in public?</example>
                <example>What is it about cheese based food festivals?</example>
                <example>What are you nuts about that you want to share?</example>
                <example>Since when are we friends?</example>
                <example>Which are you better at, French or English?</example>
            </rule>
        </rulegroup>
        <rule id="NEE" name="nee (née)">
            <antipattern>
                <token regexp="yes">&apostrophe;</token>
                <token>nee</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">Aa?ron|Adam|Kevin</token>
                <token>Nee</token>
            </antipattern>
            <antipattern>
                <token>nee</token>
                <token>brothers</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Nn]ee</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>née</suggestion> (= formerly called), the verb <suggestion>need</suggestion> or the adjective <suggestion>new</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/nee</url>
            <example correction="née|need|new">Mrs. Jane Doe, <marker>nee</marker> Smith.</example>
            <example>C'nee is a musician.</example>
            <example>Band of Robbers (2015), an American crime comedy written and directed by the Nee Brothers.</example>
        </rule>
        <rule id="AMERICANO" name="speak Americano (American English)">
            <antipattern>
                <token>americano</token>
                <token regexp="yes">cocktails?|coffees?|flavou?r|recipes?|calories</token>
            </antipattern>
            <pattern>
                <token inflected="yes" regexp="yes" skip="1">speak|understand|learn|translate</token>
                <marker>
                    <token>americano</token>
                </marker>
            </pattern>
            <message>The noun "\2" isn't used to describe a language. Did you mean <suggestion>American English</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/Americano</url>
            <example correction="American English">I don't understand <marker>Americano</marker>.</example>
        </rule>
        <rule id="MD_NO_VB" name="I can no (not) speak English">
            <antipattern>
                <token>no</token>
                <token postag="NN.*" postag_regexp="yes">
                    <exception>long</exception>
                </token>
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>longer</token>
            </antipattern>
            <pattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <token postag="RB" min="0">
                    <exception postag="CC|IN" postag_regexp="yes" />
                    <exception>by</exception>
                </token>
                <marker>
                    <token>no</token>
                </marker>
                <token postag="RB" min="0">
                    <exception postag="CC|IN" postag_regexp="yes" />
                    <exception>needs</exception>
                </token>
                <token postag="VBP?" postag_regexp="yes">
                    <exception regexp="yes">&uncommon_verbs;|project|clue</exception>
                </token>
            </pattern>
            <message>In this context, the correct negation is <suggestion>not</suggestion>.</message>
            <example correction="not">I can <marker>no</marker> speak English.</example>
            <example correction="not">Tom can <marker>no</marker> go to school today.</example>
            <example correction="not">I will <marker>no</marker> do that.</example>
            <example correction="not">We will <marker>no</marker> be advertising read only access as available.</example>
            <example correction="not">Several have stopped producing after the utilities could <marker>no</marker> long afford to pay soaring prices for their power.</example>
            <example>I need no go kart.</example>
            <example>Tom will no doubt get better at doing that.</example>
            <example>May no harm come to you.</example>
            <example>He will by no means come.</example>
            <example>Greece can no longer pay off its debts.</example>
            <example>Also a chance to go over the most egregious barriers to entry on the gas side, which Doug will no doubt guide you on.</example>
        </rule>
        <rulegroup id="HAVE_NO_VB" name="I have no (not) checked">
            <rule><!-- simple case: have + no + been-->
                <pattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0">
                        <exception postag="CC|IN" postag_regexp="yes" />
                        <exception>by</exception>
                    </token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token>been</token>
                </pattern>
                <message>In this context, the correct negation is <suggestion>not</suggestion>.</message>
                <example correction="not">I have <marker>no</marker> been able to check it.</example>
            </rule>
            <rule><!-- advanced case: have + no + VBN -->
                <antipattern>
                    <token>no</token>
                    <token>built</token>
                    <token>in</token>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token regexp="yes">thought|shot</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0">
                        <exception postag="CC|IN" postag_regexp="yes" />
                        <exception>by</exception>
                    </token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token postag="VBN" />
                    <token postag="RB" min="0">
                        <exception postag="CC|IN" postag_regexp="yes" />
                        <exception>needs</exception>
                    </token>
                    <token postag="DT|PRP.*|IN" postag_regexp="yes">
                        <exception regexp="yes">one|n?either|like</exception>
                    </token>
                </pattern>
                <message>In this context, the correct negation is <suggestion>not</suggestion>.</message>
                <example correction="not">I have <marker>no</marker> checked the results yet.</example>
                <example correction="not">I read articles, but have <marker>no</marker> signed in for a long time.</example>
                <example>It had no built in contextual framework or universe of discourse.</example>
                <example>An issue,not often addressed here, is the fact that many residents really have no loved one for whom to wait.</example>
                <example>Unfortunately Apple News has no built in keyboard shortcut.</example>
                <example>He had no thought of becoming a teacher.</example>
            </rule>
        </rulegroup>
        <rule id="BE_NO_VB" name="I am no (not) coming">
            <antipattern>
                <token skip="3">there</token>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>be</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token postag="VBG" />
                <token>at</token>
                <token regexp="yes">all|scale</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token postag="VBG" />
                <token>by</token>
                <token regexp="yes">default|any|nature</token>
            </antipattern>
            <antipattern><!-- Allegheny is no bid on New Albany. -->
                <token>no</token>
                <token>bid</token>
                <token>on</token>
            </antipattern>
            <antipattern><!-- Samsung is no different than Google and Amazon - they want your data. -->
                <token>no</token>
                <token regexp="yes">different|less|more|secret|proof|emergency|shock|prize|chance|cheating|guessing</token>
            </antipattern>
            <antipattern><!-- Bottom line is no on all counts…  -->
                <token>no</token>
                <token>on</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">answers?|choices?</token>
                <token inflected="yes">be</token>
                <token>no</token>
            </antipattern>
            <antipattern>
                <token>due</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>longer</token>
            </antipattern>
            <pattern>
                <token inflected="yes">
                    be
                </token>
                <token postag="RB" min="0">
                    <exception postag="CC|IN" postag_regexp="yes" />
                    <exception>by</exception>
                </token>
                <marker>
                    <token>no</token>
                </marker>
                <token postag="RB" min="0">
                    <exception postag="CC|IN" postag_regexp="yes" />
                    <exception>needs</exception>
                </token>
                <token postag="VB[NG]|JJ" postag_regexp="yes" />
                <token postag="DT|PRP.*|IN" postag_regexp="yes">
                    <exception regexp="yes">one|n?either|like</exception>
                </token>
            </pattern>
            <message>In this context, the correct negation is <suggestion>not</suggestion>. Or did you mean <suggestion>now</suggestion>?</message>
            <example correction="not|now">I am <marker>no</marker> going to school.</example>
            <example correction="not|now">The certificate is <marker>no</marker> signed by a trusted authority.</example>
            <example correction="not|now">The pillar between the front and back door was <marker>no</marker> lined up with my mid-thigh.</example>
            <example correction="not|now">But I am <marker>no</marker> sure it is the right way.</example>
            <example correction="not|now">It is <marker>no</marker> nice with the roof open.</example>
            <example>There was no stopping him.</example>
            <example>There is no shaking at all.</example>
            <example>There is to be no fraternizing with the enemy.</example>
            <example>He is no piffling at all.</example>
            <example>Allegheny is no bid on New Albany.</example>
            <example>Samsung is no different than Google and Amazon - they want your data.</example>
            <example>It's no secret that Tom's opinion is different from yours.</example>
            <example>Bottom line is no on all counts…</example>
            <example>Did you ever see fairies dancing on the lawn? Of course not, but that's no proof that they are not there.</example>
            <example>Nobody sees Santa Claus, but that is no sign that there is no Santa Claus.</example>
            <example>There's just no denying it.</example>
            <example>Tom is no longer my boyfriend.</example>
            <example>We're no longer working for Tom.</example>
            <example>As of November 18, 2008, the SmarterChild bot for AIM was retired and is no longer offering any services, although still available through MSN.</example>
        </rule>
        <rule id="DO_NO_VB" name="I did no (not) have">
            <pattern>
                <token inflected="yes">do</token>
                <marker>
                    <token>no</token>
                </marker>
                <token postag="RB" min="0">
                    <exception postag="CC|IN" postag_regexp="yes" />
                    <exception>needs</exception>
                </token>
                <token postag="VBP?" postag_regexp="yes">
                    <exception regexp="yes">harm|damage</exception>
                </token>
                <token postag="DT|PRP.*|IN" postag_regexp="yes">
                    <exception regexp="yes">one|n?either|like</exception>
                </token>
            </pattern>
            <message>In this context, the correct negation is <suggestion>not</suggestion>.</message>
            <example correction="not">I did <marker>no</marker> have any idea.</example>
            <example correction="not">Do <marker>no</marker> stop this game.</example>
            <example>The sandstone will do no damage to the people.</example>
        </rule>
        <rulegroup id="PRP_NO_VB" name="I no (don't) speak English">
            <!-- common mistake by Spanish-speaking people -->
            <antipattern><!-- https://en.wiktionary.org/wiki/no_holds_barred -->
                <token>no</token>
                <token>holds</token>
                <token regexp="yes">barr?ed</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>matter</token>
                <token regexp="yes">w.+|how</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes" postag="W.*" postag_regexp="yes">w.+</token>
                    <marker>
                        <token regexp="yes">you|they|we|I</token>
                        <token>no</token>
                    </marker>
                    <or>
                        <token chunk="I-VP" postag="VBP?" postag_regexp="yes" />
                        <token regexp="yes">reply|answer|tell|ask|understand|show|make|create|visit|come|need|go</token>
                    </or>
                </pattern>
                <message>Did you mean <suggestion>don't \2</suggestion>?</message>
                <example correction="don't you">Why <marker>you no</marker> speak English?</example>
                <example correction="don't they">Why <marker>they no</marker> ask me?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" postag="W.*" postag_regexp="yes">w.+</token>
                    <marker>
                        <token regexp="yes">you|they|we|I</token>
                        <token>no</token>
                    </marker>
                    <token chunk="B-VP" postag="VBP?" postag_regexp="yes">
                        <exception>do</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>don't \2</suggestion>?</message>
                <example correction="don't you">Why <marker>you no</marker> understand?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" postag="W.*" postag_regexp="yes">w.+</token>
                    <marker>
                        <token regexp="yes">it|s?he</token>
                        <token>no</token>
                        <or>
                            <token chunk="I-VP" postag="VBZ?" postag_regexp="yes" />
                            <token regexp="yes">repl(y|ies)|answers?|tells?|asks?|understands?|shows?|makes?|creates?|visits?|comes?|needs?|go(es)?</token>
                        </or>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>doesn't \2 <match no="4" postag="VB" /></suggestion>?</message>
                <example correction="doesn't he speak">Why <marker>he no speak</marker> English?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" postag="W.*" postag_regexp="yes">w.+</token>
                    <marker>
                        <token regexp="yes">it|s?he</token>
                        <token>no</token>
                        <token chunk="B-VP" postag="VBZ?" postag_regexp="yes" />
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>doesn't \2 <match no="4" postag="VB" /></suggestion>?</message>
                <example correction="doesn't he understand">Why <marker>he no understands</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">you|they|we|I</token>
                        <token>no</token>
                    </marker>
                    <or>
                        <token chunk="B-VP" postag="VBP?" postag_regexp="yes" />
                        <token regexp="yes">reply|answer|tell|ask|understand|show|make|create|visit|come|like|love|have|want|say|speak|need|go</token>
                    </or>
                </pattern>
                <message>The word "\2" seems incorrect in this context. Did you mean <suggestion>\1 don't</suggestion>, <suggestion>\1 didn't</suggestion> (past tense) or <suggestion>\1 now</suggestion>?</message>
                <example correction="I don't|I didn't|I now">But <marker>I no</marker> like eggs.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                        <token>no</token>
                        <or>
                            <token chunk="B-VP" postag="VB[ZP]?" postag_regexp="yes" />
                            <token regexp="yes">repl(y|ies)|answers?|tells?|asks?|understands?|shows?|makes?|creates?|visits?|comes?|likes?|loves?|has|wants?|says?|speaks?|needs?</token>
                        </or>
                    </marker>
                </pattern>
                <message>The word "\2" seems incorrect in this context. Did you mean <suggestion>\1 doesn't <match no="3" postag="VB" /></suggestion> or <suggestion>\1 didn't <match no="3" postag="VB" /></suggestion> (past tense) or <suggestion>\1 now <match no="3" postag="VBZ" /></suggestion>?</message>
                <example correction="She doesn't like|She didn't like|She now likes"><marker>She no like</marker> English.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|s?he|you|they|we|it</token>
                    <marker>
                        <token regexp="yes">not?</token>
                        <token regexp="yes">can|will|[cw]ould|must|should|shall|may|might</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\2" seems incorrect in this context.</message>
                <suggestion>\3 not</suggestion>
                <suggestion>now \3</suggestion>
                <example correction="can not|now can">I <marker>no can</marker> find my bike!</example>
            </rule>
        </rulegroup>
        <rule id="IN_SANE" name="in sane (insane)">
            <pattern>
                <token regexp="yes">dr[oi]ven?|driving|am|'m|are|'re|makes?|made|making|go(es)?|went|going|the|an?|my|y?our|his|our|their|me|him|her|them|you|of|with(out)?|for</token>
                <marker>
                    <token>in</token>
                    <token>sane</token>
                </marker>
            </pattern>
            <message>Did you mean the adjective <suggestion>insane</suggestion>?</message>
            <example correction="insane">He drives me <marker>in sane</marker>!</example>
        </rule>
        <rulegroup id="A_CAPPELLA" name="a cappella">
            <antipattern>
                <token>a</token>
                <token>cappella</token>
            </antipattern>
            <antipattern>
                <token>Acappella</token>
                <token>Ventures</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>a</token>
                    <token regexp="yes">capp?ell?a</token>
                </pattern>
                <message>Did you mean <suggestion>a cappella</suggestion> (= without instrumental accompaniment)?</message>
                <url>https://www.merriam-webster.com/dictionary/a%20cappella</url>
                <example correction="a cappella">The choir sang the chants <marker>a capella</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">a\-?capp?ell?a</token>
                </pattern>
                <message>Did you mean <suggestion>a cappella</suggestion> (= without instrumental accompaniment)?</message>
                <url>https://www.merriam-webster.com/dictionary/a%20cappella</url>
                <example correction="a cappella">The choir sang the chants <marker>acapella</marker>.</example>
                <example>She is a managing director of Acappella Ventures LLC.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PLEASE_VB" name="please + wrong verb form">
            <antipattern>
                <token>please</token>
                <token>is</token>
                <token regexp="yes">t?here</token>
            </antipattern>
            <antipattern><!-- caught by CONFUSION_RULE -->
                <token>please</token>
                <token>fell</token>
                <token>free</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token>fed</token>
                <token>ex</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token>much</token>
                <token inflected="yes">appreciate</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="PRP" />
                <token>please</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token regexp="yes">not|n't</token>
                <token postag="PRP" />
                <token>please</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token>please</token>
                <token regexp="yes">even|live</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>please</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token chunk="B-VP" postag="VB[DNG]" postag_regexp="yes">
                            <exception postag="VBP?" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean the verb base form <suggestion><match no="3" postag="VB" /></suggestion>?</message>
                <example correction="improve">Please <marker>improved</marker> the code.</example>
                <example correction="send">If so let me know, if not, please <marker>sent</marker> the documents.</example>
            </rule>
            <rule>
                <pattern>
                    <token>please</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token chunk="I-VP" postag="VB[DNG]" postag_regexp="yes">
                            <exception postag="VBP?" postag_regexp="yes" />
                            <exception regexp="yes">regarding|including</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean the verb base form <suggestion><match no="3" postag="VB" /></suggestion>?</message>
                <example correction="provide">Could you please <marker>provided</marker> me with more information?</example>
                <example correction="send">Please <marker>sent</marker> her my love.</example>
                <example>Please lay down your coat.</example>
                <example>Can you please cut down on the swearing?</example>
                <example>They please even experienced gamblers.</example>
                <example>Aren't you please going to sit down?</example>
                <example>Are you please going to sit down?</example>
                <example>If you have questions please let me know.</example>
                <example>Please forward executed version.</example>
                <example type="triggers_error">Please forward executed verison.</example><!-- Note the typo 'verison'. -->
            </rule>
            <rule>
                <antipattern>
                    <token postag="PRP|MD" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token>please</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>please</token>
                    <token>lets</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token>please</token>
                    <marker>
                        <token postag="VBZ">
                            <exception regexp="yes">guys|kids|is|friends</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" postag="VB"/></suggestion>?</message>
                <example correction="answer">Please <marker>answers</marker> quickly!</example>
                <example correction="confirm">Can you please <marker>confirms</marker> NDAs for the two companies below.</example>
                <example correction="comment">Please <marker>comments</marker>.</example>
                <example>Please is there anyone from Cameroon?</example>
                <example>A new biography of Tiger Woods will please fans of the golfing phenom.</example>
                <example>If so, please lets send these out.</example>
                <example>Please guys, behave.</example>
                <example>Please is it possible to do it now?</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="1">please</token>
                    <token regexp="yes">is|was</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>please</token>
                    <marker>
                        <token postag="VB[DN]" postag_regexp="yes">
                            <exception postag="RB.*|VB" postag_regexp="yes" />
                            <exception regexp="yes">regarding|including</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean the verb base form <suggestion><match no="3" postag="VB" /></suggestion>?</message>
                <example correction="combine">Please <marker>combined</marker> it.</example>
            </rule>
        </rulegroup>
        <rulegroup id="I_MA" name="I ma (am)">
            <antipattern>
                <token>I</token>
                <token>am</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>I</token>
                        <token regexp="yes">&apostrophe;</token>
                        <token>ma</token>
                    </marker>
                    <token><exception>gonna</exception></token>
                </pattern>
                <message>Avoid slang. Did you mean <suggestion>I'm going to</suggestion> or <suggestion>I will</suggestion>?</message>
                <example correction="I'm going to|I will"><marker>I'ma</marker> go crazy!</example>
            </rule>
            <rule>
                <pattern>
                    <token>I</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">am|ma</token>
                </pattern>
                <message>Did you mean <suggestion>I am</suggestion>, <suggestion>I'm</suggestion>?</message>
                <example correction="I am|I'm"><marker>I'am</marker> from Germany.</example>
            </rule>
        </rulegroup>
        <rule id="YOU_RE_AREN_T" name="you're aren't">
            <pattern>
                <token regexp="yes">s?he|it|you|we|they</token>
                <token regexp="yes">'re|'s|'m</token>
                <token regexp="yes">was|were|are|is|ai</token>
                <token>n't</token>
            </pattern>
            <message>Did you mean <suggestion>\1\2</suggestion> or <suggestion>\1 \3\4</suggestion>?</message>
            <example correction="you're|you aren't">I think <marker>you're aren't</marker> ready.</example>
        </rule>
        <rule id="FULL_FILL" name="full fill (fulfill)">
            <antipattern>
                <token regexp="yes">a|the</token>
                <token>full</token>
                <token>fill</token>
            </antipattern>
            <pattern>
                <token regexp="yes">full?</token>
                <token regexp="yes">fill?(ed|s|ing)?</token>
            </pattern>
            <message>The verb <suggestion>ful<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/fulfill</url>
            <example correction="fulfilling">He is <marker>ful filling</marker> the prophehcy.</example>
        </rule>
        <rulegroup id="U_RE" name="U're (You're)">
            <rule>
                <pattern>
                    <token>u</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">'re?</token>
                </pattern>
                <message>Did you mean <suggestion>you're</suggestion>?</message>
                <example correction="You're"><marker>U're</marker> my best friend.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">[A-Z]</token>
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token>U</token>
                </antipattern>
                <pattern>
                    <token>u</token>
                    <token regexp="yes">are|'re|re</token>
                </pattern>
                <message>&you_re;</message>
                <example correction="You're"><marker>U re</marker> my best friend.</example>
                <example>When T and U are composable continuous linear maps, ...</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">[a-z]</token>
                    <token>u</token>
                    <token>r</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>u</token>
                        <token>r</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="PRP.*|DT|JJ|VBG" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>you are</suggestion>?</message>
                <example correction="You are"><marker>U r</marker> the best.</example>
            </rule>
        </rulegroup>
        <rulegroup id="YOU_R" name="You r (You are)">
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Yy]ou|[Tt]hey|[Ww]e</token>
                    <token>r</token>
                </pattern>
                <message>Did you mean <suggestion>\1 are</suggestion> or <suggestion>\1're</suggestion>?</message>
                <example correction="You are|You're"><marker>You r</marker> my best friend.</example>
            </rule>
        </rulegroup>
        <rule id="PERSONA_NON_GRATA" name="Persona non grata">
            <antipattern>
                <token>persona</token>
                <token>non</token>
                <token>grata</token>
            </antipattern>
            <pattern>
                <token regexp="yes">persona?s?</token>
                <token regexp="yes">non?</token>
                <token regexp="yes">grat(a|er)</token>
            </pattern>
            <message>Did you mean <suggestion>persona non grata</suggestion> (= person who is not appreciated)?</message>
            <url>https://en.wikipedia.org/wiki/Persona_non_grata</url>
            <example correction="persona non grata">In diplomacy, a <marker>person non grata</marker> is a foreign person whose entering or remaining in a particular country is prohibited by that country's government.</example>
        </rule>

        <rulegroup id="LED" name="led (LED)">
            <url>https://en.wikipedia.org/wiki/LED</url>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes" skip="1">[Ll]ed</token>
                    </marker>
                    <token regexp="yes">lights?|screens?|tvs?|lamps?|displays?|diodes?|rgb|spots?|bulbs?|dimmers?|flashes?|blinks?|circuits?</token>
                </pattern>
                <message>Did you mean <suggestion>LED</suggestion> (= diode, light)?</message>
                <example correction="LED"><marker>Led</marker> light is saving a lot of energy.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">&nouns_with_a;</token>
                    <token>A</token>
                </antipattern>
                <antipattern>
                    <token>led</token>
                    <token regexp="yes">zepp?ell?in</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|rgb|an?|dimmable|y?our|my|his|their</token>
                    <token regexp="yes" min="0">red|green|blue|yellow|new|old|flashing|blinking|bright|brighter</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ll]ed</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>LED</suggestion> (= diode, light)?</message>
                <example correction="LED">He turned off the <marker>Led</marker> light.</example>
                <example>Serie A led the UEFA ranking from 1986 to 1988 and from 1990 to 1999.</example>
                <example type="triggers_error">In the 1950s, historians in West Germany argued that the led Germany to the disaster of 1933–1945.</example><!-- Should be "they"-->
            </rule>
        </rulegroup>
        <rulegroup id="SLOW_MO" name="slo-mo">
            <url>https://www.merriam-webster.com/dictionary/slo-mo</url>
            <rule>
                <pattern>
                    <token regexp="yes">slow?</token>
                    <token regexp="yes">mos?</token>
                </pattern>
                <message>Did you mean the noun or adjective <suggestion>slo-\2</suggestion> (= <suggestion>slow <match no="2" regexp_match="(?i)o" regexp_replace="otion" /></suggestion>)?</message>
                <example correction="slo-mo|slow motion">The video was playing in <marker>slow mo</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">slo-mos?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">slow?\-?mos?</token>
                </pattern>
                <message>Did you mean the noun or adjective <suggestion>slo-mo</suggestion> (= <suggestion>slow motion</suggestion>)?</message>
                <example correction="slo-mo|slow motion">The video was playing in <marker>slow-mo</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="LIKELY_HOOD" name="likely hood (likelihood)">
            <pattern>
                <token regexp="yes">(un)?likel[iy]|livel[iy]</token>
                <token regexp="yes">hoods?</token>
            </pattern>
            <message>Did you mean the noun <suggestion><match no="1" case_conversion="alllower" regexp_match="(?i)y$" regexp_replace="i" /><match no="2" case_conversion="alllower" /></suggestion>?</message>
            <example correction="livelihoods">There are many people whose <marker>lively hoods</marker> depend on the rain forest.</example>
        </rule>
        <rulegroup id="PICK_UP_COMPOUND" name="pick up (pickup)">
            <url>https://www.merriam-webster.com/dictionary/pickup</url>
            <antipattern>
                <token postag="MD" />
                <token>pick</token>
            </antipattern>
            <antipattern>
                <token>n't</token>
                <token>pick</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>pick</token>
                    <token>up</token>
                    <token regexp="yes">(cyber)?trucks?|campers?|lines?|trailers?|tuning|artists?|bars?|suvs?</token>
                </pattern>
                <message>Did you mean the noun <suggestion>pickup \3</suggestion>?</message>
                <example correction="pickup truck">She drives a Ford <marker>pick up truck</marker>.</example>
                <example correction="pickup line">We're trying to see who can come up with the best <marker>pick up line</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">Ford|Tesla|Mercedes|Benz|GM|Toyota|Ram|Silverado|Chevy|Mazda|Chevrolet|Tacoma|F-Series|GMC|Sierra|Colorado|Tundra|Frontier|Ranger|Canyon|Cybertruck|suburban</token>
                    <token>pick</token>
                    <token regexp="yes">ups?</token>
                </pattern>
                <message>Did you mean the noun <suggestion>\1 pick<match no="3" case_conversion="alllower" /></suggestion>?</message>
                <example correction="Ford pickup">She drives a <marker>Ford pick up</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                    <token>pick</token>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|of|for|with(in|out)|at|in|y?our|their|his|her|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>pick</token>
                        <token regexp="yes">ups?</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>pick<match no="4" case_conversion="alllower" /></suggestion>?</message>
                <example correction="pickup">She drives a <marker>pick up</marker>.</example>
                <example>I will have her pick up all the things.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SHOW_COMPOUNDS" name="show case (showcase)">
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|of|for|with(in|out)|at|in|y?our|their|his|her</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>show</token>
                        <token regexp="yes">cases?|downs?|time</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>show<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="showcase">He prepared a <marker>show case</marker> for the presentation.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>show</token>
                        <token regexp="yes">cases?|downs?|time</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>show<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="showtime">It is <marker>show time</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token>show</token>
                    <token regexp="yes">case[ds]?|casing|stoppers?</token>
                </pattern>
                <message>This is normally spelled as one word.</message>
                <suggestion>show<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="showcase">We will <marker>show case</marker> the product at the event.</example>
            </rule>
        </rulegroup>
        <rule id="DAY_DREAM_COMPOUND" name="day dreaming (daydreaming)">
            <antipattern>
                <token>day</token>
                <token postag="IN" />
                <token>day</token>
            </antipattern>
            <pattern>
                <token>day</token>
                <token regexp="yes">dream(s|ed|ing)?|dreamers?</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>day<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/daydream</url>
            <example correction="daydreamed">I <marker>day dreamed</marker> about being a millionaire.</example>
            <example>I'm from day to day dreaming about becoming a millionaire.</example>
        </rule>
        <rule id="TAIL_GATE_COMPOUND" name="tail gate (tailgate)">
            <pattern>
                <token>tail</token>
                <token regexp="yes">gate[ds]|gaters?|gating</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>tail<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/tailgate</url>
            <example correction="tailgating">They started <marker>tail gating</marker> at 10 o'clock.</example>
        </rule>
        <rule id="CAR_POOL_COMPOUND" name="car pool (carpool)">
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="NN|JJ.*" postag_regexp="yes" min="0" />
                <token>car</token>
                <token>pooled</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>car</token>
                    <token regexp="yes">pool(ed|s|ing|ers?)?</token>
                </marker>
            </pattern>
            <message>The noun or verb <suggestion>car<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://www.lexico.com/definition/carpool</url>
            <example correction="carpools">They organized <marker>car pools</marker> to deliver the kids to school</example>
            <example>Of course I didn't realise this until just after the car pooled away.</example>
        </rule>
        <rule id="BE_COMPOUNDS" name="be wilder (bewilder)">
            <antipattern>
                <token postag="MD|TO" postag_regexp="yes" />
                <token regexp="yes">&apostrophe;</token>
                <token postag="RB" min="0" max="2" />
                <token>be</token>
            </antipattern>
            <pattern>
                <token>be</token>
                <token regexp="yes">wilder(ed|edly|ing|ingly|s|ment)?</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>be<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/bewilder</url>
            <example correction="bewildered">He saw the <marker>be wildered</marker> look on my face.</example>
        </rule>

        <rulegroup id="PROOF_COMPOUNDS" name="weather proof (weatherproof)">
            <!-- TODO: add verbs: "He weatherproofed" -->
            <rule>
                <pattern>
                    <token regexp="yes">weather|shatter|burglar|bullet|tamper|pilfer|grease|water|sound|child|flame|shock|shell|light|stain|crush|fool|oven|fire|wind|heat|leak|rust|bomb|pick|rain|baby|moth|germ|skid|dust|wea|dis|wet|air|sun|oil|idiot</token>
                    <token case_sensitive="yes">proof</token>
                </pattern>
                <message>This verb or adjective is normally spelled as one word.</message>
                <suggestion>\1\2</suggestion>
                <example correction="bulletproof">He is wearing a <marker>bullet proof</marker> vest that eventually will save his life.</example>
            </rule>
        </rulegroup>

        <rule id="HAND_CUFF_COMPOUND" name="hand cuff (handcuff)">
            <pattern>
                <token>hand</token>
                <token regexp="yes">cuff(ed|s|ing)?</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>hand<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/handcuff</url>
            <example correction="handcuffs">The prisoner had to wear <marker>hand cuffs</marker>.</example>
        </rule>
        <rulegroup id="BREAKING_COMPOUNDS" name="heart breaking (heartbreaking)">
            <antipattern>
                <token>breaking</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>breaking</token>
                <token>down</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">heart|law|ground|back</token>
                        <token>breaking</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="heartbreaking">It is <marker>heart breaking</marker> to see him leave.</example>
                <example>It is the law breaking down all the things that are not permitted.</example>
                <example correction="groundbreaking">When the <marker>ground breaking</marker> occurred on September 19, 1928, there was an intense competition in New York City to build the world's tallest skyscraper.</example>
            </rule>
        </rulegroup>
        <rule id="HARD_WORKING_COMPOUND" name="hard working (hardworking)">
            <antipattern>
                <token>hard</token>
                <token>working</token>
                <token postag="IN" />
            </antipattern>
            <pattern>
                <token>hard</token>
                <token>working</token>
            </pattern>
            <message>This adjective is spelled with a hyphen or as one word.</message>
            <suggestion>hardworking</suggestion>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/hardworking</url>
            <example correction="hardworking|hard-working">He is an <marker>hard working</marker> employee.</example>
            <example>It is really hard working for the steel industry.</example>
            <example>Tom is very hard working with.</example>
        </rule>
        <rule id="UNDER_COVER_COMPOUND" name="under cover (undercover)">
            <antipattern>
                <token inflected="yes" regexp="yes" skip="3">hide|get|put|move|store|keep</token>
                <token>under</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/under_cover_of -->
                <token>cover</token>
                <token>of</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- studio album -->
                <token>Under</token>
                <token>Cover</token>
            </antipattern>
            <antipattern><!-- confusion of hear/here, caught by CONFUSION_RULE -->
                <token skip="2">come</token>
                <token>over</token>
                <token>hear</token>
            </antipattern>
            <pattern>
                <token>under</token>
                <token>cover</token>
            </pattern>
            <message>The adjective <suggestion>undercover</suggestion> is spelled as one word if you mean it in the context of "undercover agent".</message>
            <example correction="undercover">He is an <marker>under cover</marker> agent.</example>
            <example>We advanced under cover of darkness.</example>
            <example>The tiger salamander (Ambystoma tigrinum) is typical of the frogs and salamanders that hide under cover ready to ambush unwary invertebrates.</example>
            <example>When it started to rain we got under cover.</example>
            <example>Store seats under cover before the bad weather sets in.</example>
        </rule>
        <rule id="WOULD_BE_JJ_VB" name="It would be great (to) write">
            <antipattern>
                <token>thank</token>
                <token>you</token>
            </antipattern>
            <antipattern>
                <token>let</token>
                <token regexp="yes">me|us|them|him|her|it</token>
                <token>know</token>
            </antipattern>
            <pattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <marker>
                    <token>be</token>
                    <token postag="JJ" />
                    <token postag="VB" chunk="B-VP" />
                </marker>
            </pattern>
            <message>The infinitive "\4" after "be" requires "to". Did you mean <suggestion>\2 \3 to \4</suggestion>?</message>
            <example correction="be great to write">It would <marker>be great write</marker> a story.</example>
            <example correction="be able to do">Tom thought he might <marker>be able do</marker> that.</example>
            <example correction="be able to do">I know Tom will <marker>be able do</marker> that.</example>
            <example correction="be able to think">Hope one day i will <marker>be able think</marker> like you, thank you Michael.</example>
            <example correction="be able to come">Tom doesn't think he'll <marker>be able come</marker> tomorrow.</example>
            <example correction="be able to provide">They will also be interested in discussing the interim service agreement and what services we will <marker>be able provide</marker>.</example>
            <example correction="be available to come">Could we please get together with Brent Price and Mike Jordan and discuss whether Todd would <marker>be available come</marker> over.</example>
            <example>Any feedback would be great thank you.</example>
        </rule>
        <rulegroup id="OKEY_DOKEY" name="okey-dokey">
            <url>https://www.lexico.com/definition/okey-dokey</url>
            <antipattern>
                <token>okey-dokey</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">ok([ae]?y)?</token>
                    <token regexp="yes">dok[ae]y?|doky</token>
                </pattern>
                <message>Did you mean the interjection <suggestion>okey-dokey</suggestion>?</message>
                <example correction="Okey-dokey"><marker>Okey dokay</marker>, I will do that!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ok([ae]?y)?-dok[ae]?y?</token>
                </pattern>
                <message>Did you mean the interjection or adjective <suggestion>okey-dokey</suggestion>?</message>
                <example correction="Okey-dokey"><marker>Okey-dokay</marker>, I will do that!</example>
            </rule>
        </rulegroup>
        <rulegroup id="DON_T_AREN_T" name="don't aren't">
            <antipattern>
                <token regexp="yes" skip="2">who|which|that</token>
                <token>n't</token>
            </antipattern>
            <antipattern>
                <token skip="2" regexp="yes">if|when</token>
                <token>n't</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="2">who|which|that</token>
                <token>cannot</token>
            </antipattern>
            <antipattern>
                <token skip="2" regexp="yes">if|when</token>
                <token>cannot</token>
            </antipattern>
            <antipattern><!-- caught by WAN_T -->
                <token>want</token>
                <token/>
                <token>n't</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">[a-z]{2,30}</token>
                    <token spacebefore="no">n't</token>
                    <token regexp="yes">[a-z]{2,30}</token>
                    <token spacebefore="no">n't</token>
                </pattern>
                <message>Two consecutive contractions are very uncommon. Did you maybe just mean <suggestion>\1\2</suggestion> or <suggestion>\3\4</suggestion>?</message>
                <example correction="aren't|don't">They <marker>aren't don't</marker> really happy.</example>
                <example>The ones who don't won't be around very long.</example>
                <example>If it isn’t don’t say things that could be considered offensive.</example>
            </rule>
            <rule>
                <pattern>
                    <token>cannot</token>
                    <token regexp="yes">[a-z]{2,30}</token>
                    <token spacebefore="no">n't</token>
                </pattern>
                <message>Two consecutive contractions are very uncommon. Did you maybe just mean <suggestion>\1</suggestion> or <suggestion>\2\3</suggestion>?</message>
                <example correction="cannot|can't">I <marker>cannot can't</marker> do it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">[a-z]{2,30}</token>
                    <token spacebefore="no">n't</token>
                    <token>cannot</token>
                </pattern>
                <message>Two consecutive contractions are very uncommon. Did you maybe just mean <suggestion>\1\2</suggestion> or <suggestion>\3</suggestion>?</message>
                <example correction="can't|cannot">I <marker>can't cannot</marker> do it.</example>
            </rule>
        </rulegroup>
        <rule id="WON_T_TO" name="I won't (want) to be">
            <pattern>
                <marker>
                    <token>wo</token>
                    <token>n't</token>
                </marker>
                <token>to</token>
                <token postag="VB" />
            </pattern>
            <message>The modal verb "will" can't be used with "to". Did you mean <suggestion>want</suggestion>?</message>
            <example correction="want">I <marker>won't</marker> to be happy.</example>
        </rule>
        <rule id="OF_ALL_TIMES" name="He's the best of all times">
            <pattern>
                <token postag="JJS" skip="4" />
                <marker>
                    <token>of</token>
                    <token>all</token>
                    <token>times</token>
                </marker>
            </pattern>
            <message>In this context, the idiom needs to be spelled <suggestion>\2 \3 <match no="4" regexp_match="s$" regexp_replace="" /></suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/of%20all%20time</url>
            <example correction="of all time">In my opinion, he is still the greatest basketball player <marker>of all times</marker>.</example>
        </rule>
        <rulegroup id="IN_THE_MEAN_TIME_PHRASE" name="in the mean time (meantime)">
            <rule>
                <pattern>
                    <token>in</token>
                    <token>the</token>
                    <token>mean</token>
                    <token regexp="yes">time|while</token>
                </pattern>
                <message>The correct spelling for this commonly used idiom is <suggestion>\1 \2 \3<match no="4" case_conversion="alllower" /></suggestion>.</message>
                <url>https://www.merriam-webster.com/dictionary/in%20the%20meantime</url>
                <example correction="In the meantime"><marker>In the mean time</marker>, I have checked your CV for mistakes.</example>
            </rule>
            <rule>
                <antipattern><!-- https://en.wikipedia.org/wiki/Mean_time_between_failures -->
                    <token>mean</token>
                    <token>time</token>
                    <token>between</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>mean</token>
                        <token regexp="yes">time|while</token>
                    </marker>
                </pattern>
                <message>This adverb that is commonly used for introductory phrases is spelled as one word.</message>
                <suggestion>mean<match no="3" case_conversion="alllower" /></suggestion>
                <example correction="Meanwhile"><marker>Mean while</marker>, I have corrected all your grammar mistakes.</example>
                <example>Mean time between failures (MTBF) is the predicted elapsed time between inherent failures of a mechanical or electronic system.</example>
            </rule>
        </rulegroup>
        <rule id="IN_TERM_OF_PHRASE" name="in term (terms) of">
            <antipattern>
                <token>in</token>
                <token>terms</token>
                <token>of</token>
            </antipattern>
            <pattern>
                <token>in</token>
                <token regexp="yes">terms?</token>
                <token regexp="yes">off?</token>
            </pattern>
            <message>Did you mean the commonly used phrase <suggestion>\1 \2s \3</suggestion>?</message>
            <url>https://www.lexico.com/definition/in_terms_of</url>
            <example correction="In terms of"><marker>In term of</marker> academic freedom, however, the process has hardly been progressive.</example>
        </rule>
        <rule id="IN_THE_LONG_TERMS" name="in term (terms) of">
            <antipattern>
                <token>in</token>
                <token>the</token>
                <token regexp="yes">long|short</token>
                <token regexp="yes">term|run</token>
            </antipattern>
            <pattern>
                <token>in</token>
                <token>the</token>
                <token regexp="yes">lon?g|short</token>
                <token regexp="yes">(term|run)s?</token>
            </pattern>
            <message>Did you mean the commonly used phrase <suggestion>\1 \2 <match no="3" regexp_match="(?i)og" regexp_replace="ong" /> <match no="4" regexp_match="s" regexp_replace="" /></suggestion>?</message>
            <url>https://www.lexico.com/definition/in_the_long_term</url>
            <example correction="In the long term"><marker>In the long terms</marker> we will be happy.</example>
        </rule>
        <rule id="COULDVE" name="couldve (could've)">
            <pattern>
                <token regexp="yes">(c|w|should)ouldve</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="(?i)ve" regexp_replace="" />'ve</suggestion> or <suggestion><match no="1" regexp_match="(?i)ve" regexp_replace="" /> have</suggestion>?</message>
            <example correction="could've|could have">I <marker>couldve</marker> done it.</example>
        </rule>
        <rule id="THAT_VERY_COOL" name="That cool (That is cool)">
            <antipattern>
                <token regexp="yes">this|that</token>
                <token postag="RB" min="0" />
                <token postag="JJ" />
                <token regexp="yes">,|and|n?or|&amp;|but</token>
                <token postag="RB" min="0" />
                <token postag="JJ|VBD" postag_regexp="yes" /><!-- some adjectives ending with "ed" are not tagged as JJ but only VBD-->
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <token postag="UH" min="0">
                    <exception>check</exception>
                </token>
                <token min="0">,</token>
                <marker>
                    <token regexp="yes">that|this</token>
                </marker>
                <token min="0" regexp="yes">so|very|really|not|totally|even|pretty|absolutely|still|extremely|kinda|almost|too</token>
                <token regexp="yes">&short_adjectives;|&optional_short_adjectives;|awesome|beautiful|ready|(im)?possible|different|wrong|fine|ok(ay)?|(al)?right|available|ready|dangerous|enough|sexy|delicious|excellent|annoying|(in)?correct|dizzy</token>
                <token postag="SENT_END|PCT|CC" postag_regexp="yes">
                    <exception>?</exception>
                    <exception>now</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>\4 is</suggestion> or <suggestion>\4 was</suggestion>?</message>
            <example correction="That is|That was"><marker>That</marker> great.</example>
            <example>That sweet, sweet tipping point.</example>
            <example>This early?</example>
            <example>That kind of sucks.</example>
            <example>This tall and handsome man helped me.</example>
            <example>This new and improved coffee maker will revolutionize the way you start your morning.</example>
            <example>This extremely low and inaccurate value then gets cited in news articles which state that Singapore has the world's lowest fertility, or at least use the figure for its shock value.</example>
        </rule>

        <rulegroup id="THAT_SOUND_GREAT" name="That sound (sounds) cool">
            <!-- TODO Tom said that <sound> a lot like his favorite music -->
            <antipattern>
                <token regexp="yes">that|this</token>
                <token postag="RB" min="1" max="2" />
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token>well</token>
                <token>enough</token>
            </antipattern>
            <antipattern><!-- that club full of ... -->
                <token regexp="yes">this|that</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token>full</token>
                <token>of</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="UH|RB" postag_regexp="yes" min="0">
                        <exception>check</exception>
                    </token>
                    <token min="0">,</token>
                    <token regexp="yes">that|this</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="VBP">
                            <exception>time</exception>
                            <exception postag="VBD|MD" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token min="0" regexp="yes">so|very|really|not|totally|even|pretty|incredibly|exceptionally|absolutely|still|extremely|kinda|almost|too</token>
                    <token regexp="yes">&short_adjectives;|&optional_short_adjectives;|awesome|beautiful|ready|(im)?possible|different|wrong|fine|ok(ay)?|(al)?right|available|ready|dangerous|enough|sexy|delicious|excellent|annoying|(in)?correct|dizzy</token>
                    <token postag="CC|PCT|IN|SENT_END" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion><match no="6" postag="VBZ" /></suggestion>?</message>
                <example correction="sounds">That <marker>sound</marker> great.</example>
                <example correction="sounds">That <marker>sound</marker> very cool.</example>
                <example correction="seems">Well, that hardly <marker>seem</marker> fair at all.</example>
                <example>These are the ones I think that are good but you guys might think a lot of them are useless.</example>
                <example correction="holds">This probably <marker>hold</marker> true for all doctors.</example>
                <example>That man left before I could get his name.</example>
                <example>THIS TIME OFF.</example>
                <example>Check this sound ok?</example>
                <example>That club full of ladies.</example>
            </rule>
            <rule>
                <antipattern><!-- but a bunch of people we know that are really good -->
                    <token chunk="E-NP-plural" />
                    <token postag="PRP" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">that|this|it</token>
                    <token>are</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">hope|think|guess|suppose|believe|assume|doubt|know|say</token>
                    <token regexp="yes">that|this|it|s?he</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">t?here</exception>
                    </token>
                    <marker>
                        <token postag="VBP">
                            <exception>time</exception>
                            <exception postag="VBD|MD|IN" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token min="0" regexp="yes">so|very|really|not|totally|even|pretty|incredibly|exceptionally|absolutely|still|extremely|kinda|almost|too</token>
                    <token regexp="yes">&short_adjectives;|&optional_short_adjectives;|awesome|beautiful|ready|(im)?possible|different|wrong|fine|ok(ay)?|(al)?right|available|ready|dangerous|enough|sexy|delicious|excellent|annoying|(in)?correct|dizzy</token>
                    <token postag="CC|PCT|IN|SENT_END" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion><match no="4" postag="VBZ" /></suggestion>?</message>
                <example correction="sounds">I think that <marker>sound</marker> great.</example>
                <example correction="looks">I hope that <marker>look</marker> very nice.</example>
                <example correction="works">I wrote this NRQL but I don’t think it <marker>work</marker> so good.</example>
                <example>Tom said he felt dizzy.</example>
                <example>I know it well enought.</example>
                <example>Say it out loud.</example>
                <example>They are a new band, but a bunch of people we know that are really good.</example>
                <example>By the way, you do know that there are red and green lights.</example>
            </rule>
        </rulegroup>
        <rule id="SOUND_GREAT" name="Sound (sounds) great">
            <pattern>
                <token postag="SENT_START" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Ss]ound|[Ss]eem|[Ll]ook</token>
                </marker>
                <token min="0" regexp="yes">so|very|really|not|totally|even|pretty|incredibly|exceptionally|absolutely|still|extremely|kinda|almost|too</token>
                <token regexp="yes">&short_adjectives;|&optional_short_adjectives;|awesome|beautiful|ready|(im)?possible|different|wrong|fine|ok(ay)?|alright|available|ready|dangerous|enough|sexy|delicious|excellent|annoying|(in)?correct|dizzy</token>
                <token regexp="yes">to|for|\.|!|,|because|but|in|on|with(out)?|at|t?here|from</token>
            </pattern>
            <message>Did you mean <suggestion><match no="2" postag="VBZ" /></suggestion>?</message>
            <example correction="Sounds"><marker>Sound</marker> great!</example>
            <example>I know it well enough.</example>
            <example>Look right at her.</example>
            <example>Look right here.</example>
        </rule>
        <rule id="EDITOR_IN_CHIEF_HYPHEN" name="editor-in-chief">
            <pattern>
                <token regexp="yes">editors?</token>
                <token>in</token>
                <token>chief</token>
            </pattern>
            <message>The noun <suggestion>\1-\2-\3</suggestion> is normally spelled with hyphens.</message>
            <url>https://en.wikipedia.org/wiki/Editor-in-chief</url>
            <example correction="editor-in-chief">He is the <marker>editor in chief</marker> of the New York Times.</example>
        </rule>
        <rule id="LATE_TERM_HYPHEN" name="missing hyphen in 'late-term'">
            <pattern>
                <marker>
                    <token>late</token>
                    <token>term</token>
                </marker>
                <token regexp="yes">abortions?|pregnanc(y|ies)|miscarriages?|bab(y|ies)|birth|complications?|fetals?</token>
            </pattern>
            <message>The adjective <suggestion>late-term</suggestion> is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/late-term</url>
            <example correction="late-term">She had a <marker>late term</marker> abortion.</example>
        </rule>
        <rule id="MIAMI_DADE_HYPHEN" name="Miami-Dade">
            <antipattern>
                <token>Miami</token>
                <token>Dade</token>
                <token regexp="yes">College|FC</token>
            </antipattern>
            <pattern>
                <token>miami</token>
                <token>dade</token>
            </pattern>
            <message>The name of this US county is spelled with a hyphen.</message>
            <suggestion>Miami-Dade</suggestion>
            <url>https://en.wikipedia.org/wiki/Miami-Dade_County,_Florida</url>
            <example correction="Miami-Dade">He lives in the <marker>Miami Dade</marker> County.</example>
        </rule>
        <rule id="HARLEY_DAVIDSON_HYPHEN" name="Miami-Dade">
            <pattern>
                <token>harley</token>
                <token>davidson</token>
            </pattern>
            <message>The name of this motorcycle maker is spelled with a hyphen.</message>
            <suggestion>Harley-Davidson</suggestion>
            <url>https://en.wikipedia.org/wiki/Harley-Davidson</url>
            <example correction="Harley-Davidson">He drives a <marker>Harley Davidson</marker>.</example>
        </rule>
        <rule id="SLUT_SHAME_HYPHEN" name="slut-shame">
            <antipattern>
                <token>shame</token>
                <token>on</token>
                <token regexp="yes">you|her|him|them|us|me</token>
            </antipattern>
            <antipattern>
                <token>shame</token>
                <token>on</token>
                <token postag="NNP" />
            </antipattern>
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">slut|body</token>
            </antipattern>
            <pattern>
                <token regexp="yes">slut|body</token>
                <token regexp="yes">shame[sd]?|shaming</token>
            </pattern>
            <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/slut-shame</url>
            <example correction="slut-shamed">She <marker>slut shamed</marker> her best friend.</example>
            <example>You slut shame on you!</example><!-- missing punctuation -->
        </rule>
        <rulegroup id="PROBLEM_SOLVE_HYPHEN" name="problem-solve">
            <url>https://www.lexico.com/definition/problem-solve</url>
            <rule>
                <pattern>
                    <token>problem</token>
                    <token>solving</token>
                </pattern>
                <message>This noun or verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="problem-solving">There are many different approaches to <marker>problem solving</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD|TO|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>problem</token>
                        <token inflected="yes">solve</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="problem-solved">I <marker>problem solved</marker> it by reading about it on the Internet.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>problem</token>
                        <token>solve</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\2-\3</suggestion> is spelled with a hyphen.</message>
                <example correction="problem-solve">I didn't <marker>problem solve</marker> it yet.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOUBLE_HYPHEN" name="missing hyphen in 'double check/click/cross/park'">
            <url>https://www.merriam-webster.com/dictionary/double-check</url>
            <antipattern>
                <token>check</token>
                <token regexp="yes">out|in</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>double</token>
                        <token regexp="yes">check|cross|click|park|space|dip|team|date</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">I would always <marker>double check</marker> before sending a mail.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>double</token>
                        <token regexp="yes">checks?|cross(es)?|clicks?|parks?|spaces?|dips?|teams?|dates?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">I always <marker>double check</marker> before sending a mail.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>double</token>
                        <token regexp="yes">(check|cross|click|park)(ed)?|spaced?|dip(ped)?|team(ed)?|dated?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">I didn't <marker>double check</marker> before sending the mail.</example>
                <example correction="double-checked">I haven't <marker>double checked</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>double</token>
                        <token regexp="yes">check|cross|click|park|space|dip|team|date</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">Let's <marker>double check</marker> before sending the mail.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>double</token>
                        <token regexp="yes">check|cross|click|park|space|dip|team|date</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">I did not <marker>double check</marker> before sending the mail.</example>
            </rule>
            <rule>
                <pattern>
                    <token>double</token>
                    <token regexp="yes">(check|cross|click|park|team)(ed|ing)|dipp(ed|ing)|spaced|spacing</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="double-checked">He <marker>double checked</marker> before sending the mail.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>double</token>
                        <token regexp="yes">check|cross|click|space|dip|team|date</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">I forgot to <marker>double check</marker> my mail before sending it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>double</token>
                    <token regexp="yes">checks?|crosss?|clicks?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>double</token>
                        <token regexp="yes">checks?|crosss?|clicks?</token>
                    </marker>
                    <token regexp="yes">the|an?|my|y?our|his|her|their</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="double-check">I forgot to <marker>double check</marker> my mail before sending it.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DAY_TRADE_HYPHEN" name="missing hyphen in 'day trade'">
            <url>https://www.merriam-webster.com/dictionary/day-trade</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token>trade</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">I would <marker>day trade</marker> my stocks.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token regexp="yes">trade[sd]?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">I always <marker>day trade</marker> to make some money.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token regexp="yes">trade[ds]?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">I didn't <marker>day trade</marker> yet.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token>trade</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">Let's <marker>day trade</marker> before the market closes.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token>trade</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">I did not <marker>day trade</marker> today.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token>trading</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trading">I'm <marker>day trading</marker> online.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token>day</token>
                </antipattern>
                <pattern>
                    <token>day</token>
                    <token>traded</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="day-traded">He <marker>day traded</marker> and made a lot of money.</example>
                <example>Haslam compared the LME's trading turnover averaging $8 billion a day with the around $1.5 billion a day traded online by U.S. energy giant Enron Corp.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>day</token>
                        <token>trade</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">I forgot to <marker>day trade</marker> today.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>day</token>
                    <token regexp="yes">trades?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>day</token>
                        <token regexp="yes">trades?</token>
                    </marker>
                    <token regexp="yes">the|an?|my|y?our|his|her|their</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="day-trade">I forgot to <marker>day trade</marker> my stocks today.</example>
            </rule>
        </rulegroup>

        <rulegroup id="ROLE_PLAY_HYPHEN" name="missing hyphen in 'role play'">
            <url>https://www.merriam-webster.com/dictionary/role-play</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token>play</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\4</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-play">I would <marker>role play</marker> this character.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token regexp="yes">play(s|ed)?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\4</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-play">I always <marker>role play</marker> this character.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token regexp="yes">play(s|ed)?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\4</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-play">I didn't <marker>role play</marker> anyone yet.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token>play</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\5</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-play">Let's <marker>role play</marker>!.</example>
            </rule>
            <rule>
                <antipattern>
                    <!-- no hyphen suggested, this could also be a noun, see second example -->
                    <token>
                        <exception inflected="yes">not</exception>
                    </token>
                    <token>role</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">roll|role</token>
                        <token>play</token>
                    </marker>
                </pattern>
                <message>Did you mean<suggestion>role-\4</suggestion>?</message>
                <example correction="role-play">I did not <marker>role play</marker> anyone today.</example>
                <example>I'm currently doing role play.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token>playing</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\4</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-playing">I'm <marker>role playing</marker> this character.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="PRP\$|DT|POS" postag_regexp="yes" />
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">role|roll</token>
                </antipattern>
                <antipattern>
                    <token>played</token>
                    <token>by</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">role|roll</token>
                    <token>played</token>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\2</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-played">He <marker>role played</marker> until they confronted him about it.</example>
                <example>China's acute role played two parts within their community, one being a part of the horror that took place and the other side being remorseful.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token>play</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\4</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-play">I wanted to <marker>role play</marker> him today.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$|POS" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">roll|role</token>
                    <token regexp="yes">plays?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">role|roll</token>
                        <token regexp="yes">plays?</token>
                    </marker>
                    <token regexp="yes">the|an?|my|y?our|his|her|their</token>
                </pattern>
                <message>Did you mean the verb <suggestion>role-\2</suggestion> (spelled with a hyphen)?</message>
                <example correction="role-plays">He <marker>role plays</marker> his father.</example>
            </rule>
        </rulegroup>

        <rulegroup id="ROLLER_SKATE_HYPHEN" name="missing hyphen in 'roller skate'">
            <url>https://www.merriam-webster.com/dictionary/roller-skate</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token>skate</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skate">I would <marker>roller skate</marker> down the hill.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token regexp="yes">skate[sd]?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skate">I always <marker>roller skate</marker> down the hill.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token regexp="yes">skate[ds]?|skating</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skate">I didn't <marker>roller skate</marker> today.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token>skate</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skate">Let's <marker>roller skate</marker> down the hill.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token>skate</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skate">I did not <marker>roller skate</marker> today.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token>skating</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skating">I'm <marker>roller skating</marker> down the hill.</example>
            </rule>
            <rule>
                <pattern>
                    <token>roller</token>
                    <token>skated</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skated">He <marker>roller skated</marker> down the hill.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>roller</token>
                        <token>skate</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="roller-skate">I forgot to <marker>roller skate</marker> today.</example>
            </rule>
        </rulegroup>
        <rulegroup id="STRONG_ARM_HYPHEN" name="missing hyphen in 'strong arm'">
            <url>https://www.merriam-webster.com/dictionary/strong-arm</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token>arm</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-arm">I will <marker>strong arm</marker> myself to protect me and my family.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token regexp="yes">arm(s|ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-armed">I <marker>strong armed</marker> myself to protect my family.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token regexp="yes">arm(s|ed|ing)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-arm">I didn't <marker>strong arm</marker> myself.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token>arm</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-arm">Let's <marker>strong arm</marker> ourselves to protect our families.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token>arm</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-arm">I did not <marker>strong arm</marker> myself.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token>arming</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-arming">I'm <marker>strong arming</marker> myself.</example>
            </rule>
            <rule>
                <pattern>
                    <token>strong</token>
                    <token>armed</token>
                </pattern>
                <message>The verb or adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-armed">He <marker>strong armed</marker> himself.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>strong</token>
                        <token>arm</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="strong-arm">I want to <marker>strong arm</marker> myself.</example>
            </rule>
        </rulegroup>

        <rulegroup id="DEAD_LIFT_COMPOUND" name="compound verb 'dead lift'">
            <url>https://www.merriam-webster.com/dictionary/deadlift</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dead</token>
                        <token>lift</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlift">I can <marker>dead lift</marker> 200 KG.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dead</token>
                        <token regexp="yes">lifts?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlift">I <marker>dead lift</marker> 200 KG.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dead</token>
                        <token regexp="yes">lift(ed|s|ing)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlift">I didn't <marker>dead lift</marker> 200 KG.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dead</token>
                        <token>lift</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="5" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlift">Let's <marker>dead lift</marker> 200 KG.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token>not</token>
                    <marker>
                        <token>dead</token>
                        <token>lift</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlift">I did not <marker>dead lift</marker> anything today.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dead</token>
                        <token>lifting</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlifting">I'm <marker>dead lifting</marker> 200 KG.</example>
            </rule>
            <rule>
                <pattern>
                    <token>dead</token>
                    <token>lifted</token>
                </pattern>
                <message>The verb <suggestion>dead<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlifted">He <marker>dead lifted</marker> 200 KG.</example>
                <example>Haslam compared the LME's trading turnover averaging $8 billion a day with the around $1.5 billion a day traded online by U.S. energy giant Enron Corp.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dead</token>
                        <token>lift</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>dead<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="deadlift">I want to <marker>dead lift</marker> 200 KG.</example>
            </rule>
        </rulegroup>

        <rulegroup id="GUILT_TRIP_HYPHEN" name="missing hyphen in 'guilt trip'">
            <url>https://www.merriam-webster.com/dictionary/guilt-trip</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guilt</token>
                        <token>trip</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-trip">A pay increase will not <marker>guilt trip</marker> them into improvements.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guilt</token>
                        <token regexp="yes">trip(s|ped)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-tripped">She <marker>guilt tripped</marker> me into the visit the way only mothers can do so there's no way out.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guilt</token>
                        <token regexp="yes">trip(s|ped)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-trip">They didn't <marker>guilt trip</marker> us.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guilt</token>
                        <token>trip</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-trip">Let's <marker>guilt trip</marker> them.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guilt</token>
                        <token>trip</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-trip">I did not <marker>guilt trip</marker> them.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>guilt</token>
                        <token regexp="yes">tripping|tripped</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-tripping">There is no point <marker>guilt tripping</marker> the consumer.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guilt</token>
                        <token>trip</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guilt-trip">Try to <marker>guilt trip</marker> the customer.</example>
            </rule>
        </rulegroup>

        <rulegroup id="DAISY_CHAIN_HYPHEN" name="missing hyphen in 'daisy chain'">
            <url>https://www.merriam-webster.com/dictionary/daisy-chain</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token>chain</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chain">I will <marker>daisy chain</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token regexp="yes">chain(s|ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chained">I <marker>daisy chained</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token regexp="yes">chain(s|ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chain">I didn't <marker>daisy chain</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token>chain</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chain">Let's <marker>daisy chain</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token>chain</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chain">I did not <marker>daisy chain</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token>chaining</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chaining">I'm <marker>daisy chaining</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>daisy</token>
                    <token regexp="yes">chained|chaining</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chained">He <marker>daisy chained</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>daisy</token>
                        <token>chain</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="daisy-chain">I forgot to <marker>daisy chain</marker> it.</example>
            </rule>
        </rulegroup>

        <rule id="CLEAR_CUT_HYPHEN" name="missing hyphen in 'clear cut'">
            <pattern>
                <token>clear</token>
                <token regexp="yes">cut(ting|s)?</token>
            </pattern>
            <message>This word is normally spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/clear-cut</url>
            <example correction="clear-cut">It was a <marker>clear cut</marker> decision.</example>
        </rule>

        <rulegroup id="CLICK_HYPHEN" name="missing hyphen in 'right/left click'">
            <url>https://www.merriam-webster.com/dictionary/right-click</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token>click</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">I would always <marker>right click</marker> to copy text.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token regexp="yes">clicks?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">I always <marker>right click</marker> to copy text.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token regexp="yes">click(ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">I didn't <marker>right click</marker> to copy the text.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token regexp="yes">click(ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">Let's <marker>right click</marker> on that button.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token regexp="yes">click(ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">I did not <marker>right click</marker> to open the context menu.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">right|left|middle</token>
                    <token regexp="yes">clicked|clicking</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="right-clicked">He <marker>right clicked</marker> on the button to see all options.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token>click</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">I forgot to <marker>right click</marker> and copy.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">right|left|middle</token>
                    <token regexp="yes">clicks?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">clicks?</token>
                    <token regexp="yes">that|th[eo]se</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">right|left|middle</token>
                        <token regexp="yes">clicks?</token>
                    </marker>
                    <token min="0">on</token>
                    <token regexp="yes">the|an?|this|that|th[eo]se|my|y?our|his|her|their</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="right-click">I forgot to <marker>right click</marker> the button.</example>
            </rule>
        </rulegroup>
        <rule id="OTHER_WISE_COMPOUND" name="other wise (otherwise)">
            <antipattern>
                <token>wise</token>
                <token min="0">old</token>
                <token regexp="yes">m[ae]n|guys?</token>
            </antipattern>
            <pattern>
                <token>other</token>
                <token>wise</token>
            </pattern>
            <message>This has to be spelled as one word.</message>
            <suggestion>otherwise</suggestion>
            <url>https://www.merriam-webster.com/dictionary/otherwise</url>
            <example correction="otherwise">He was ordered to testify and could not do <marker>other wise</marker>.</example>
            <example>The fact that Jesus' status as a wise man among other wise men is not unique tells against this being a Christian interpolation.</example>
            <example>Aristotle, and other wise men declared, that the spirits which exist naturally in living things, are of three kinds.</example>
        </rule>
        <rule id="FURTHER_MORE_COMPOUND" name="further more (furthermore)">
            <pattern>
                <marker>
                    <token>further</token>
                    <token>more</token>
                </marker>
                <token postag="PCT|PRP.*|MD|DT|W.*" postag_regexp="yes" />
            </pattern>
            <message>This adverb is normally spelled as one word.</message>
            <suggestion>furthermore</suggestion>
            <url>https://www.merriam-webster.com/dictionary/furthermore</url>
            <example correction="Furthermore"><marker>Further more</marker>, her work is always excellent.</example>
            <example>Of course, I expect Trump and his US military are still providing Turkey satellite surveillance to further more horror.</example>
        </rule>
        <rule id="FINE_TUNE_COMPOUNDS" name="fine tune (fine-tune)">
            <antipattern>
                <token regexp="yes">an?|the|y?our|my|his|her|its|their|some|th[eo]se|this</token>
                <token regexp="yes" min="0">very|really|pretty</token>
                <token postag="JJ" min="0" />
                <token>fine</token>
                <token regexp="yes">tunes?</token>
            </antipattern>
            <pattern>
                <token>fine</token>
                <token regexp="yes">tune[ds]|tuning</token>
            </pattern>
            <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/fine-tune</url>
            <example correction="fine-tuned">Peter <marker>fine tuned</marker> the temperatur of the room.</example>
            <example>He listened to those fine tunes.</example>
        </rule>
        <rulegroup id="CROSS_COMPOUNDS" name="cross-check">
            <rule>
                <antipattern>
                    <token>arrow</token>
                    <token regexp="yes">cross(es)?</token>
                </antipattern>
                <antipattern>
                    <token>check</token>
                    <token regexp="yes">marks?|mates?</token>
                </antipattern>
                <pattern>
                    <token>cross</token>
                    <token regexp="yes">check(s|ed|ing)?|fade(s|d)?|fading|beams?|reference(s|d)?|referencing|index(es|ing|ed)?|match(es|ing|ed)?|refer(s|red|ring)?|react(s|ed|ing)?|reactions?|sell(s|ing)?|sold|cultural|compilers?|assemblers?|functional|grain|party|sectoral|voting|sections?|walk|examine(s|d)?|examining|examination|ruff(ed|s|ing)?</token>
                </pattern>
                <message>The word <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <url>https://www.merriam-webster.com/dictionary/cross-check</url>
                <example correction="cross-check">Please always try to <marker>cross check</marker> your bearings.</example>
                <example>The Fascist Arrow Cross Party similarly referred to Hungary as Hunnia in its propaganda.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="TO|PRP|MD" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token>cross</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <token>cross</token>
                </antipattern>
                <antipattern>
                    <token>cross</token>
                    <token>country</token>
                    <token regexp="yes">championships?|carnivals?|run|runners?|participants?|sport|ski.*</token>
                </antipattern>
                <antipattern>
                    <token>world</token>
                    <token>cross</token>
                    <token>country</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">\d+</token>
                    <token>Cross</token>
                    <token>County</token>
                    <token regexp="yes">Road|Rd</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">20\d{2}</token>
                    <token>Cross</token>
                    <token>Country</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>Cross</token>
                    <token>Country</token>
                </antipattern>
                <antipattern>
                    <token skip="4" inflected="yes" regexp="yes">participate|run|sport</token>
                    <token>cross</token>
                    <token>country</token>
                </antipattern>
                <pattern>
                    <token>cross</token>
                    <token regexp="yes">town|country</token>
                </pattern>
                <message>The noun, adjective or adverb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="cross-town">She drove <marker>cross town</marker> just to see me.</example>
                <example>I didn't cross town.</example>
                <example>Street name: 400 Cross County Rd</example>
            </rule>
        </rulegroup>
        <rule id="DOG_COMPOUNDS" name="bull dog (bulldog)">
            <antipattern>
                <token>pit</token>
                <token>bull</token>
            </antipattern>
            <pattern>
                <token>bull</token>
                <token regexp="yes">dogs?</token>
            </pattern>
            <message>The noun <suggestion>bull<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="bulldog">Everyday, he walks his <marker>bull dog</marker>.</example>
        </rule>
        <rule id="ROOM_COMPOUNDS" name="bed room (bedroom)">
            <antipattern>
                <token>stock</token>
                <token>room</token>
                <token regexp="yes">photos?|images?</token>
            </antipattern>
            <antipattern>
                <token>show</token>
                <token>rooms</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">show|work</token>
                <token chunk="I-NP-plural">room</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">show|work</token>
                <token chunk="I-NP-singular">room</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">show|work</token>
                <token chunk="B-NP-plural">room</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">show|work</token>
                <token chunk="B-NP-singular">room</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z].+</token>
                <token>Room</token>
            </antipattern>
            <pattern>
                <token regexp="yes">mush|bed|rest|bath|ball|board|class|school|court|lunch|sales|stock|show|news|head|work|wash|club|pool|coat|ware|tool|leg|tea|bar|gun</token>
                <token regexp="yes">rooms?</token>
            </pattern>
            <message>The noun <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="bedroom">Everyday, he wakes up in his <marker>bed room</marker>.</example>
            <example>Show room contents.</example>
            <example>Mary Mac's Tea Room and Paschal's are more formal destinations for Southern food.</example>
        </rule>
        <rulegroup id="BALL_COMPOUNDS" name="foot ball (football)">
            <rule>
                <pattern>
                    <token>cannon</token>
                    <token regexp="yes">ball(ed|s|ing)?</token>
                </pattern>
                <message><suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="cannonballing">He is <marker>cannon balling</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" skip="1">one|a</token>
                    <token>balls</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[A-Z].*</token>
                    <token>Ball</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">foot|hand|dodge|base|fire|eye|pin|hair|speed|cannon|paint</token>
                    <token regexp="yes">balls?</token>
                </pattern>
                <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="football">Tom is a great <marker>foot ball</marker> player.</example>
            </rule>
        </rulegroup>
        <rule id="CYBER_COMPOUNDS" name="cyber security (cybersecurity)">
            <antipattern>
                <token>National</token>
                <token>Cyber</token>
                <token>Security</token>
            </antipattern>
            <antipattern>
                <token>College</token>
                <token>of</token>
                <token>Cyber</token>
                <token>Security</token>
            </antipattern>
            <pattern>
                <token>cyber</token>
                <token regexp="yes">security|bully|bullie[ds]|bullying|attacks?|attacked|attacking|attackers?|space|cafes?|cafés?|wars?|stalkers?|stalking|terrorists?|terrorism</token>
            </pattern>
            <message>The word <suggestion>cyber<match no="2" case_conversion="alllower" /></suggestion> is spelled as one.</message>
            <example correction="cyberattack">The company suffered badly from a <marker>cyber attack</marker>.</example>
            <example>The National Cyber Security Centre (NCSC) provides security guidance and support helping to make the UK the safest place to live and work online.</example>
        </rule>
        <rule id="STEP_COMPOUNDS" name="step father (stepfather)">
            <antipattern case_sensitive="yes">
                <token>Step</token>
                <token regexp="yes">[A-Z].+</token>
            </antipattern>
            <pattern>
                <token>step</token>
                <token regexp="yes">(father|mother|mom|dad|son|daughter|brother|sister)s?|child|children|family|families|parents?|ladders?</token>
            </pattern>
            <message>The noun <suggestion>step<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="stepson">She has a <marker>step son</marker> from his previous marriage.</example>
        </rule>
        <rule id="BOX_COMPOUNDS" name="mail box (mailbox)">
            <pattern>
                <token regexp="yes">mail|sand</token>
                <token>box</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="mailbox">Please check your messages in your <marker>mail box</marker>.</example>
        </rule>
        <rule id="SUIT_COMPOUNDS" name="swim suit (swimsuit)">
            <antipattern>
                <token regexp="yes">law|body|counter|space|track|snow|jump|cat|sun</token><!-- nouns-->
                <token>suits</token>
                <token regexp="yes">my|y?our|the|an?|their|his|her</token>
            </antipattern>
            <pattern>
                <token regexp="yes">law|body|swim|jump|counter|track|pant|snow|pur|cat|sun|wet</token>
                <token regexp="yes">suite?s?</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" regexp_match="(?i)e" regexp_replace="" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="swimsuit">She was wearing a nice <marker>swim suit</marker> at the beach.</example>
            <example>The law suits my temperament, just as drawing in two dimensions fits it.</example>
        </rule>
        <rule id="BREAST_COMPOUNDS" name="breast plate (breastplate)">
            <pattern>
                <token>breast</token>
                <token regexp="yes">plates?|feed(s|ing)?|fed|bones?</token>
            </pattern>
            <message>The word <suggestion>breast<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="breastplates">They were so pretty, with those burnished <marker>breast plates</marker>.</example>
        </rule>
        <rule id="LONG_COMPOUNDS" name="life long">
            <antipattern>
                <token skip="2" regexp="yes">whole|entire</token>
                <token>life</token>
            </antipattern>
            <antipattern>
                <token>long</token>
                <token>ago</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>life</token>
                    <token>long</token>
                </marker>
                <token postag="JJ|NN.*" postag_regexp="yes">
                    <exception postag="VBD" />
                </token>
            </pattern>
            <message>The adjective <suggestion>lifelong</suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/lifelong</url>
            <example correction="lifelong">They had a <marker>life long</marker> relationship.</example>
            <example>While scholars of Kant's life long accepted the claim, there is no evidence that Kant's paternal line was Scottish.</example>
            <example>In all, the positive view of Soviet life long presented to the public by the official media was rapidly fading.</example>
            <example>She was a part of my life long ago.</example>
        </rule>
        <rule id="NOTE_COMPOUNDS" name="key note (keynote)">
            <antipattern case_sensitive="yes"><!-- Currency and Bank Notes Act 1928 -->
                <token>Bank</token>
                <token>Notes</token>
                <token>Act</token>
            </antipattern>
            <pattern>
                <token regexp="yes">foot|key|bank|head|fist</token>
                <token regexp="yes">notes?</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="keynotes">Steve Jobs' biggest strength was his unique appearance in Apple's <marker>key notes</marker>.</example>
        </rule>
        <rule id="EYE_COMPOUNDS" name="eye brow/lash/lid/sight/sore (eyebrow/eyelash/eyelid/eyesight/eyesore)">
            <pattern>
                <token>eye</token>
                <token inflected="yes" regexp="yes">brow|lash|sight|sore|lid|glass</token>
            </pattern>
            <message>This word is usually spelled as one word.</message>
            <suggestion><match no="1" /><match no="2" case_conversion="alllower" /></suggestion>
            <short>Possible typo</short>
            <example correction="eyelids">Calcium deposits on <marker>eye lids</marker></example>
        </rule>
        <rule id="LIGHT_COMPOUNDS" name="day light (daylight)">
            <antipattern case_sensitive="yes"><!-- company names -->
                <token>Gas</token>
                <token>Light</token>
            </antipattern>
            <antipattern><!-- company names -->
                <token>Gas</token>
                <token>Light</token>
                <token>Company</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">main|wall</token>
                <token>street</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z].*</token>
                <token>street</token>
            </antipattern>
            <antipattern>
                <token>lights</token>
                <token regexp="yes">the|an?|my|y?our|their|his|her|its|these|those|this</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">an?|one</token>
                <token>lights</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">lights?</token>
                <token>up</token>
            </antipattern>
            <pattern>
                <token regexp="yes">day|flash|spot|sun|gas|candle|star|sky|lime|flood|earth|torch|head</token>
                <token regexp="yes">lights?</token>
            </pattern>
            <message>This word is usually spelled as one word: <suggestion><match no="1" /><match no="2" case_conversion="alllower" /></suggestion>.</message>
            <short>Possible typo</short>
            <example correction="daylight">Vampires try to avoid the <marker>day light</marker>.</example>
            <example>The flash lights the entire photo studio.</example>
            <example>Sun lights the landscape, pain illuminates the soul.</example>
            <example>The sky lights up when the sun comes out.</example>
        </rule>
        <rule id="SIDE_COMPOUNDS" name="country side (countryside)">
            <pattern>
                <token postag="DT|POS" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception regexp="yes">other|opposite|different|right|left</exception>
                </token>
                <marker>
                    <token regexp="yes">country|sea|river|water|road|hill|lake|curb|fire|beach|shore|court|dock|broad|bed|trail</token>
                    <token>side</token>
                </marker>
            </pattern>
            <message>The noun or adjective <suggestion><match no="3" case_conversion="alllower" />side</suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/countryside</url>
            <example correction="countryside">He explored the surrounding <marker>country side</marker>.</example>
            <example>The Cossacks built 3 bridges and Bohun led 2 thousand cavalry with 2 cannons to the other river side.</example>
        </rule>
        <rule id="THUNDER_COMPOUNDS" name="thunder storm (thunderstorm)">
            <pattern>
                <token>thunder</token>
                <token regexp="yes">storms?|birds?|snow|bolts?|claps?|clouds?|struck|showers?|heads?</token>
            </pattern>
            <message>The word <suggestion>thunder<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="thunderstruck">They were <marker>thunder struck</marker> by this revelation.</example>
        </rule>
        <rulegroup id="DROP_SHIP_HYPHEN" name="drop-ship">
            <url>https://www.merriam-webster.com/dictionary/drop-ship</url>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Dd]ropship(ping|ed|s)?</token>
                </pattern>
                <message>This verb is normally spelled with a hyphen.</message>
                <suggestion><match no="1" regexp_match="op" regexp_replace="op-" /></suggestion>
                <example correction="drop-ship">I will <marker>dropship</marker> you the package.</example>
            </rule>
            <rule>
                <pattern>
                    <token>drop</token>
                    <token regexp="yes">ship(ping|ped|s)?</token>
                </pattern>
                <message>This verb is normally spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="drop-ship">I will <marker>drop ship</marker> you the package.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ON_COMPOUNDS" name="on boarding (onboarding)">
            <antipattern>
                <token regexp="yes" inflected="yes">save|depend|based</token>
                <token>on</token>
                <token>line</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>on</token>
                <token>boarding</token>
                <token regexp="yes">pass(es)?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>on</token>
                    <token>boarding</token>
                </pattern>
                <message>The word <suggestion>onboarding</suggestion> is spelled as one word.</message>
                <url>https://www.merriam-webster.com/dictionary/onboarding</url>
                <example correction="onboarding">The <marker>on boarding</marker> UI.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token>of</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>on</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|of|in|y?our|his|their</token>
                    <token postag="JJ" min="0" />
                    <marker>
                        <token>on</token>
                        <token regexp="yes">board|stage</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>onboard</suggestion> is spelled as one word.</message>
                <url>https://www.merriam-webster.com/dictionary/onboard</url>
                <example correction="onboard">The car comes with an <marker>on board</marker> computer.</example>
                <example>Dr. Hellofs has excellent teaching ratings, and I'm pleased to have her on board.</example>
                <example>Give it to her on stage #5</example>
            </rule>
            <rule>
                <antipattern>
                    <token>on</token>
                    <token>line</token>
                    <token regexp="yes">number|#|no|num|\d+.*</token>
                </antipattern>
                <antipattern>
                    <token>on</token>
                    <token>line</token>
                    <token regexp="yes" case_sensitive="yes">[A-HJ-Z]</token>
                </antipattern>
                <antipattern>
                    <token skip="3">line</token>
                    <token postag="CD" />
                </antipattern>
                <antipattern>
                    <token skip="1">line</token>
                    <token regexp="yes">X|Y|Z</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">LINE</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- LINE is a chat app -->
                    <token regexp="yes">on|off</token>
                    <token>Line</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">on|off</token>
                    <token>
                        line
                    </token>
                </pattern>
                <message>Did you mean the adverb or adjective <suggestion><match no="1" case_conversion="alllower" />line</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/online</url>
                <example correction="online">My new website is <marker>on line</marker>.</example>
                <example>You can find it on line 1-2.</example>
            </rule>
        </rulegroup>
        <rule id="HEAD_COMPOUNDS" name="head shot (thunderstorm)">
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Head_Hunters -->
                <token>Head</token>
                <token>Hunters</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">shots?</token>
                <token>up</token>
            </antipattern>
            <antipattern>
                <token>shot</token>
                <token>off</token>
            </antipattern>
            <antipattern>
                <token>head</token>
                <token>lands</token>
                <token regexp="yes">on|in|at</token>
            </antipattern>
            <pattern>
                <token>head</token>
                <token regexp="yes">spaces?|shots?|shrinkers?|hunters?|quarters?|masters?|boards?|gear|wear|ships?|winds?|bands?|rooms?|set|lands?|stones?|phones?</token>
            </pattern>
            <message>The word <suggestion>head<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="headlands">These represent the <marker>head lands</marker> separating bundles of strips within the open fields</example>
            <example>My head shot up at the sound of the front door creaking open.</example>
        </rule>
        <rule id="MATE_COMPOUNDS" name="stale mate (stalemate)">
            <pattern>
                <token regexp="yes">stale|room|class|school|seat|work|cell|ship|team|litter</token>
                <token regexp="yes">mates?</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="stalemate">The game ended in a <marker>stale mate</marker>.</example>
        </rule>
        <rule id="MAN_COMPOUNDS" name="business man (businessman)">
            <antipattern>
                <token>fresh</token>
                <token>man</token>
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token>fresh</token>
                <token>man</token>
                <token chunk="E-NP-plural" />
            </antipattern>
            <pattern>
                <token regexp="yes">fisher|business|warehouse|chair|spokes|sales|horse|anchor|stunt|gun|congress|boogey|swords|fresh|sea|front|infantry|weather|council</token>
                <token regexp="yes">m[ae]n</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="businessman">He is a successful <marker>business man</marker> from Germany.</example>
            <example>I got a fresh man bun from my hairstylist.</example>
        </rule>
        <rule id="WOMAN_COMPOUNDS" name="business woman (businesswoman)">
            <antipattern case_sensitive="yes">
                <token>Business</token>
                <token regexp="yes">Wom[ea]n</token>
            </antipattern>
            <pattern>
                <token regexp="yes">spokes|congress|business|chair|fresh|front</token>
                <token regexp="yes">wom[ae]n</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="businesswoman">She is a successful <marker>business woman</marker> from Germany.</example>
            <example>American Business Women's Day is an American holiday.</example>
        </rule>
        <rule id="PRINT_COMPOUNDS" name="foot print (footprint)">
            <antipattern>
                <token regexp="yes" skip="1">an?|one</token>
                <token>prints</token>
            </antipattern>
            <pattern>
                <token regexp="yes">foot|thumb|voice|blue|finger|news</token>
                <token regexp="yes">prints?</token>
            </pattern>
            <message>The noun <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="fingerprint">She unlocked her smartphone with her <marker>finger print</marker>.</example>
        </rule>
        <rule id="SHELL_COMPOUNDS" name="bomb shell (bombshell)">
            <pattern>
                <token regexp="yes">bomb|nut|sea|egg|cockle|lamp|sub|clam</token>
                <token regexp="yes">shells?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/nutshell</url>
            <example correction="nutshell">I can explain it in a <marker>nut shell</marker>.</example>
        </rule>
        <rule id="LINE_COMPOUNDS" name="dead line (deadline)">
            <antipattern><!-- https://hpletconnect.energytransfer.com/ -->
                <token regexp="yes">houston|olympic|canyon|oasis|panhandle|foothills|williams</token>
                <token>pipe</token>
                <token regexp="yes">lines?</token>
            </antipattern>
            <antipattern><!-- https://hpletconnect.energytransfer.com/ -->
                <token>pipe</token>
                <token>line</token>
                <token regexp="yes">company|corp(oration)?|co</token>
            </antipattern>
            <antipattern><!-- https://aopl.org/ -->
                <token>association</token>
                <token>of</token>
                <token>oil</token>
                <token>pipe</token>
            </antipattern>
            <antipattern>
                <token>delaware</token>
                <token>coast</token>
                <token>line</token>
            </antipattern>
            <antipattern>
                <token>lines</token>
                <token>up</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">east|west</token>
                <token>coast</token>
            </antipattern>
            <pattern>
                <token regexp="yes">dead|guide|border|pipe|base|head|stream|blood|roof|pot|coast|bee|life|time</token>
                <token regexp="yes">lines?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/deadline</url>
            <example correction="deadline">We completed the task before it hit the <marker>dead line</marker>.</example>
            <example>The enron counterparty is Houston Pipe Line Company.</example>
            <example>The main east coast line runs through the province connecting with the SNCF (French Railways) at Portbou on the coast.</example>
        </rule>
        <rule id="OWNER_COMPOUNDS" name="home owner (homeowner)">
            <pattern>
                <token regexp="yes">ship|land|home</token>
                <token regexp="yes">owners?</token>
            </pattern>
            <message>This noun normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="homeowner">A <marker>home owner</marker> is someone who owns a house.</example>
        </rule>
        <rule id="LAW_COMPOUNDS" name="law suit (lawsuit)">
            <antipattern>
                <token>law</token>
                <token regexp="yes">suits?</token>
                <token regexp="yes">the|an?|his|her|their|my|y?our</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">an?|one</token>
                <token>suits</token>
            </antipattern>
            <pattern>
                <token>law</token>
                <token regexp="yes">suits?|fare|breakers?|givers?|makers?</token>
            </pattern>
            <message>This noun normally spelled as one word.</message>
            <suggestion>law<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="lawsuit">She filed a <marker>law suit</marker> against the city.</example>
            <example>The law suits my taste.</example>
        </rule>
        <rule id="HOOD_COMPOUNDS" name="neighbor hood (neighborhood)">
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Father_Hood -->
                <token regexp="yes">Father|Baby</token>
                <token>Hood</token>
            </antipattern>
            <pattern>
                <token regexp="yes">grandparent|neighbou?r|creature|bachelor|spinster|brother|widower|toddler|prophet|servant|mother|priest|father|sister|knight|person|people|maiden|nation|cousin|victim|orphan|parent|child|woman|false|state|widow|saint|monks|hardi|human|witch|adult|puppy|fairy|self|monk|maid|wife|serf|king|girl|baby|lady|aunt|man|god|boy</token>
                <token regexp="yes">hoods?</token>
            </pattern>
            <message>This noun normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="neighborhood">She lives in a wealthy <marker>neighbor hood</marker>.</example>
            <example>Old Father Hood, standing over there as he has been since time out of mind, took a couple of human lives the other day.</example>
        </rule>
        <rule id="MARK_COMPOUNDS" name="trade mark (trademark)">
            <antipattern>
                <token>trade</token>
                <token>marks</token>
                <token>act</token>
            </antipattern>
            <antipattern>
                <token>marks</token>
                <token regexp="yes">the|an?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">high|low</token>
                <token>tide</token>
                <token regexp="yes">marks?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">reichs|trade|bench|water|birth|metal|press|match|land|hall|book|tele|post|tide|pock|sitz|foot|ear|sea|ost</token>
                <token regexp="yes">marks?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="trademark">You can't copy his <marker>trade mark</marker>.</example>
            <example>This first trade marks the end of the confrontation between the two countries.</example>
        </rule>
        <rule id="FRIEND_COMPOUNDS" name="boy friend (boyfriend)">
            <antipattern><!-- https://en.wikipedia.org/wiki/Superman's_Girl_Friend,_Lois_Lane -->
                <token skip="2">Superman</token>
                <token>Girl</token>
                <token>Friend</token>
            </antipattern>
            <antipattern>
                <token skip="-1">platonic</token>
                <token regexp="yes">friends?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">friends?</token>
                <token>platonic</token>
            </antipattern>
            <pattern>
                <token regexp="yes">boy|girl</token>
                <token regexp="yes">friends?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/boyfriend</url>
            <example correction="girlfriend">Tom and his <marker>girl friend</marker> are in love.</example>
            <example>Superman's Girl Friend, Lois Lane is an American comic book series.</example>
        </rule>
        <rule id="WORTHY_COMPOUNDS" name="news worthy (newsworthy)">
            <pattern>
                <token regexp="yes">untrust|praise|credit|unnews|trust|blame|crash|unsea|thank|note|news|road|sea|air</token>
                <token>worthy</token>
            </pattern>
            <message>This adjective is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="newsworthy">The event was very popular and seemed <marker>news worthy</marker>.</example>
        </rule>
        <rule id="COUNTER_COMPOUNDS" name="counter part (counterpart)">
            <antipattern><!-- BBC series -->
                <token>point</token>
                <token>counter</token>
                <token>point</token>
            </antipattern>
            <pattern>
                <token>counter</token>
                <token regexp="yes">parts?|party|parties|intuitive|feits?|feiters?|points?|protest(er)?s?|productive|proposals?|acts?|acted|acting|weights?|balances?|clockwise|tenors?|arguments?|factuals?|terroris[tm]s?|movements?|intelligence|espionage|sign(s|ed|ing)?|cyclical</token>
            </pattern>
            <message>This word is normally spelled as one word.</message>
            <suggestion>counter<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="counterparts">The secretary of defense met with his <marker>counter parts</marker> in Asia to discuss the nuclear crisis.</example>
        </rule>
        <rule id="YARD_COMPOUNDS" name="grave yard (graveyard)">
            <antipattern>
                <token>Brooklyn</token>
                <token>Boat</token>
                <token>Yard</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">u?s</token>
                <token min="0">.</token>
                <token>steel</token>
                <token>yard</token>
            </antipattern>
            <antipattern>
                <token>stock</token>
                <token>yards</token>
                <token>bank</token>
            </antipattern>
            <pattern>
                <token regexp="yes">grave|ship|dock|vine|farm|junk|boat|barn|door|lumber|church|steel|stock|lan|scrap|brick|ball</token>
                <token regexp="yes">yards?</token>
            </pattern>
            <message>This word is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="dockyard">When Henry VIII founded a <marker>dock yard</marker> for building ships in Deptford, the area became renowned across the shipping industry</example>
            <example>The team plays in Gary's U.S. Steel Yard baseball stadium.</example>
        </rule>
        <rulegroup id="HAND_COMPOUNDS" name="before hand (beforehand)">
            <antipattern>
                <token>hand</token>
                <token regexp="yes">in|to</token>
                <token regexp="yes">hand|glove</token>
            </antipattern>
            <antipattern>
                <token>hand</token>
                <token regexp="yes">sanitizers?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>before</token>
                    <token>hand</token>
                </pattern>
                <message>This adverb or adjective is spelled as one word.</message>
                <suggestion>beforehand</suggestion>
                <url>https://www.merriam-webster.com/dictionary/beforehand</url>
                <example correction="beforehand">He did it <marker>before hand</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">look|seem|be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token>some</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>handsome</suggestion> is spelled as one word.</message>
                <example correction="handsome">He is <marker>hand some</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>hand</token>
                        <token>some</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token regexp="yes">(wo)?man|gentlem[ea]n|(wo)?men|boys?|guys?</token>
                </pattern>
                <message>The adjective <suggestion>handsome</suggestion> is spelled as one word.</message>
                <example correction="handsome">He is a <marker>hand some</marker> man.</example>
            </rule>
            <rule>
                <pattern>
                    <token>hand</token>
                    <token regexp="yes">rails?|railings?|shake|shakers?|carts?</token>
                </pattern>
                <message>The noun <suggestion>hand<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="handrail">The <marker>hand rail</marker> was very slippery.</example>
                <example>One hand shakes the other.</example>
            </rule>
            <rule>
                <pattern>
                    <token>hand</token>
                    <token>craft</token>
                </pattern>
                <message>The noun or verb <suggestion>hand<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="handcraft">I will <marker>hand craft</marker> a solution.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>hand</token>
                    <token />
                    <token regexp="yes">an?|the|my|y?our|his|her|their|its</token>
                </antipattern>
                <pattern>
                    <token>hand</token>
                    <token regexp="yes">written|writing|crafted|crafting|washing|picking</token>
                </pattern>
                <message>This word is normally spelled as one.</message>
                <suggestion>hand<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="handwritten">On the kitchen table she left a <marker>hand written</marker> notice.</example>
                <example>I never witnesses my hand writing a letter.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">write|craft|bag|wash|pick</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="4" /></suggestion> is spelled as one word.</message>
                <example correction="handwrite">I would always <marker>hand write</marker> my letters.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">writes?|wrote|crafts?|crafted|bags?|wash(e[ds])?|pick(s|ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="4" /></suggestion> is spelled as one word.</message>
                <example correction="handwrite">I always <marker>hand write</marker> my mails.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">write|written|wrote|craft(ed)?|bag(ged)?|wash(ed)?|pick(ed)?</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="4" /></suggestion> is spelled as one word</message>
                <example correction="handwrite">I didn't <marker>hand write</marker> this notice.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">write|craft|bag|wash|pick</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="5" /></suggestion> is spelled as one word.</message>
                <example correction="handwrite">Let's <marker>hand write</marker> this letter.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">write|craft|bag|wash|pick</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="4" /></suggestion> is spelled as one word.</message>
                <example correction="handwrite">I did not <marker>hand write</marker> this letter.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">write|craft|bag|wash|pick</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="4" /></suggestion> is spelled as one word.</message>
                <example correction="handwrite">I forgot to <marker>hand write</marker> a letter.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token min="0">been</token>
                    <marker>
                        <token>hand</token>
                        <token regexp="yes">written|writing|crafted|crafting|washing|picking</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>hand<match case_conversion="alllower" no="4" /></suggestion> is spelled as one word.</message>
                <example correction="handwritten">The letter has been <marker>hand written</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>hand</token>
                    <token regexp="yes" case_sensitive="yes">deliver(s|ed|ing)?</token>
                </pattern>
                <message>This word is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://dictionary.cambridge.org/us/dictionary/english/hand-deliver</url>
                <example correction="Hand-deliver"><marker>Hand deliver</marker> this to Mr. Lounds by closing time on Tuesday, please.</example>
                <example correction="hand-deliver">Please <marker>hand deliver</marker> a copy of our comments to S L Rao.</example>
            </rule>
        </rulegroup>
        <rule id="SPACE_COMPOUNDS" name="space ship (spaceship)">
            <pattern>
                <token>space</token>
                <token regexp="yes">crafts?|suites?|walkers?|ships?|ports?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion>space<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="spaceship">She was flying to the moon in a <marker>space ship</marker>.</example>
        </rule>
        <rule id="WHOLE_COMPOUNDS" name="whole sale (wholesale)">
            <pattern>
                <token>whole</token>
                <token regexp="yes">sale|some|hearted</token>
            </pattern>
            <message>This word is normally spelled as one word.</message>
            <suggestion>whole<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="wholesale">Bottles from this region sell <marker>whole sale</marker> at about £72 a case.</example>
        </rule>
        <rule id="WARE_COMPOUNDS" name="soft ware (software)">
            <pattern>
                <token regexp="yes">ransom|free|kitchen|earthen|lacquer|granite|crackle|course|silver|dinner|hollow|wooden|enamel|yellow|willow|luster|jasper|sponge|hypera|share|group|table|glass|stone|vapou?r|china|brass|metal|cream|bloat|delft|hollo|treen|agate|soft|hard|firm|gift|cook|bake|flat|stem|iron|dish|oven|slip|outs|clay|cane|bar|wet|red|tin|sea|tea</token>
                <token>ware</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="software">He installed the <marker>soft ware</marker> on his computer.</example>
        </rule>
        <rule id="HAIR_COMPOUNDS" name="hair style (hairstyle)">
            <pattern>
                <token>hair</token>
                <token regexp="yes">styles?|bands?|brush(es)?|cloths?|balls?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>hair<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="hairstyle">Look, I have a new <marker>hair style</marker>.</example>
        </rule>
        <rule id="PLACE_COMPOUNDS" name="market place (marketplace)">
            <antipattern case_sensitive="yes"><!-- He lives at 130 Market Place. -->
                <token>Market</token>
                <token>Place</token>
            </antipattern>
            <pattern>
                <token regexp="yes">market|birth</token>
                <token regexp="yes">places?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="marketplace">They are selling their fruits at a <marker>market place</marker>.</example>
            <example>He lives at 130 Market Place.</example>
        </rule>
        <rulegroup id="DOOR_COMPOUNDS" name="in door (indoor)">
            <rule>
                <pattern>
                    <token postag="DT|PRP\$?|IN" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">in|out</token>
                        <token>door</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion><match no="3" case_conversion="alllower" /><match no="4" case_conversion="alllower" /></suggestion>?</message>
                <example correction="outdoor">He is a fan of <marker>out door</marker> sports.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">in|out</token>
                        <token>door</token>
                    </marker>
                    <token regexp="yes">sports?|activit(y|ies)|events?|cricket|departments?|girls?|pursuits?|champion.*|soccers?|stadiums?|footballs?|seasons?|games?|climbing|concerts?|ads?|advertising|furnitures?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>?</message>
                <example correction="outdoor">He is a fan of <marker>out door</marker> sports.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">point</token>
                    <token>out</token>
                </antipattern>
                <antipattern>
                    <token>doors</token>
                    <token regexp="yes">that|which|whose</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>out</token>
                        <token>doors</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>?</message>
                <example correction="outdoors">It was warm enough to eat <marker>out doors</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="UP_COMPOUNDS" name="up date (update)">
            <antipattern>
                <token inflected="yes" regexp="yes">catch|crunch|end|start|pile|cover|speed|turn|stay|jump|pull|push|keep|tie|take|mix|sit|top|warm|run|pop|hang|line|stand|pick|back|hook|clean|look|make|follow|ramp|build|wave|clear|weld|kick|hold|shut|bring|set|free|wake|wound|divide|fill|roll|meet|come|light|open|match|rise|raise|sign|hike|lif?t|suck|wrap|perk|show|use|mess|give|split|boost|round</token>
                <token min="0" regexp="yes">it(self)?|that|this|th[oe]se|them|him|her|us|\-</token>
                <token>up</token>
            </antipattern>
            <antipattern>
                <token>side</token>
                <token>to</token>
                <token>side</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">grow</token>
                <token>up</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token regexp="yes">after|to</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>up</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- check-up time (different error) -->
                <token>check</token>
                <token>up</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>side</token>
                <token>by</token>
                <token>side</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>up</token>
                <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token>head</token>
                <token>up</token>
                <token>held</token>
                <token>by</token>
            </antipattern>
            <pattern>
                <token>up</token>
                <token inflected="yes" regexp="yes">
                    date|load|sell|coming|grade|hold|lift|set|start|side|time|roar|trend|size
                    <exception regexp="yes">timing|timed|trending|trended|roared|roaring</exception>
                </token>
            </pattern>
            <message suppress_misspelled="yes">This word is normally spelled as one. Did you mean <suggestion>up<match no="2" case_conversion="alllower" /></suggestion>?</message>
            <example correction="update">Please <marker>up date</marker> your smartphone to the latest version.</example>
            <example>We ended up selling 131 boxes at the booth on Saturday.</example>
            <example>I am setting up time for Rick to interview these candidates next Monday.</example>
            <example>The thing that's up starts to ...</example>
            <example>When is our check up time?</example>
            <example>They stood up side by side to protest.</example>
            <example>He really messed up time sheets.</example>
            <example>Papilionid chrysalis are typically attached to a substrate by the cremaster and with head up held by a silk girdle.</example>
        </rule>
        <rule id="DOWN_COMPOUNDS" name="down load (download)">
            <antipattern case_sensitive="yes">
                <token>Down</token>
                <token>Beat</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">hold|lay|shut|cut|bring|come|close|drill|run|jump|fall|hike|take|slow|go|write|shrink</token>
                <token min="0" regexp="yes">it(self)?|that|this|th[oe]se|them|him|her|us</token>
                <token>down</token>
            </antipattern>
            <antipattern>
                <token>side</token>
                <token>to</token>
                <token>side</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token regexp="yes">after|to|and|&amp;</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token regexp="yes">frames?</token>
            </antipattern>
            <pattern>
                <token>down</token>
                <token inflected="yes" regexp="yes">
                    load|grade|side|play|beat|fall|size|time|trend|loadable
                    <exception regexp="yes">timing|timed|fell|falling|trending|trended</exception>
                </token>
            </pattern>
            <message suppress_misspelled="yes">This word is normally spelled as one. Did you mean <suggestion>down<match no="2" case_conversion="alllower" /></suggestion>?</message>
            <example correction="download">Please <marker>down load</marker> the latest version.</example>
            <example>I'm going down loaded mate.</example>
        </rule>
        <rule id="ACHE_COMPOUNDS" name="head ache (headache)">
            <antipattern>
                <token chunk="B-VP" />
                <token regexp="yes">her|his|y?our</token>
                <token regexp="yes">heart|head</token>
                <token>ache</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">make</token>
                <token regexp="yes">my|your|her|his</token>
                <token regexp="yes">heart|head</token>
            </antipattern>
            <pattern>
                <token regexp="yes">heart|head|tooth</token>
                <token>ache</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/headache</url>
            <example correction="headache">Tom didn't feel good because of his <marker>head ache</marker>.</example>
            <example>How my poor heart aches!</example>
            <example>Mary was forced to sell her parents' house, where she had grown up, and this made her heart ache.</example>
            <example>The sad story made my heart ache.</example>
        </rule>
        <rulegroup id="OUT_COMPOUNDS" name="out break (outbreak)">
            <antipattern>
                <token inflected="yes">comment</token>
                <token>out</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">roll|knock</token>
                <token>out</token>
            </antipattern>
            <antipattern>
                <token>stressed</token>
                <token>out</token>
            </antipattern>
            <antipattern>
                <token>out</token>
                <token>back</token>
                <token regexp="yes">when|then|end</token>
            </antipattern>
            <antipattern>
                <token>out</token>
                <token>back</token>
                <token regexp="yes">and|n?or|&amp;</token>
                <token>forth</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|your|his|her|their|of|for|many|no</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>out</token>
                        <token regexp="yes">breaks?|dated|looks?|comes?|puts?|laws?|calls?|lines?|sides?|backs?|casts?|liners?|bound|standing|rage[ds]?|raging|fits?|perform(s|ed)?|smart(ed|s)?</token>
                    </marker>
                </pattern>
                <message>The word <suggestion>out<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="outbreak">The <marker>out break</marker> caused lockdowns all over the word.</example>
                <example>Check the commented out line below.</example>
                <example>It sounded like you were a bit on the stressed out side.</example>
                <example>He took her out back when corona wasn't there yet.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">look|seem|be|have</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>out</token>
                        <token regexp="yes">dated|standing|lin(ed|ing)|perfom(ed|ing)|rag(ed|ing)|smart(ed|ing)|compet(ed|ing)</token>
                    </marker>
                </pattern>
                <message>The adjective or verb <suggestion>out<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
                <example correction="outdated">This software is <marker>out dated</marker>.</example>
                <example correction="outstanding">The new version of LanguageTool is <marker>out standing</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>out</token>
                        <token regexp="yes">compete|perform|rage|smart|line</token>
                    </marker>
                </pattern>
                <message>This verb is normally spelled as one word.</message>
                <suggestion>out<match no="4" case_conversion="alllower" /></suggestion>
                <example correction="outcompete">They will <marker>out compete</marker> the others.</example>
            </rule>
        </rulegroup>
        <rule id="HOW_COMPOUNDS" name="any how (anyhow)">
            <antipattern><!-- A How To-->
                <token>how</token>
                <token>to</token>
                <token><exception postag="VBP" /></token>
            </antipattern>
            <pattern>
                <token regexp="yes">any|some</token>
                <token>how</token>
            </pattern>
            <message>The adverb <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="Somehow"><marker>Some how</marker> I manged to get this task done.</example>
            <example>Let's find some how to that describes all steps in detail.</example>
        </rule>
        <rule id="LAND_COMPOUNDS" name="land lord (landlord)">
            <pattern>
                <token>land</token>
                <token regexp="yes">fall|slide|lords?|marks?|form|lady</token>
            </pattern>
            <message>The word <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <example correction="landlord">The goal is to educate tenants about the legal amount their <marker>land lord</marker> can up their rent.</example>
        </rule>
        <rule id="HOME_COMPOUNDS" name="home land (homeland)">
            <antipattern>
                <token regexp="yes">google|connect|smart</token>
                <token>home</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">stay</token>
                <token min="0">at</token>
                <token>home</token>
            </antipattern>
            <antipattern>
                <token>work</token>
                <token postag="RB" min="0" />
                <token regexp="yes">fine|good|well</token>
            </antipattern>
            <antipattern>
                <token>home</token>
                <token>made</token>
                <token regexp="yes">me|my|him|his|her|it|them|their|us|our|your?|the|an?|many|no</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">work</token>
                <token regexp="yes">from|at</token>
                <token>home</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token skip="1">a</token>
                <token>home</token>
                <token>made</token>
                <token min="0">out</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>home</token>
                <token>work</token>
                <token regexp="yes">stations?|spaces?</token>
            </antipattern>
            <antipattern>
                <token>back</token>
                <token>home</token>
                <token>made</token>
            </antipattern>
            <pattern>
                <token>home</token>
                <token regexp="yes">lands?|made|sickness(es)?|schooling|grown|work|boys?</token>
            </pattern>
            <message>The word <suggestion>home<match no="2" case_conversion="alllower" /></suggestion> is normally spelled as one word.</message>
            <example correction="homework">The teacher handed out the <marker>home work</marker>.</example>
            <example>The new home works as a surrogate of home.</example>
            <example>Stay at home boy!</example>
            <example>Lee W. Stanley, The Old Home Town.</example>
            <example>My smart home made all my friends jealous.</example>
            <example>Also, within the private sector there are a number of home schools.</example>
            <example>Our new home made her happy.</example>
            <example>Your new home made it easier for me to visit you.</example>
        </rule>
        <rule id="HOUSE_COMPOUNDS" name="house hold (household)">
            <antipattern><!-- book name https://www.ndbooks.com/book/earth-house-hold/ -->
                <token>earth</token>
                <token>house</token>
                <token>hold</token>
            </antipattern>
            <antipattern>
                <token>Dr</token>
                <token min="0">.</token>
                <token>House</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token />
                <token />
                <token regexp="yes">House|HOUSE</token>
                <token>holds</token>
            </antipattern>
            <antipattern>
                <token>guest</token>
                <token>house</token>
                <token regexp="yes">rooms?</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z].*</token>
                <token>House</token>
                <token>work</token>
            </antipattern>
            <pattern>
                <token>house</token>
                <token regexp="yes">wife|wives|holds?|work|boats?|breakers?|keepers?|masters?|holders?|fathers?|dress(es)?|boaters?|mothers?|keeping|persons?|wifery|parents?|rooms?|maids?|leeks?|fly|flies|bound</token>
            </pattern>
            <message>The word <suggestion>house<match no="2" case_conversion="alllower" /></suggestion> is normally spelled as one word.</message>
            <example correction="housemaid">She does all the cleaning because she is a <marker>house maid</marker>.</example>
            <example>My house works like my office.</example>
        </rule>
        <rule id="BACK_COMPOUNDS" name="back log (backlog)">
            <antipattern>
                <token>hand</token>
                <token>in</token>
                <token regexp="yes">hand|glove</token>
            </antipattern>
            <antipattern>
                <token>back</token>
                <token>to</token>
                <token>back</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">top|right|bottom|left|side|north|south|east|west</token>
                <token regexp="yes">and|&amp;</token>
                <token>back</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">take|come</token>
                <token>back</token>
            </antipattern>
            <antipattern><!-- proper noun -->
                <token>back</token>
                <token>stage</token>
                <token>magazine</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">bring</token>
                <token>back</token>
                <token>stories</token>
            </antipattern>
            <antipattern>
                <token>back</token>
                <token>stops</token>
                <token postag="TO|VBG" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token>back</token>
                <token regexp="yes">logs?|ache|lash(es)?|bones?|drops?|packs?|packing|packed|packers?|grounds?|stages?|spaces?|spins?|stabs?|stabbed|stabbing|stabbers?|beats?|flips?|streets?|breakers?|gammon|slash(es)?|hands?|lights?|stretch(es)?|stops?|stopped|stopping|stor(y|ies)|plates?|fills?|filled|flipped|flipping</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>back<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="backlog">We can move the task to our <marker>back log</marker>.</example>
            <example correction="backache">She went to the osteopathic clinic because of a bad <marker>back ache</marker>.</example>
            <example correction="backfilled">The company <marker>back filled</marker> Joe's position after he was terminated.</example>
            <example>We headed back hand in hand.</example>
            <example>Moving shift knob to left and back drops it into lower gear.</example>
            <example>Yes, I thought was to not take back space in the EOT area since we have some available and were not looking to expand there.</example>
            <example>Singer/Songwriter of the Year, Back Stage Magazine, NYC 2001</example>
            <example>My back aches.</example>
            <example>Tom went for a sabbatical to South America and brought back stories of joy and adventure.</example>
            <example>My back stops hurting.</example>
        </rule>
        <rule id="WRITER_COMPOUNDS" name="ghost writer (ghostwriter)">
            <antipattern>
                <token>screen</token>
                <token regexp="yes" skip="2">writer.*</token>
                <token>guild</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Ghost</token>
                <token>Writer</token>
            </antipattern>
            <pattern>
                <token regexp="yes">copy|script|sky|screen|type|ghost|song|speech</token>
                <token regexp="yes">writers?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="ghostwriter">I employed a <marker>ghost writer</marker> for my new book.</example>
        </rule>
        <rule id="WORKER_COMPOUNDS" name="steel worker (steelworker)">
            <antipattern><!-- https://en.wikipedia.org/wiki/United_Auto_Workers -->
                <token skip="1">united</token>
                <token>workers</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">Auto|Farm|Iron</token>
                <token>Workers</token>
            </antipattern>
            <antipattern>
                <token skip="3">in</token>
                <token>case</token>
                <token regexp="yes">workers?</token>
            </antipattern>
            <antipattern>
                <token>glass</token>
                <token regexp="yes" skip="2">workers?</token>
                <token>guild</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">part|full|real</token>
                <token>time</token>
                <token regexp="yes">workers?</token>
            </antipattern>
            <antipattern>
                <token>association</token>
                <token skip="4">of</token>
                <token regexp="yes">workers?</token>
            </antipattern>
            <antipattern>
                <token>sheet</token>
                <token>metal</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token>workers</token>
                <token inflected="yes">spend</token>
            </antipattern>
            <pattern>
                <token regexp="yes">craft|needle|piece|metal|steel|glass|iron|dock|auto|wage|wood|time|hand|farm|case|non|net</token>
                <token regexp="yes">workers?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="steelworker">Tom once was earned his money as a <marker>steel worker</marker>.</example>
            <example>We need to prepare just in case workers are going to strike.</example>
            <example>The effort would effectively put the White House on the side of the United Auto Workers.</example>
            <example>The unions are the Operating Engineers, Insulators and Sheet Metal Workers</example>
            <example>You know, the Auto Workers' new contract makes Election Day a holiday for their members.</example>
            <example>The amount of time workers spend on the production line is critical for the success of the company.</example>
        </rule>
        <rule id="MAKER_COMPOUNDS" name="trouble maker (troublemaker)">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Film|Movie</token>
                <token regexp="yes">Makers?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">trouble|cabinet|clock|chip|holiday|truck|boiler|phrase|peace|match|dress|watch|movie|policy|taste|noise|glass|plate|steel|paper|shirt|print|money|merry|auto|shoe|film|pace|rain|home|play|news|king|tool|ods|sail|myth|snow|tent|lock|drug|love|wine|law|car|hay|map|bed|die|wig|war|cap|hat</token>
                <token regexp="yes">makers?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="troublemaker">He's such a <marker>trouble maker</marker>.</example>
            <example>Ōban Star-Racers moved to Tokyo to collaborate with a Japanese production team from Hal Film Maker.</example>
            <example>Movie Maker 10</example>
        </rule>
        <rule id="FIGHTER_COMPOUNDS" name="fire fighter (firefighter)">
            <antipattern case_sensitive="yes"><!-- video game -->
                <token>Prize</token>
                <token>Fighter</token>
            </antipattern>
            <pattern>
                <token regexp="yes">fire|prize|gun|bull</token>
                <token regexp="yes">fighters?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="firefighter">He always wanted to become a <marker>fire fighter</marker> when he was a child.</example>
        </rule>
        <rule id="ROLL_COMPOUNDS" name="pay roll (payroll)">
            <antipattern>
                <token regexp="yes">rolls?</token>
                <token>out</token>
            </antipattern>
            <pattern>
                <token regexp="yes">pay|bank|bed</token>
                <token>roll</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="payroll">We have 10 employees on our <marker>pay roll</marker>.</example>
        </rule>
        <rule id="KEEPER_COMPOUNDS" name="bar keeper (barkeeper)">
            <antipattern><!-- https://en.wikipedia.org/wiki/Bar_Keepers_Friend -->
                <token>bar</token>
                <token>keepers</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token>friend</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Bar</token>
                <token>Keepers</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Zoo_Keeper_(2003_video_game) -->
                <token>Zoo</token>
                <token>Keeper</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token>the</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token>after</token>
                <token>time</token>
            </antipattern>
            <pattern>
                <token regexp="yes">grounds|greens|house|peace|score|store|green|stock|goal|gate|shop|game|time|door|lock|book|inn|bee|zoo|bar</token>
                <token regexp="yes">keepers?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="goalkeepers">Manuel Neuer was one of the best <marker>goal keepers</marker> in the world.</example>
            <example>Try either Bar Keepers Friend or Bon Ami.</example>
        </rule>
        <rulegroup id="PER_USER_BASIS_HYPHEN" name="missing hyphen in 'per user basis'">
            <rule>
                <pattern>
                    <marker>
                        <token>per</token>
                        <token regexp="yes">user|student|employee|worker|unit|trade|app(lication)?|ticket|transaction|request|account|person|file|document|share|entity|tenant|directory|incident|feature|service|location|host|guest|attendee|project|customer</token>
                    </marker>
                    <token postag="JJ" min="0">
                        <exception postag="IN" />
                    </token>
                    <token regexp="yes">license|model|revenue|profit|basis|base|pricing|price|fee|royalty|income|consumption|rate</token>
                </pattern>
                <message>In this context, <suggestion>\1-\2</suggestion> forms an adjective and is spelled with a hyphen.</message>
                <example correction="per-user">The <marker>per user</marker> pricing was as cheap as expected.</example>
                <example>The consensus among the 28 analysts is for Oracle to earn $0.10 per share on revenue.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|y?our|their|my|his|her</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>per</token>
                        <token regexp="yes">user|student|employee|worker|unit|trade|app(lication)?|ticket|transaction|request|account|person|file|document|share|entity|tenant|directory|incident|feature|service|location|host|guest|attendee|project|customer</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="MD|IN|CC|W.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>In this context, <suggestion>\3-\4</suggestion> forms an adjective and is spelled with a hyphen.</message>
                <example correction="per-user">The <marker>per user</marker> cost was as cheap as expected.</example>
            </rule>
            <rule>
                <pattern>
                    <token>a</token>
                    <marker>
                        <token>per</token>
                        <token postag="NN|NN:UN?" postag_regexp="yes" />
                    </marker>
                    <token postag="JJ" min="0">
                        <exception postag="IN" />
                    </token>
                    <token>basis</token>
                </pattern>
                <message>In this context, <suggestion>\2-\3</suggestion> forms an adjective and is spelled with a hyphen.</message>
                <example correction="per-request">He calculated the price on a <marker>per request</marker> basis.</example>
            </rule>
        </rulegroup>
        <rule id="KNOW_IT_ALL_HYPHEN" name="missing hyphens in 'know it all'">
            <pattern>
                <token regexp="yes">the|an?|my|his|her|their|y?our</token>
                <token postag="JJ" min="0">
                    <exception postag="NN.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>know</token>
                    <token>it</token>
                    <token regexp="yes">alls?</token>
                </marker>
            </pattern>
            <message>The noun or adjective <suggestion>\3-\4-\5</suggestion> is spelled with hyphens.</message>
            <example correction="know-it-all">No one likes a <marker>know it all</marker>.</example>
        </rule>
        <rule id="KICK_START_HYPHEN" name="kick start (kick-start)">
            <pattern>
                <token>kick</token>
                <token regexp="yes">start(ed|ing|s)?|starters?</token>
            </pattern>
            <message>The word <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/kick-start</url>
            <example correction="kick-start">They need to <marker>kick start</marker> the economy.</example>
        </rule>
        <rule id="SUBJECT_MATTER_HYPHEN" name="missing hyphen in 'subject matter expert'">
            <pattern>
                <token>subject</token>
                <token>matter</token>
                <token regexp="yes">experts?</token>
            </pattern>
            <message>This term is normally spelled with a hyphen.</message>
            <suggestion>\1-\2 \3</suggestion>
            <url>https://en.wikipedia.org/wiki/Subject-matter_expert</url>
            <example correction="subject-matter expert">A <marker>subject matter expert</marker> (SME) is a person who is an authority in a particular area or topic.</example>
        </rule>
        <rule id="OFF_KEY_HYPHEN" name="missing hyphen in 'off key'">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception regexp="yes">s[iau]ngs?|rap(ped|ping|s)?|rhym(e|es|ed|ing)</exception>
                </token>
                <token>off</token>
            </antipattern>
            <antipattern>
                <token>off</token>
                <token skip="2">key</token>
                <token>on</token>
            </antipattern>
            <pattern>
                <token>off</token>
                <token>key</token>
            </pattern>
            <message>The adjective or adverb <suggestion>\1-\2</suggestion> (= out of tune) is spelled with a hyphen</message>
            <url>https://www.merriam-webster.com/dictionary/off-key</url>
            <example correction="off-key">Once every candle burned brightly, an <marker>off key</marker> chorus began to sing a song.</example>
            <example correction="off-key">He sang <marker>off key</marker>.</example>
            <example>Now they must sell off key assets to stay afloat.</example>
            <example>In 2008, Intel spun off key assets of a solar startup business effort to form an independent company.</example>
            <example>The battery light and oil light normally stays on constantly with engine off key on.</example>
        </rule>
        <rule id="SUPER_COMPOUNDS" name="super market (supermarket)">
            <antipattern><!-- proper nouns -->
                <token>super</token>
                <token>hero</token>
                <token regexp="yes">girls?|squads?</token>
            </antipattern>
            <antipattern><!-- proper nouns -->
                <token regexp="yes">marvel|dc|lego</token>
                <token>super</token>
                <token regexp="yes">hero(es)?</token>
            </antipattern>
            <antipattern><!-- https://www.publix.com/ -->
                <token>Publix</token>
                <token>Super</token>
                <token>Markets</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Super</token>
                <token regexp="yes">[A-Z].+</token>
            </antipattern>
            <pattern>
                <token>super</token>
                <token regexp="yes">cells?|markets?|moons?|delegates?|tankers?|glues?|spreaders?|speading|hero(es)?|chargers?|models?|charge(d|s)?|charging|highways?|stars?|intelligence|powers?|naturals?|ordinate[sd]?|massive|users?|impose[ds]?|imposing|impositions?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="supermarket">I need to buy some groceries at the <marker>super market</marker>.</example>
            <example>Lego Marvel Super Heroes</example>
        </rule>
        <rule id="STAIRS_COMPOUNDS" name="down stairs (downstairs)">
            <antipattern>
                <token>up</token>
                <token regexp="yes">&amp;|and|or</token>
                <token>down</token>
            </antipattern>
            <antipattern><!-- torn-up stairs -->
                <token>torn</token>
                <token>up</token>
                <token>stairs</token>
            </antipattern>
            <antipattern><!-- He fell down stairs -->
                <token inflected="yes">fall</token>
                <token>down</token>
            </antipattern>
            <pattern>
                <token regexp="yes">up|down</token>
                <token>stairs</token>
            </pattern>
            <message>Did you mean <suggestion>\1stairs</suggestion>?</message>
            <example correction="upstairs">Please go <marker>up stairs</marker> to your room.</example>
            <example>We can walk up and down stairs.</example>
            <example>He fell down stairs</example>
        </rule>
        <rule id="TAIL_COMPOUNDS" name="cock tail (cocktail)">
            <pattern>
                <token regexp="yes">cock|pig|mock|duck|bob|pony|whip</token>
                <token regexp="yes">tails?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="cocktail">I would like to drink a <marker>cock tail</marker>.</example>
        </rule>
        <rule id="NEWS_COMPOUNDS" name="news paper (newspaper)">
            <antipattern case_sensitive="yes">
                <token>News</token>
                <token>Group</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>News</token>
                <token>Letter</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">fox|mercury|cnn|bbc|nyt|abc|msnbc|nbc|rt|google|msn|yahoo</token>
                <token>news</token>
            </antipattern>
            <antipattern>
                <token>news</token>
                <token postag="VBZ" />
                <token regexp="yes">us|him|her|his|y?our|my|them|their|the|an?</token>
            </antipattern>
            <pattern>
                <token>news</token>
                <token regexp="yes">papers?|letters?|readers?|rooms?|agents?|dealers?|groups?|hounds?|makers?|reels?|wom[ea]n|wires?|stands?|casts?|casters?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>news<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="newspaper">Did you read today's <marker>news paper</marker>?</example>
            <example>The onboard announcements are by BBC News reader (and tram enthusiast) Nicholas Owen.</example>
            <example>The News Letter, the oldest English-language newspaper in the world still in publication.</example>
            <example>Fox News (officially known as the Fox News Channel, commonly abbreviated to FNC) is a United States pay television news channel owned by the Fox News Group, a division of Fox.</example>
            <example>The news hounds us</example>
        </rule>
        <rule id="WIDE_COMPOUNDS" name="wide spread (widespread)">
            <antipattern>
                <token>wide</token>
                <token>spread</token>
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token postag="DT" skip="1" />
                <token>wide</token>
                <token>spread</token>
                <token postag="PCT|CC" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token>wide</token>
                <token regexp="yes">spread|band|mouthed</token>
            </pattern>
            <message>The adjective <suggestion>wide<match no="2" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/widespread</url>
            <example correction="widespread">It was a <marker>wide spread</marker> virus.</example>
            <example>Though lacking MusicLab's support a wide spread of BearShare versions from 4.7 to 5.2.5.6 remain the second most popular servent on gnutella, alongside LimeWire.</example>
            <example>The move to modernity was sanctioned because a stock price quoted in fractions forces an artificially wide spread.</example>
        </rule>
        <rule id="MOTOR_COMPOUNDS" name="motor bike (motorbike)">
            <antipattern>
                <token>motor</token>
                <token regexp="yes">trucks?|cycles?</token>
                <token regexp="yes">company|ltd|corp(oration)?|inc|llc</token>
            </antipattern>
            <pattern>
                <token>motor</token>
                <token regexp="yes">bikes?|bikers?|boats?|cycles?|doms?|trucks?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>motor<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/motorbike</url>
            <example correction="motorbike">I love driving my <marker>motor bike</marker>.</example>
            <example>BSA bought the Sunbeam motorcycles and bicycle business from Associated Motor Cycles Ltd in 1943 and then Ariel Motors Ltd in 1944.</example>
        </rule>
        <rule id="SMART_COMPOUNDS" name="smart phone (smartphone)">
            <pattern>
                <token>smart</token>
                <token regexp="yes">watch(es)?|grass(es)?|weeds?</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>smart<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.lexico.com/definition/smartwatch</url>
            <example correction="smartwatch">He got a new <marker>smart watch</marker> for Christmas.</example>
        </rule>
        <rule id="SKY_COMPOUNDS" name="sky scraper (skyscraper)">
            <antipattern><!-- Sky is also a TV Channel-->
                <token case_sensitive="yes">Sky</token>
                <token>box</token>
            </antipattern>
            <pattern>
                <token>sky</token>
                <token regexp="yes">scrapers?|rocket(s|ed|ing)?|borne|caps?|diving|divers?|dive[ds]?|hooks?|jack(s|ed)?|jackers?|jacking|lines?|larks?|sails?|walks?|ward</token>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>sky<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="skyline">New York City has a beautiful <marker>sky line</marker>.</example>
            <example>My Sky box isn't working anymore.</example>
        </rule>
        <rulegroup id="WAY_COMPOUNDS" name="park way (parkway)">
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[A-Z].*</token>
                    <token regexp="yes">Way|WAY</token>
                </antipattern>
                <antipattern>
                    <token>way</token>
                    <token regexp="yes">too|back|ahead|behind|before|after|off|out|in|up|into|down|over|under|from|past</token>
                </antipattern>
                <antipattern>
                    <token>way</token>
                    <token postag="JJR" />
                </antipattern>
                <antipattern>
                    <token>way</token>
                    <token>to</token>
                    <token>go</token>
                </antipattern>
                <antipattern><!-- You drive way to fast (different error) -->
                    <token>way</token>
                    <token>to</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <token regexp="yes">park|rail|drive|high|sky|motor|run|gate|race|path|speed|entry|water|sub|route|life|hall|door|express</token>
                    <token regexp="yes">ways?</token>
                </pattern>
                <message>This noun is normally spelled as one word.</message>
                <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
                <example correction="driveway">His car parks in the <marker>drive way</marker>.</example>
                <example>We live on Inverness Park Way, and used to live on Cedarspur a few years back.</example>
                <example>You drive way too fast.</example>
                <example>In the sky way too many clouds are seen.</example>
                <example>You can run way faster than him.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>half</token>
                        <token>way</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>The adjective or adverb <suggestion>halfway</suggestion> is spelled as one word.</message>
                <url>https://www.lexico.com/definition/halfway</url>
                <example correction="halfway">He stopped <marker>half way</marker> down the passage.</example>
                <example correction="halfway">Tom is only <marker>half way</marker> through doing that.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>half</token>
                        <token>way</token>
                    </marker>
                    <token regexp="yes">away|home|measure(ment)?|points?|marks?</token>
                </pattern>
                <message>The adjective or adverb <suggestion>halfway</suggestion> is spelled as one word.</message>
                <url>https://www.lexico.com/definition/halfway</url>
                <example correction="halfway">We've reached the <marker>half way</marker> point of the season.</example>
            </rule>
            <rule>
                <pattern>
                    <token>side</token>
                    <token>ways</token>
                </pattern>
                <message>The adjective or adverb <suggestion>sideways</suggestion> is spelled as one word.</message>
                <url>https://www.merriam-webster.com/dictionary/sideways</url>
                <example correction="sideways">The economy gets in trouble, people’s mental and emotional health goes <marker>side ways</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="HOLDER_COMPOUNDS" name="share holder (shareholder)">
            <antipattern>
                <token regexp="yes">credit|green|blue|ghana|business</token>
                <token>card</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z]+</token>
                <token regexp="yes">[Hh]olders?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">policy|candle|share|stock|stake|house|title|place|slave|stadt|stall|lease|bond|card|land|copy|tool|key</token>
                <token regexp="yes">holders?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="shareholder">Bill Gates is still a <marker>share holder</marker> of Microsoft.</example>
            <example>DBA is required for all U.S. citizens, U.S. residents, U.S. Green Card holders, and all employees or subcontractors hired on overseas government contracts.</example>
        </rule>
        <rule id="HOLE_COMPOUNDS" name="key hole (keyhole)">
            <pattern>
                <token regexp="yes">button|pigeon|cubby|thumb|stoke|chuck|hawse|loop|bore|sink|port|peep|worm|hell|knot|bolt|knee|bung|gunk|anet|key|man|pot|ass|arse|pin|fox|arm|rat|eye|mud|shit</token>
                <token regexp="yes">holes?</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="keyhole">Tom pulled his key out of his pocket and stuck it in the <marker>key hole</marker>.</example>
        </rule>
        <rule id="BREAKER_COMPOUNDS" name="law breaker (lawbreaker)">
            <antipattern case_sensitive="yes"><!-- proper noun -->
                <token>Ice</token>
                <token>Breaker</token>
            </antipattern>
            <pattern>
                <token regexp="yes">ground|strike|heart|trail|house|wind|tie|ice|law|jaw|deal</token>
                <token regexp="yes">breakers?</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="lawbreaker">He went to jail because he is a <marker>law breaker</marker>.</example>
        </rule>
        <rule id="LIFE_COMPOUNDS" name="life style (lifestyle)">
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Life_Savers -->
                <token>Life</token>
                <token regexp="yes">Guards|Time|Savers?</token>
            </antipattern>
            <antipattern>
                <token>royal</token>
                <token>life</token>
            </antipattern>
            <antipattern>
                <token>time</token>
                <token regexp="yes">frames?|sheets?|lapses?|periods?|spans?</token>
            </antipattern>
            <pattern>
                <token>life</token>
                <token regexp="yes">styles?|time|boats?|guards?|savers?|blood</token>
            </pattern>
            <message>This noun is normally spelled as one word.</message>
            <suggestion>life<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="lifestyle">He has an extraordinary <marker>life style</marker>.</example>
            <example>Life Time (1987, re-release 1999)</example>
            <example>Conscripts in the Royal Life Guards serve eight months.</example>
            <example>His life spans almost the entire 19th century.</example>
        </rule>
        <rule id="SHIP_COMPOUNDS" name="space ship (spaceship)">
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z].*</token>
                <token regexp="yes">Ship|SHIP</token>
            </antipattern>
            <antipattern>
                <token>friend</token>
                <token>ships</token>
            </antipattern>
            <antipattern>
                <token>ship</token>
                <token>it</token>
            </antipattern>
            <pattern>
                <!-- TODO: friendship (My friend ships ...) -->
                <token regexp="yes">space|relation|intern|member|leader|mentor|flag|town|trainee|citizen|scholar|owner|controller|dictator|champion|fellow|censor|apprentice|partner|friend|dealer|battle|author</token>
                <token regexp="yes">ships?</token>
            </pattern>
            <message>This noun is normally spelled as one.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="spaceship">The <marker>space ship</marker> flew to the Mars and back.</example>
        </rule>
        <rule id="WHEEL_COMPOUNDS" name="wheel chair (wheelchair)">
            <pattern>
                <token>wheel</token>
                <token regexp="yes">chairs?|barrows?|bases?|houses?|wrights?</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>wheel<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="wheelchair">He broke his leg and needed a <marker>wheel chair</marker>.</example>
        </rule>
        <rule id="SEA_COMPOUNDS" name="sea food (seafood)">
            <antipattern>
                <token regexp="yes">black|red|baltic|dead|deep|caspian|caribbean|arabian|mediter.*|greenland|andaman|sargasso|china|irish|philippine|laptev|tasman|yellow|chukchi|beaufort|siberian|ligurian|norwegian|celtic|bohol|salton|savu|myrtoan|alboran|solomon|bismarck|ceram|labrador|comsonauts|mawson|lazarev|archipelago|molucca|camotes|adolf|east</token>
                <token>sea</token>
            </antipattern>
            <antipattern>
                <token>Sea</token>
                <token>Ports</token>
                <token regexp="yes">Organi[sz]ations?|Authorit(y|ies)</token>
            </antipattern>
            <antipattern>
                <token>Sea</token>
                <token>Water</token>
                <token regexp="yes">Conveyances?</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- name of movie -->
                <token>Sea</token>
                <token>Gull</token>
            </antipattern>
            <pattern>
                <token>sea</token>
                <token regexp="yes">birds?|bags?|foods?|crafts?|farers?|gulls?|grass|horses?|planes?|ports?|water</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion>sea<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="seafood">For dinner, we ate delicious <marker>sea food</marker>.</example>
            <example>European Sea Ports Organisation ESPO.</example>
            <example>Trade with India through the Roman Egyptian Red Sea ports was significant in the first centuries of the Common Era.</example>
        </rule>
        <rulegroup id="WEB_COMPOUNDS" name="web site (website)">
            <rule>
                <pattern>
                    <token>web</token>
                    <token regexp="yes">sights?|sit</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" /><match no="2" regexp_match="(?i)(sight|sit)" regexp_replace="site" case_conversion="alllower" /></suggestion>?</message>
                <url>https://www.lexico.com/definition/website</url>
                <example correction="website">The <marker>web sight</marker> was down.</example>
            </rule>
            <rule>
                <pattern>
                    <token>web</token>
                    <token regexp="yes">spaces?|cams?|casts?|casting|casters?|master|toons?</token>
                </pattern>
                <message>Did you mean <suggestion>web<match no="2" case_conversion="startlower" /></suggestion>?</message>
                <example correction="webtoon">The <marker>web toon</marker> was nice to watch.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AIR_COMPOUNDS" name="air line (air line)">
            <rule>
                <pattern>
                    <token>air</token>
                    <token regexp="yes">crafts?|borne|ports?|bags?|space</token>
                </pattern>
                <message>This word is normally spelled as one.</message>
                <suggestion>air<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="airport">Which <marker>air port</marker> are you arriving at?</example>
            </rule>
        </rulegroup>
        <rule id="RAIN_COMPOUNDS" name="rain bow (rainbow)">
            <pattern>
                <token>rain</token>
                <token regexp="yes">bows?</token>
            </pattern>
            <message>This word is normally spelled as one.</message>
            <suggestion><match no="1" case_conversion="alllower" /><match no="2" case_conversion="alllower" /></suggestion>
            <example correction="rainbow">Look there is a <marker>rain bow</marker> in the sky!</example>
        </rule>
        <rule id="NOW_ARE_THE_TIME" name="Now are (is) the time">
            <pattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token>now</token>
                <marker>
                    <token>are</token>
                </marker>
                <token postag="DT" min="0" />
                <token postag="JJ" min="0" />
                <token chunk="E-NP-singular" postag="NN.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>is</suggestion>?</message>
            <example correction="is">Now <marker>are</marker> the time.</example>
            <example>The limitations right now are the inability to have them respond autonomously.</example>
        </rule>
        <rule id="IN_THIS_REGARDS" name="In this regards (regard)">
            <pattern>
                <token>in</token>
                <token regexp="yes">that|this</token>
                <token>regards</token>
            </pattern>
            <message>Did you mean the common idiom <suggestion>\1 \2 <match no="3" regexp_match="(?i)s" regexp_replace="" /></suggestion>?</message>
            <url>https://languagetool.org/insights/post/regard/</url>
            <example correction="in that regard">He is studying law and <marker>in that regards</marker> he is doing very well.</example>
        </rule>
        <rule id="BUENOS_DIAS" name="buenos días">
            <pattern>
                <token regexp="yes">bue?n[ao]s</token>
                <token regexp="yes">dias?</token>
            </pattern>
            <message>Did you mean the Spanish greeting <suggestion>buenos <match no="2" regexp_match="(?i)ias?$" regexp_replace="ías" /></suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/buenos%20d%C3%ADas</url>
            <example correction="Buenos días"><marker>Buenos dias</marker>, my friend!</example>
        </rule>
        <rule id="AFTERMARKET" name="Aftermarket">
            <pattern>
                <token regexp="yes">the|an?|no|my|y?our|his|her|their|its|s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>after</token>
                    <token regexp="yes">markets?|life|math|parts?|pieces?|shaves?|shocks?|taste|thoughts?|shows?|glows?</token>
                </marker>
            </pattern>
            <message>This is normally spelled as one word.</message>
            <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion>
            <example correction="afterlife">The <marker>after life</marker> is something that many religions believe in.</example>
        </rule>
        <rulegroup id="HAPPY_EASTER" name="Happy Easter">
            <url>https://www.merriam-webster.com/dictionary/Easter</url>
            <antipattern>
                <token case_sensitive="yes" regexp="yes">Easter|EASTER</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">on|at|after|before|during</token>
                    <token>eastern</token>
                    <token postag_regexp="yes" postag="NN.*|JJ.*" />
                </antipattern>
                <pattern>
                    <token regexp="yes">happy|on|at|after|before|during</token>
                    <marker>
                        <token regexp="yes">eastern?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Easter</suggestion> (= Christ's resurrection day)?</message>
                <example correction="Easter">Happy <marker>Eastern</marker>!</example>
                <example>Happy Easter to everyone!</example>
                <example>Similarly, the west has had huge impacts on Eastern art in the 19th and 20th centuries</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>easter</token>
                    </marker>
                    <token regexp="yes">sunday|monday|tuesday|holidays?|weeks?|eggs?|bunn(y|ies)|days?|communion|cactus|\d{4}|greetings?|cards?|cake|wish(es)?</token>
                </pattern>
                <message><suggestion>Easter</suggestion> is normally capitalized.</message>
                <example correction="Easter">Enjoy your <marker>easter</marker> holidays.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SPIDERMAN" name="Spiderman">
            <url>https://en.wikipedia.org/wiki/Spider-Man</url>
            <rule>
                <pattern>
                    <token>Spiderman</token>
                </pattern>
                <message>The name of the fictional superhero is <suggestion>Spider-Man</suggestion>.</message>
                <example correction="Spider-Man"><marker>Spiderman</marker> is a fictional superhero created by writer-editor Stan Lee.</example>
            </rule>
            <rule>
                <pattern>
                    <token>Spider</token>
                    <token>Man</token>
                </pattern>
                <message>The name of the fictional superhero is <suggestion>Spider-Man</suggestion>.</message>
                <example correction="Spider-Man"><marker>Spider Man</marker> is a fictional superhero created by writer-editor Stan Lee.</example>
            </rule>
        </rulegroup>
        <rule id="AIRCRAFTS" name="Aircrafts">
            <pattern>
                <token>aircrafts</token>
            </pattern>
            <message>The plural of "<match no="1" regexp_match="(?i)s$" regexp_replace="" />" is not "\1" but <suggestion><match no="1" regexp_match="(?i)s$" regexp_replace="" /></suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/aircraft</url>
            <example correction="aircraft">Freighter <marker>aircrafts</marker>, which are dedicated to the transport of goods, are being mobilized to make up the capacity shortfall.</example>
        </rule>
        <rulegroup id="MAKE_UP" name="make up (makeup)">
            <url>https://www.merriam-webster.com/dictionary/makeup</url>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token skip="1">her</token>
                <token>make</token>
            </antipattern>
            <antipattern>
                <token skip="1">let</token>
                <token skip="1">s</token>
                <token>make</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>A</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>longer</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|no|y?our|her|his|my|their|its|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">few|plane</exception>
                    </token>
                    <marker>
                        <token>make</token>
                        <token regexp="yes">ups?</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion><match no="3" /><match no="4" case_conversion="alllower" /></suggestion> (= cosmetic, test or composition/constitution of sth.) is spelled as one word.</message>
                <example correction="makeup">Her <marker>make up</marker> looked beautiful.</example>
                <example>Did the plane make up for the lost time?</example>
                <example>I saw a few make up.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>make</token>
                        <token>up</token>
                    </marker>
                    <token regexp="yes">is|was|looks|looked|artists?|removers?|tips?</token>
                </pattern>
                <message>The noun <suggestion><match no="1" /><match no="2" case_conversion="alllower" /></suggestion> (= cosmetic, test or composition/constitution of sth.) is spelled as one word.</message>
                <example correction="makeup">Her <marker>make up</marker> looks beautiful.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token postag="JJ.*|DT" postag_regexp="yes" min="0" />
                    <marker>
                        <token>make</token>
                        <token>up</token>
                    </marker>
                    <token>on</token>
                </pattern>
                <message>The noun <suggestion><match no="3" /><match no="4" case_conversion="alllower" /></suggestion> (= cosmetic, test or composition/constitution of sth.) is spelled as one word.</message>
                <example correction="makeup">She put some <marker>make up</marker> on.</example>
            </rule>
        </rulegroup>
        <rulegroup id="UNDER_COMPOUNDS" name="under appreciate (underappreciate)">
            <antipattern>
                <token>down</token>
                <token>under</token>
            </antipattern>
            <antipattern>
                <token>under</token>
                <token regexp="yes">line|rate|estimate|report|score|statements?|writing|lie|size</token>
                <token min="0" regexp="yes" skip="1">#|no|nr|number</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">it|that|this|th[eo]se</token>
                <token>under</token>
                <token regexp="yes">lines?</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>under</token>
                <token regexp="yes">estimates?|rates?|reports?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(\d+)?%</token>
                <token>under</token>
                <token regexp="yes">estimates?|rates?|reports?|scores?</token>
            </antipattern>
            <antipattern>
                <token postag="CD" skip="1" />
                <token>under</token>
                <token regexp="yes">estimates?|rates?|reports?|scores?</token>
            </antipattern>
            <antipattern>
                <token>rate</token>
                <token regexp="yes">hikes?</token>
            </antipattern>
            <antipattern>
                <token>under</token>
                <token>mine</token>
            </antipattern>
            <antipattern>
                <token>under</token>
                <token>go</token>
                <token>nagai</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">close</token>
                <token>under</token>
                <token inflected="yes">take</token>
            </antipattern>
            <antipattern><!-- stand-alone -->
                <token>stand</token>
                <token>alone</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>under</token>
                <token regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">look|find|search</token>
                <token regexp="yes" skip="1">that|it|this|them|th[oe]se</token>
                <token>under</token>
                <token regexp="yes">rates?|reports?|statements?|line?|writing</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">look|find|search|appear|display|show</token>
                <token>under</token>
                <token regexp="yes">rates?|reports?|statements?|line?|writing</token>
            </antipattern>
            <antipattern>
                <token>write</token>
                <token regexp="yes">ins?|ups?|offs?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">in|on</token>
                <token chunk="B-NP-singular" min="0" />
                <token chunk="E-NP-singular" />
                <token>under</token>
                <token regexp="yes">rates?|reports?|statements?|lines?|writing</token>
            </antipattern>
            <antipattern>
                <token>under</token>
                <token>age</token>
                <token min="0">of</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" />
                <token postag="VBP" />
                <token>under</token>
                <token>rates</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="VBP?" postag_regexp="yes" />
                <token>under</token>
                <token>rates</token>
            </antipattern>
            <antipattern>
                <token>available</token>
                <token>under</token>
            </antipattern>
            <antipattern><!-- under value based costs -->
                <token>value</token>
                <token>based</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>under</token>
                    <token inflected="yes" regexp="yes">
                        appreciate|estimate|achieve|whelm|line|rate|report|represent|mine|score|stand|go|take|cut|lie|statement|pass|dose|write|staff|invest|value|sell|predict|throw|count
                    </token>
                </pattern>
                <message>This is normally spelled as one word.</message>
                <suggestion>under<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="underappreciates">He <marker>under appreciates</marker> her skills.</example>
                <example correction="understood">They totally <marker>under stood</marker> the problem.</example>
                <example>Just add this under line 302.</example>
                <example>I explained to her that we had been a customer under Rate No. 21 since July but only obtained access recently.</example>
                <example>It is under estimate.</example>
                <example>This is 12 % under estimate.</example>
                <example>I wish to add something under mine.</example>
                <example>It is displayed under rate plans.</example>
                <example>It will go under rates.</example>
                <example>For example, the planar graphs are closed under taking minors</example>
                <example>Yes, we have been offering MarketPoint under stand alone commercial license for a few months.</example>
                <example>Please look under Report/Utility/List contents.</example>
                <example>You can find it in the calendar under rates and available slots.</example>
            </rule>
            <rule>
                <pattern>
                    <token>under</token>
                    <token regexp="yes">pants|water|neath|wear|graduates?|ground|age|dog|privileged|investments?|sized?|developed|clothing|garments?|mentioned|explored|prediction</token>
                </pattern>
                <message>This is normally spelled as one word.</message>
                <suggestion>under<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="underwater">The fish live <marker>under water</marker>.</example>
                <example correction="undergraduates">There was a group of college <marker>under graduates</marker>.</example>
                <example correction="underdeveloped">Brazil once was an <marker>under developed</marker> country.</example>
                <example correction="underexplored">It is an excellent book that covers using volume analysis, which I think is an <marker>under explored</marker> area of trading and investing.</example>
                <example>Children under age 16 are very welcome.</example>
            </rule>
        </rulegroup>
        <rule id="HITCH_HIKE_COMPOUNDS" name="hitch hike (hitchhike)">
            <antipattern><!-- music album -->
                <token>pros</token>
                <token regexp="yes">and|&amp;</token>
                <token>cons</token>
                <token>of</token>
                <token>hitch</token>
            </antipattern>
            <pattern>
                <token>hitch</token>
                <token regexp="yes">hikes?|hiking|hiked|hikers?</token>
            </pattern>
            <message>This word is normally spelled with a hyphen (British English) or as one word (American English).</message>
            <suggestion>\1-\2</suggestion>
            <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/hitchhike</url>
            <example correction="hitch-hiking|hitchhiking">She went <marker>hitch hiking</marker> with her brother to explore the nature.</example>
        </rule>
        <rulegroup id="OVER_COMPOUNDS" name="over complicated (overcomplicated)">
            <antipattern>
                <token skip="6" inflected="yes" regexp="yes">han[dg]|prefer|favou?r|wear|advantage|recommend|bend|lean|roll|run|jump|retain|take|convern|prevail|debate|iterate|go|negotiate|dosing|dispute|crawl|cross|control|glaze|pass|pore|put|turn</token>
                <token>over</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>over</token>
                <token postag_regexp="yes" postag="VBZ?" />
            </antipattern>
            <antipattern>
                <token skip="1" regexp="yes">lawsuits?|discussions?|talks?</token>
                <token>over</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(\d+)?%</token>
                <token>over</token>
                <token regexp="yes">estimates?|rates?|reports?</token>
            </antipattern>
            <antipattern>
                <token postag="CD" skip="1" />
                <token>over</token>
                <token regexp="yes">estimates?|rates?|reports?</token>
            </antipattern>
            <antipattern>
                <token>over</token>
                <token regexp="yes">and|&amp;</token>
                <token>over</token>
            </antipattern>
            <antipattern>
                <token>rate</token>
                <token regexp="yes">hikes?</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">rates?</token>
                <token inflected="yes">charge</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="-1">charge</token>
                <token regexp="yes">rates?</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>over</token>
                <token>React</token>
            </antipattern>
            <antipattern>
                <token>react</token>
                <token regexp="yes">framework|js|plugins?|librar(y|ies)|code|components?|javascript</token>
            </antipattern>
            <antipattern>
                <token>react</token>
                <token>.</token>
                <token regexp="yes">com|js</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="1">lose</token>
                <token>control</token>
                <token>over</token>
            </antipattern>
            <antipattern>
                <token>over</token>
                <token>lay</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>over</token>
                <token>book</token>
                <token>value</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">come</token>
                <token>over</token>
                <token>hear</token>
            </antipattern>
            <antipattern>
                <token>with</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token>over</token>
                <token>dependent</token>
            </antipattern>
            <antipattern>
                <token>with</token>
                <token>concerns</token>
                <token>over</token>
            </antipattern>
            <antipattern>
                <token>over</token>
                <token />
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>over</token>
                <token>states</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>jurisdiction</token>
                <token>over</token>
            </antipattern>
            <antipattern>
                <token>due</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">and|or|&amp;</token>
                <token>over</token>
            </antipattern>
            <antipattern><!-- has power over states -->
                <token regexp="yes">power|fight</token>
                <token>over</token>
                <token chunk_re="[EB]-NP-plural" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">over</token>
                <token case_sensitive="yes" regexp="yes">[A-Z].+</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>over</token>
                    <token inflected="yes" regexp="yes">
                        cautious|cautiously|confident|confidence|consume|protection|prediction|protective|protectiveness|confidently|complicate|think|come|estimate|haul|flow|kill|look|whelm|whelmingly|reach|see|view|wear|rate|take|size|react|power|load|price|hear|lap|lapped|night|nighted|lay|stimulate|throw|engineer|emphasi[sz]e|analy[sz]e|book|write|dependent|water|state|turn|bear|charge|sight|joy|due|privileged|praise|populate|dramatic|invest|investment|coat|promise|produce|focus|heat|rule|ride|precise|zealous|zealously|crowd|comer|harvest|train|shadow|dose|cook|hype|speciali[zs]e|stretch|wash|protect|sensitive|sleep|achieve|discount|excite|trust|predict|tolerant|consumption
                        <exception regexp="yes">power|load|price|water|state|charges|sighted|dues|coated|sensitives</exception>
                        <exception postag="VBG" /><!-- see [3] -->
                    </token>
                </pattern>
                <message>This is normally spelled as one word.</message>
                <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="overcomplicated">This task is <marker>over complicated</marker>.</example>
                <example correction="overstated">He also suggests that the differences can be <marker>over stated</marker>:</example>
                <example correction="overturn">Baby Bells lost another one in court today in an attempt to <marker>over turn</marker> provisions of the Telecommunications Act of 1996 which are effectively preventing from entering the long distance business.</example>
                <example>While its use has several advantages over use of a live edged weapon, ...</example>
                <example>This influence was evident with Batman showing little remorse over killing or maiming criminals.</example>
                <example>The snapper will commonly bend over looking between his legs.</example>
                <example>But in July, the first month of the fiscal year, revenues were 4.7% over estimates, though the California economy is evidently slowing.</example>
                <example>A mother was leaning over looking for meat and turned around to find her 4 yr.</example>
                <example>PUC retains jurisdiction over rates.</example>
                <example>We can take over reports on storage inventory.</example>
                <example>Just to comment, our add-on is built over React framework.</example>
                <example>The acetylide, Al2(C2)3, is made by passing acetylene over heated aluminium.</example>
                <example>It is 10% over load.</example>
                <example>Monday, February 26, 2001 Plant Construction Stalled Over State's Effort to Revise Contracts without blackouts.</example>
                <example>Bankers argue that potential bidders would be unwilling to ride roughshod over Lay's wishes through a hostile bid as most of Enron's value is tied up in intellectual capital.</example>
                <example>Publicly traded companies are required to hire an accounting firm to go over books using generally accepted accounting principles.</example>
                <example>Thereby giving the wrong impression of a "generalate" or "motherhouse" with jurisdiction over dependent communities.</example>
                <example>Bilateral committees are negotiating the dispute with Venezuela over waters in the Gulf of Venezuela.</example>
                <example>They had an dispute over rates from the government.</example>
                <example>Teenagers aged 12 and over estimate their yearly income.</example>
                <example>Mexico, before its debt collapse in 1982, favored external borrowing over investment to obtain foreign exchange.</example>
                <example>In Malaysia, economists have glazed right over promises from Prime Minister Mahathir Mohamad.</example>
                <example>Corp. must turn over sensitive financial documents to a state Senate committee investigating possible price manipulation of wholesale energy prices, a judge rules.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|many|of</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>over</token>
                        <token regexp="yes">uses?</token>
                    </marker>
                </pattern>
                <message>This is normally spelled as one word.</message>
                <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion>
                <example correction="overuse">The <marker>over use</marker> of medicine can harm your health in the long term.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>over</token>
                        <token>used</token>
                    </marker>
                </pattern>
                <message>This verb or adjective is normally spelled as one word.</message>
                <suggestion>over<match no="2" case_conversion="alllower" /></suggestion>
                <example correction="overused">The mind is definitely <marker>over used</marker> in alot of ways.</example>
                <example correction="overused">"Quick" is an <marker>over used</marker> word.</example>
            </rule>
            <rule><!-- "he is <over thinking> it" -->
                <pattern>
                    <token inflected="yes">
                        be
                        <exception>be</exception>
                    </token>
                    <token postag="RB" min="0" max="2" />
                    <marker>
                        <token>over</token>
                        <token regexp="yes">complicating|thinking|coming|consuming|estimating|hauling|flowing|killing|looking|whelming|reaching|seeing|viewing|wearing|reporting|rating|taking|sizing|reacting|powering|loading|pricing|hearing|nighting|lapping|laying|stimulating|throwing|engineering|emphasi[sz]ing|analy[sz]ing|booking|writing|watering|stating|turning|bearing|charging|praising|produce|promise|focuss?ing|heating|ruling|crowding|harvesting|training|shadowing|dosing|cooking|hyping|speciali[zs]ing|stretching|washing|protecting|sleeping|achieving|discounting|exciting|trusting|predicting</token>
                    </marker>
                </pattern>
                <message>This is normally spelled as one word.</message>
                <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion>
                <example correction="overthinking">He is <marker>over thinking</marker> the task.</example>
                <example>This influence was evident with Batman showing little remorse over killing or maiming criminals.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>over</token>
                        <token regexp="yes">current|voltage</token>
                    </marker>
                    <token regexp="yes">protections?|categor(y|ies)|relays?|devices?</token>
                </pattern>
                <message>Did you mean the noun/adjective <suggestion>over<match no="2" case_conversion="alllower" /></suggestion>?</message>
                <example correction="overcurrent">The device has a built-in <marker>over current</marker> protection.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FEED_BACK" name="feed back (feedback)">
            <antipattern>
                <token>no</token>
                <token>longer</token>
                <token>feed</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|no</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception>few</exception>
                    </token>
                    <marker>
                        <token>feed</token>
                        <token>back</token>
                    </marker>
                </pattern>
                <message>This is spelled as one word.</message>
                <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion>
                <example correction="feedback">He told me his <marker>feed back</marker> and it helped me to improve.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token postag="DT" min="0" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>feed</token>
                        <token>back</token>
                    </marker>
                    <token regexp="yes">on|for|mechanism|form|e?\-?mail|loop</token>
                </pattern>
                <message>This is spelled as one word.</message>
                <suggestion>\4<match no="5" case_conversion="alllower" /></suggestion>
                <example correction="feedback">Any <marker>feed back</marker> on these yet?</example>
            </rule>
        </rulegroup>
        <rule id="FREQUENT_ASKED_QUESTIONS" name="Frequently Asked Questions">
            <antipattern>
                <token>frequently</token>
                <token>asked</token>
                <token regexp="yes">questions?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">frequent(ly)?</token>
                <token regexp="yes">ask(ed)?</token>
                <token regexp="yes">questions?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="(?i)requent$" regexp_replace="requently" /> <match no="2" regexp_match="(?i)sk$" regexp_replace="sked" /> \3</suggestion> (= FAQ)?</message>
            <url>https://www.lexico.com/definition/faq</url>
            <example correction="Frequently Asked Questions">Have you checked their <marker>Frequent Asked Questions</marker> for an answer?</example>
            <example correction="Frequently Asked Questions">Have you checked their <marker>Frequently Ask Questions</marker> for an answer?</example>
        </rule>
        <rulegroup id="WORK_AROUND_COMPOUND" name="the work around (workaround)">
            <url>https://www.lexico.com/definition/workaround</url>
            <rule>
                <antipattern>
                    <token postag="VB.*|UNKNOWN|IN" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                    <token>work</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|y?our|his|her|my|their|its|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception>few</exception>
                    </token>
                    <marker>
                        <token>work</token>
                        <token regexp="yes">arounds?</token>
                    </marker>
                    <token>
                        <exception postag="DT|PRP\$|CD|RB" postag_regexp="yes" />
                        <exception>other</exception>
                    </token>
                </pattern>
                <message>Did you mean the noun <suggestion>\3<match no="4" case_conversion="alllower" /></suggestion> (= method of overcoming a problem)?</message>
                <example correction="workaround">Thanks, your <marker>work around</marker> worked!</example>
                <example>Let's work around that issue.</example>
                <example>Sami helped Layla finish some of the work around the ranch.</example>
                <example>Why do I always have to do all the work around here?</example>
                <example>I'm doing my work around 5 or 6.</example>
                <example>Flexibility to schedule your work around other jobs.</example>
            </rule>
            <rule>
                <pattern>
                    <token>work</token>
                    <token>arounds</token>
                </pattern>
                <message>Did you mean the plural noun <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>?</message>
                <example correction="workarounds">Many <marker>work arounds</marker> were failing.</example>
            </rule>
        </rulegroup>
        <rule id="YOUR_LOVES_ONES" name="Your loves (loved) one">
            <pattern>
                <token regexp="yes">an?|the|my|y?our|their|her|his|th[eo]se</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token regexp="yes">loves?</token>
                    <token regexp="yes">ones?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>loved \4</suggestion>?</message>
            <example correction="loved ones">Staying connected with your <marker>loves ones</marker> is so important right now.</example>
        </rule>
        <rule id="WELL_KNOWN" name="is well know">
            <pattern>
                <token inflected="yes" regexp="yes">be|the|a</token>
                <token postag="JJ" min="0" />
                <marker>
                    <token>well</token>
                    <token>know</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>well-known</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/well-known</url>
            <example correction="well-known">The young women of this district are <marker>well know</marker> for their beauty.</example>
        </rule>
        <rulegroup id="BE_COME" name="be come (become)">
            <url>https://www.merriam-webster.com/dictionary/become</url>
            <rule>
                <pattern>
                    <token postag="PRP|MD|TO" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>be</token>
                        <token regexp="yes">comes?|came</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>be<match no="4" case_conversion="alllower" /></suggestion>?</message>
                <example correction="became">They <marker>be came</marker> very interested in that topic.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>be</token>
                        <token>coming</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>be<match no="4" case_conversion="alllower" /></suggestion>?</message>
                <example correction="becoming">They are <marker>be coming</marker> very interested in that topic.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>be</token>
                        <token>come</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>be<match no="4" case_conversion="alllower" /></suggestion>?</message>
                <example correction="become">He has <marker>be come</marker> a millionaire.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GOING_TO_JJ" name="going to (be / too) great">
            <rule>
                <antipattern>
                    <token>slow</token>
                    <token>down</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">going|moving|driving|swimming|running|jumping|flying|walking</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes">s?low|high|far|fast|quick(ly)?</token>
                    <token postag="PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">He is going <marker>to</marker> far.</example>
                <example>I’m not going to slow down.</example>
            </rule>
            <rule>
                <pattern>
                    <token>going</token>
                    <token>to</token>
                    <marker>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="VBP?|NN.*" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token postag="PCT|IN" postag_regexp="yes">
                        <exception>than</exception>
                    </token>
                </pattern>
                <message>A verb may be missing before the adjective "\3".</message>
                <suggestion>be \3</suggestion>
                <example correction="be fixed">When is it going to <marker>fixed</marker>?</example>
            </rule>
        </rulegroup>
        <rule id="BE_DONT" name="I am don't (not) sure">
            <antipattern>
                <token postag="W.*" postag_regexp="yes" skip="5" />
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>am</token>
            </antipattern>
            <antipattern>
                <token skip="3" regexp="yes">than|as</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <pattern>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <marker>
                    <token inflected="yes">
                        be
                        <exception>being</exception>
                    </token>
                    <token regexp="yes">does|do</token>
                    <token regexp="yes">n't|not</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>\3 not</suggestion>?</message>
            <example correction="am not">I <marker>am don't</marker> sure.</example>
            <example>After 7 am don't open the door.</example>
            <example>The human being doesn't evolve anymore.</example>
            <example>Where I am doesn't matter.</example>
            <example>People who are not smarter than I am don't interest me.</example>
            <example>Not sure what you are asking but what ever it is don’t do it.</example>
            <example>The best suggestion I have for you is don’t concentrate on the mythics when you open chests.</example>
            <example>The only thing I can tell you is don’t drive this until a mechanic has looked at it.</example>
        </rule>
        <rule id="BE_RB_BE" name="be + adverb + be"><!-- less prio than PHRASE_REPETITION -->
            <antipattern><!-- different error -->
                <token>may</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes" skip="5" />
                <token inflected="yes">be</token>
                <token postag="RB" />
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token skip="3" regexp="yes">than|as</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <pattern>
                <token inflected="yes">
                    be
                    <exception>being</exception>
                </token>
                <token postag="RB" regexp="yes">
                    really|very|totally|maybe|however|absolutely|also|often|usually|too|never|always|sometimes|likely|simply|generally
                </token>
                <token regexp="yes">
                    is|was|were|are
                </token>
            </pattern>
            <message>The grammar seems incorrect. Please check.</message>
            <example correction="">It <marker>was very is</marker> to set up</example>
            <example correction="">This <marker>is however is</marker> my first post.</example>
            <example>I’m not being punished enough.</example>
            <example>The proof I’m awful is that I always think of bad stuff.</example>
            <example>May be there is better way though.</example>
            <example>There's never been a problem before.</example>
            <example>Tom is likely be late.</example>
            <example>What is legal is not always just, and what is just is not always legal.</example>
            <example>Being late is always better than not showing up at all.</example>
            <example>Good news is there are other meds out there that don’t do this as badly.</example>
            <example>Where I was yesterday is not your business.</example>
            <example>I’ve got a very rudimentary way at present which I’m sure is very clunky</example>
            <example>Automations can’t be written correctly if the state that the device is in is not reliable.</example>
            <example>who I am inwardly and who I am outwardly are not quite the same person.</example>
            <example>However, why in the name of all that’s holy are you using gmail?</example>
            <example>The heads that are here are junior at best with little or no Enron or management experience.</example>
            <example>People who are not smarter than I am really are not of interest to me.</example>
            <example>Functionality I am after is a simple on/off.</example>
        </rule>
        <rule id="PEDAL_TO_THE_METAL" name="petal to the metal">
            <pattern>
                <token regexp="yes">petal|pedel|paddle|patel|peddle</token>
                <token>to</token>
                <token>the</token>
                <token regexp="yes">metal|floor</token>
            </pattern>
            <message>Did you mean the idiom <suggestion>pedal \2 \3 \4</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Pedal_to_the_Metal</url>
            <example correction="Pedal to the metal"><marker>Petal to the metal</marker>!</example>
        </rule>
        <rulegroup id="HAVE_RB_HAVE" name="duplicated use of 'have'">
            <!-- TODO: add other verbs -->
            <antipattern>
                <token>have</token>
                <token>to</token>
                <token>have</token>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token />
                <token>had</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>has</token>
                        <token regexp="yes">often|good|bad|best|fast|long</token>
                        <token>has</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>as \2 as</suggestion>, <suggestion>\1 \2</suggestion> or <suggestion>\2 \3</suggestion>?</message>
                <example correction="as often as|has often|often has">He does it <marker>has often has</marker> he can</example>
            </rule>
            <rule>
                <antipattern>
                    <!--DON_T_AREN_T-->
                    <token regexp="yes">[a-z]{2,30}</token>
                    <token spacebefore="no">n't</token>
                    <token regexp="yes">[a-z]{2,30}</token>
                    <token spacebefore="no">n't</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">
                        have
                        <exception regexp="yes" scope="previous">who|that</exception>
                    </token>
                    <token postag="RB" />
                    <token><match no="0" /></token>
                </pattern>
                <message>One of these verbs is redundant, or a word is missing.</message>
                <!-- TODO '\1 \2 had' might be a useful suggestion -->
                <suggestion>\2 \3</suggestion>
                <suggestion>\1 \2</suggestion>
                <example correction="eventually have|have eventually">I will <marker>have eventually have</marker> friends.</example>
                <example correction="already have|have already">I <marker>have already have</marker> a post in the Developers Section.</example>
                <example correction="already have|have already">Since Enron let us know in October to not rely on Enron alone for vaccinations, most of you may <marker>have already have</marker> shots.</example>
                <example correction="ever has|has ever">Neither Tom nor Mary <marker>has ever has</marker> been married.</example>
                <example correction="really have|have really">Just out of curiosity, did you <marker>have really have</marker> any fun?</example>
                <example>Yet I had not had the issue before the new struts.</example>
                <example>The model that you have will have automatically factory reset.</example>
                <example>However, the model that you have does have a Wi-Fi radio.</example>
                <example>I have always had problems.</example>
                <example>I have to have that new dress.</example>
                <example>Lhazang Khan, now acting as the only outright foreign ruler that Tibet had ever had.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MD_IT_JJ" name="missing 'be' in 'Would it possible'">
            <rule>
                <pattern>
                    <token regexp="yes">(want|need)(ed|ing|s)?</token>
                    <token>it</token>
                    <marker>
                        <token>
                            bad
                            <exception postag="NN.*|VB.*|JJ.*" scope="next" />
                        </token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="W.*|PCT|TO|IN|CC" postag_regexp="yes" />
                </pattern>
                <message>It seems that the adverb <suggestion>badly</suggestion> might fit better in this context.</message>
                <example correction="badly">They need it <marker>bad</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token min="0">n't</token>
                    <marker>
                        <token>it</token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="VB[ZPD]?|RB.*|IN" postag_regexp="yes" />
                            <exception regexp="yes">more|less</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="W.*|PCT|TO|IN|CC" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\3 be \4</suggestion>?</message>
                <example correction="it be great">Would <marker>it great</marker>?</example>
                <example correction="it be possible">Would <marker>it possible</marker> for us to track it?</example>
                <example>Or would it more likely be the transmission?</example>
                <example>So, if you really need it broken out in 100ms blocks you probably need to split it up.</example>
                <example>So would it shortcut to the troops menu and actually go there (with Troops filtered by Adana automatically) or would it be another window/popup on top of the existing window?</example>
                <example>Different error: How bad could it possible be?</example>
            </rule>
        </rulegroup>
        <rule id="IDK" name="idk (IDK)">
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Ii]dk</token>
            </pattern>
            <message>Did you mean the abbreviation for "I don't know"?</message>
            <suggestion>IDK</suggestion>
            <suggestion>I don't know</suggestion>
            <url>https://www.merriam-webster.com/dictionary/IDK</url>
            <example correction="IDK|I don't know">Honestly, <marker>idk</marker> what to believe.</example>
        </rule>
        <rule id="MOST_OF_THE_TIMES" name="most of the times (time)">
            <pattern>
                <token>most</token>
                <token>of</token>
                <token>the</token>
                <token>
                    times
                    <exception scope="next" regexp="yes">&apostrophe;</exception>
                </token>
            </pattern>
            <message>Consider using <suggestion>most of the time</suggestion> if you mean "usually" or "very often".</message>
            <url>https://www.merriam-webster.com/dictionary/most%20of%20the%20time</url>
            <example correction="Most of the time"><marker>Most of the times</marker>, we are available.</example>
            <example>Most of the Times' news articles were about US politics.</example>
        </rule>
        <rule id="A_IT_MORE" name="a it (bit) more">
            <pattern>
                <token regexp="yes">the|an?</token>
                <token min="0" regexp="yes">little|tiny</token>
                <marker>
                    <token>it</token>
                </marker>
                <token postag="JJR" />
            </pattern>
            <message>Did you mean <suggestion>bit</suggestion>?</message>
            <example correction="bit">He wants a little <marker>it</marker> more.</example>
            <example correction="bit">I think it would be rather neat to have a <marker>it</marker> less freedom.</example>
        </rule>
        <rule id="IF_IT_OK_FOR" name="If it (it is) ok for you">
            <pattern>
                <token regexp="yes">if|whether|when</token>
                <marker>
                    <token regexp="yes">its?|that|this</token>
                </marker>
                <token regexp="yes">ok(ay)?|possible|sorry|ready|normal|cool|nice|great|good</token>
                <token regexp="yes">for|to|in|\.|\!|\?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="(?i)its" regexp_replace="it" /> is</suggestion>?</message>
            <example correction="it is">I'm wondering if <marker>it</marker> ok for him.</example>
            <example correction="it is">It does when <marker>it</marker> ready.</example>
            <example>I recently started having the same exact delay issue when it used to be instantaneous.</example>
        </rule>
        <rulegroup id="IT_IT" name="it it (it is)">
            <rule>
                <pattern>
                    <token>if</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                </pattern>
                <message>It seems you either mean <suggestion>it is</suggestion>, <suggestion>it</suggestion> or there is a comma missing: <suggestion>it, it</suggestion>.</message>
                <example correction="it is|it|it, it">But I can’t tell if <marker>it it</marker>’s a discontinued product or not.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token regexp="yes">is|'s</token>
                </pattern>
                <message>It seems you either mean <suggestion>if it</suggestion>, <suggestion>it</suggestion> or there is a comma missing: <suggestion>it, it</suggestion>.</message>
                <example correction="if it|it|it, it">But I can’t tell <marker>it it</marker>’s a discontinued product or not.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                </pattern>
                <message>It seems you either mean <suggestion>it is</suggestion>, <suggestion>if it</suggestion>, <suggestion>it</suggestion> or there is a comma missing: <suggestion>it, it</suggestion>.</message>
                <example correction="it is|if it|it|it, it">And if <marker>it it</marker> normal and I were to block it, what would happen to my functionality.</example>
                <example correction="it is|if it|it|it, it">On one server <marker>it it</marker> working fine and showing data.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IT_ITS" name="confusion of 'it' and 'its'"><!-- needs higher prio than PRP_VB, PRP_VBZ and PRP_JJ, but less than PRP_PORTRAIT  -->
            <rule>
                <pattern>
                    <token>times</token>
                    <marker>
                        <token>it</token>
                        <token min="0">'s</token>
                    </marker>
                    <token min="0">original</token>
                    <token regexp="yes">size|weight|width|volume|length|height</token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context. Please verify.</message>
                <example correction="its">It increased to ten times <marker>it</marker> size.</example>
            </rule>
            <rule><!--- "... Google and it new service" -->
                <antipattern>
                    <token>it</token>
                    <token postag="RB.*" postag_regexp="yes" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token inflected="yes">be</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="NNP" />
                    <token regexp="yes">and|or|&amp;</token>
                    <marker>
                        <token>it</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="VBD|IN" postag_regexp="yes" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context. Please verify.</message>
                <example correction="its">Since 1999 Adelaide and <marker>it</marker> surrounding areas has hosted the Tour Down Under bicycle race.</example>
                <example>We participated in something similar to this in New Orleans and it worked well.</example>
                <example>I bought the car January 2019 and it only came with one fob.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">&not_really_verbs;|&adverb_abbreviations;</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">(kind|sort)s?</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>it</token>
                    <token regexp="yes">last|next|previous|upcoming</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token regexp="yes" skip="2">years|months|weeks|days</token>
                    <token>ago</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>one</token>
                    <token regexp="yes">day|time</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">go</token>
                    <token>for</token>
                    <token>it</token>
                </antipattern>
                <antipattern><!-- "... if it success" (different error) -->
                    <token>if</token>
                    <token>it</token>
                    <token postag="SENT_END" regexp="yes">[a-z].*</token>
                </antipattern>
                <antipattern><!-- "... if it success or failure" (different error) -->
                    <token>if</token>
                    <token>it</token>
                    <token postag="NN:UN?" postag_regexp="yes" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern><!-- "It time to consider" (different error) -->
                    <token>it</token>
                    <token postag="NN:UN?" postag_regexp="yes" />
                    <token>to</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- "as it success." (different error) -->
                    <token postag="IN" />
                    <token>it</token>
                    <token>success</token>
                </antipattern>
                <antipattern><!-- "The largest region of Alaska, much of it uninhabited wilderness." -->
                    <token>,</token>
                    <token regexp="yes">much|lots</token>
                    <token>of</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>it</token>
                    <token postag="JJ" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes" postag="PRP">[Ii]t</token>
                    </marker>
                    <token postag_regexp="yes" postag="JJ.*" min="0">
                        <exception>by</exception><!-- if it by default ... -->
                        <exception postag="RB.*|VB.*|CC|UH" postag_regexp="yes" />
                        <exception regexp="yes">wont|self</exception>
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="RB.*|VB.*|CC|IN|NNP|UH" postag_regexp="yes" />
                        <exception regexp="yes">auto|min|self|re|inter|un|(some|any)(thing|body|one)|nothing|no|yes</exception>
                        <exception regexp="yes">cold|cant|wont|aint?|beings|wort|sill|firsts|ads|concords|losses|drys|breaths</exception><!-- misspelled verbs -->
                    </token>
                    <token postag="VB.*|MD|PCT" postag_regexp="yes">
                        <exception>wise</exception>
                    </token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context. Please verify.</message>
                <example correction="Its"><marker>It</marker> crystal lattice is isotypic with the oxides of most trivalent rare-earth metals.</example>
                <example correction="its">Then if you have some way to tap into the action of it running you could hook up a monoprice zwave open close sensor contact in line with that so <marker>it</marker> status would show opened/closed depending if it was running or not running.</example>
                <example correction="its">The tilt sensor simply switches and <marker>it</marker> orientation changes from vertical to horizontal.</example>
                <example correction="its">I don’t use it now but I can throw together a quick app to see if <marker>it</marker> response is any faster.</example>
                <example correction="its">After <marker>it</marker> java process ends.</example>
                <example correction="its">And <marker>it</marker> devs prefer a counter.</example>
                <example correction="its">I think Atom and <marker>it</marker> architecture is an example.</example>
                <example correction="its">When hitting the accelerator, <marker>it</marker> volume goes up, too.</example>
                <example correction="its">A Guide to Bethlehem and <marker>it</marker> Surroundings.</example>
                <example correction="its">If you are not redlining it and <marker>it</marker> RPM stays low, then you should be fine.</example>
                <example correction="Its"><marker>It</marker> projection states that Ghana's goals of reaching high-income economy status and newly industrialized country status will be easily realized between 2020 and 2039.</example>
                <example correction="Its"><marker>It</marker> origins date back to 1952 when a group of dentists set up the ‘British Society of Dental Hypnosis’.</example>
                <example correction="its">Investors should be made aware that companies featured might pay consideration to OTC Investment News and/or <marker>it</marker> shareholders.</example>
                <example correction="its">Is it implemented as a method with closure as <marker>it</marker> input?</example>
                <example correction="Its"><marker>It</marker> alpha decays to the extremely long-lived (in practice, stable) bismuth-209.</example>
                <example correction="its">The airport is served by the metro, the suburban rail, buses to Piraeus port, Athens' city centre and <marker>it</marker> suburbs, and also taxis.</example>
                <example correction="its">They were asking if <marker>it</marker> item was black.</example>
                <example>The legislation specifies that no contract may be entered into later than February 15, 2001 and <marker>it</marker> sunsets on that date.</example>
                <example>Maybe they’ll have a fix for it by then.</example>
                <example>The largest region of Alaska, much of it uninhabited wilderness.</example>
                <example>Abano.it Touristic informations web site.</example>
                <example> I can’t set a specific alert for it by default.</example>
                <example>The data is named in a way that makes the search for it impossible.</example>
                <example>I think I’ll go back to the Samsung sensor but I don’t like the one and done concept for it if water gets too deep.</example>
                <example>If it something else, change it to this one.</example><!-- different error -->
                <example>It auto plays.</example><!-- different error -->
                <example>So it prob killed itself.</example>
                <example>Most of it no, but it does depend on the specific brand and model.</example>
                <example>From what I’ve heard that the soulforge update was an ancient topic, and they told us they’ve been planning for it years ago.</example>
                <example>It errors out when I try to open it on my Smartthings app.</example>
                <example>It kind of sucks.</example>
                <example>It uses a Z-UNO, a DS18B20 Sensor and that’s about it hardware wise.</example>
                <example>If I'm not mistaken, I think I already paid you for it last week.</example>
                <example>That respect will equate to more waves for you in the future because of your go for it attitude.</example>
                <example>I really don’t have a need for it atm…</example>
                <example>Tom will pay for it one day.</example>
                <example>He is trying to get that moisture before it drys out.</example><!-- different error -->
                <example>I do realize it’s probably more technical than that but that’s what I got out of it haha!</example>
                <example>Zookeeper Application Agent Monitoring - Not sure if it success.</example><!-- different error -->
                <example>It similar question with cpu.</example><!-- different error -->
                <example>Even when people are cheap, you pack enough in there and it ads up.</example><!-- different error -->
                <example>It time to consider having one EWS fundamentals site.</example><!-- different error -->
                <example>It makes an LED flash and I’ve messed with it ad nauseum, but still haven’t figured out if that means it is trying to pair as a zigbee device, or trying to connect over wifi/WPS, or what.</example>
                <example>I had to unpair it and re-pair it and it work…</example><!-- different error -->
                <example>It uses a Z-UNO, a DS18B20 Sensor and that’s about it hardware wise.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes" postag="PRP">[Ii]t</token>
                    </marker>
                    <token postag="NNS?|NN:.*" postag_regexp="yes">
                        <exception postag="RB.*|VB.*|CC|IN|NNP|UH|JJ.*" postag_regexp="yes" />
                        <exception regexp="yes">cold|cant|wont|aint?|wort|sill|self</exception><!-- different error -->
                        <exception regexp="yes">everyone|tonight|no</exception>
                        <exception regexp="yes">&adverb_abbreviations;</exception>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>It seems that the possessive pronoun <suggestion>its</suggestion> fits better in this context. Please verify.</message>
                <example correction="its">He has concerns on <marker>it</marker> movement.</example>
                <example correction="its">How about <marker>it</marker> community?</example>
                <example correction="its">It will be able to accomodate ANY type of organization for each of <marker>it</marker> quadrants.</example>
                <example>I intend to listen to it tonight.</example>
                <example>I understand that how soon we start working on it depends on the list of IT priorities.</example>
                <example>This would seem like a waste without it no?</example>
                <example>This would seem like a waste without it right?</example>
                <example>I really don’t have a need for it atm…</example>
                <example>The data is named in a way that makes the search for it impossible.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC" />
                    <marker>
                        <token>it</token>
                    </marker>
                    <token regexp="yes">ok|fine</token>
                    <token postag="IN|TO|PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>it's</suggestion>?</message>
                <example correction="it's">If <marker>it</marker> OK, proceed to the final version for signature.</example>
                <example correction="it's">Please let me know if it is the correct link and if <marker>it</marker> ok to forward to Georgi.</example>
            </rule>
        </rulegroup>
        <rule id="WUD_LIKE" name="wud like (would like)">
            <pattern>
                <token>wud</token>
                <token postag="VBP?" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>would \2</suggestion>?</message>
            <example correction="would like">Dear Santa, I <marker>wud like</marker> to have some nice toys for Christmas.</example>
        </rule>
        <rule id="PRP_ILL_VB" name="We ill (will) do">
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">hope|think|assume|believe|doubt|guess</exception>
                </token>
                <token regexp="yes">it|you</token>
                <token>ill</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it|we|they|you|I</token>
                <marker>
                    <token>ill</token>
                </marker>
                <token postag="VBP?" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>will</suggestion>?</message>
            <example correction="will">I hope we <marker>ill</marker> do it.</example>
        </rule>
        <rulegroup id="PRP_THE" name="We the best (missing verb)">
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">be|have</token>
                <token regexp="yes">I|you|we|they|s?he|it</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_i;</token>
                <token>I</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Apple</token>
                <token>I</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">be|have</token>
                <token>n't</token>
                <token regexp="yes">
                    I|you|we|they|s?he|it
                </token>
            </antipattern>
            <antipattern>
                <token regexp="yes">we|you</token>
                <token>the</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">we|you</token>
                <token>the</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token postag="NN.*" postag_regexp="yes" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token>we</token>
                <token>the</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">people|citizens|students|soldiers|fighters|children|believers|living|champions|kings</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token>the</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">am|was|have|had|do|did</token>
            </antipattern>
            <antipattern>
                <token>You</token>
                <token>my</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">are|were|have|had|do|did</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>)</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>.</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token>the</token>
                <token>lord</token>
            </antipattern>
            <antipattern>
                <token postag="NNP|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">or|and|&amp;</token>
                <token regexp="yes">I|you</token>
            </antipattern>
            <antipattern>
                <token>ai</token>
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token>we</token>
                <token>the</token>
                <token />
                <token>team</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- He bought a book and I a ruler -->
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="DT" />
                <token min="0" postag_regexp="yes" postag="JJ.*" />
                <token postag="NN.*" postag_regexp="yes" />
                <token min="0">,</token>
                <token>and</token>
                <token regexp="yes">I|you|we|they|s?he|it</token>
                <token regexp="yes">the|an?</token>
            </antipattern>
            <antipattern>
                <token>A</token>
                <token>.</token>
                <token>I</token>
            </antipattern>
            <antipattern><!-- Darius I the Great -->
                <token case_sensitive="yes" regexp="yes">[A-Z].+</token>
                <token case_sensitive="yes">I</token>
                <token>the</token>
                <token regexp="yes">great|wise|king</token>
            </antipattern>
            <antipattern>
                <token postag="W.*|VB" postag_regexp="yes" />
                <token>'s</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token chunk="B-VP">
                    <exception postag="MD" />
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token chunk="I-VP">
                    <exception postag="MD" />
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">.+in</token>
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern><!-- nothing else but you my love -->
                <token>else</token>
                <token min="0">,</token>
                <token>but</token>
                <token>you</token>
                <token>my</token>
                <token regexp="yes">love|darling|friend|sweet.*</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception>provided</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t|[Ss]he|[Hh]e</token>
                    </marker>
                    <token regexp="yes" postag="DT">an?|the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNP?|NN:UN?" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\2 is</suggestion> or <suggestion>\2 has</suggestion>?</message>
                <example correction="It is|It has"><marker>It</marker> a race from Houston to Austin.</example>
                <example>...d previously been known as Western Cushitic is an independent branch of Afroasiatic, suggesting for it the new name Omotic.</example>
                <example>I bought a book and he a ruler.</example>
                <example>We were on vacation (sailing in the Virgin Islands) the week of Thanksgiving and were pretty busy getting ready for it the week or two before that.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception>provided</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Yy]ou</token>
                    </marker>
                    <token regexp="yes" postag="DT">an?|the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNP?|NN:UN?" postag_regexp="yes">
                        <exception postag="NNP?S" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\2 are</suggestion> or <suggestion>\2 have</suggestion>?</message>
                <example correction="You are|You have"><marker>You</marker> the man.</example>
            </rule>
            <rule default="temp_off">
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ii]t</token>
                    <token regexp="yes" postag="DT|PRP\$" postag_regexp="yes">the|an?|my|his|her|their|y?our|its</token>
                </pattern>
                <message>Did you mean <suggestion>if \2</suggestion>? A verb may be missing between "\1" and "\2", or a word may be misspelled.</message>
                <example correction="if the">Only <marker>it the</marker> above conditions are met.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">
                        I|[Yy]ou|[Ww]e|[Tt]hey|[Ss]he|[Hh]e|[Ii]t
                    </token>
                    <token regexp="yes" postag="DT|PRP\$" postag_regexp="yes">the|an?|my|his|her|their|y?our|its</token>
                </pattern>
                <message>A verb may be missing between "\1" and "\2", or a word may be misspelled.</message>
                <example correction=""><marker>We the</marker> best.</example>
                <example correction="">HomeSeer said <marker>they their</marker> not interested in modifying the device handler code.</example>
                <example correction="">What <marker>it your</marker> project?</example>
                <example correction="">@JDRoberts would <marker>you the</marker> answer to my question above?</example>
                <example>I will make you the best.</example>
                <example>We the consumer are suffering and paid for a service we are not getting.</example>
                <example>3 makes things a little harder for the non-hacker but then again isn’t it the hacker we are trying to protect ourselves from.</example>
                <example>Are they the children?</example>
                <example>You my good man are a legend!</example>
                <example>Ain't I a Woman?</example>
                <example>This made the Apple I an innovative machine for its day.</example>
                <example>I guess we the Androids are still ahead, our version is one up for the same context…</example>
                <example>Isn’t it the most obvious thing you would expect to see on a dashboard?</example>
                <example>You my dear Terry are a genius, brilliant and works like a charm!</example>
                <example>We the American people must fight this systematic and calculated effort to overturn the election.</example>
                <example>Have you checked the leads going to the opener motor to verify that you a) have a good connection, and; b) are getting an impluse out of the Linear?</example>
                <example>Again, that light is so that you the trainer know the dog pressed hard enough, it’s not information for the dog.</example>
                <example>The Constitution begins with, " We the People of the United States.</example>
                <example>You shall be holy, for I the Lord your God, am holy.</example>
                <example>Why are Tom and I the ones who have to do that?</example>
                <example>I bought a book and he a ruler.</example>
                <example>Then he went to Poland where he was cordially welcomed by Bolesław I the Brave.</example>
                <example>You had the beef, and you the potatoes.</example>
                <example>Please send Jane and I the contact information.</example>
                <example>Why's it our job?</example>
                <example>They are callin’ it a night.</example>
                <example type="triggers_error">If a poet writes down several lines, intending them as a poem, the very procedure by which it is written makes it a poem.</example>
                <example>We are looking to finalize the list of Phase III judges by March 23, so if you could please forward either Anne or I the name of the appropriate individual, we can contact them directly with more details.</example>
                <example>We the Weather Team felt that time spent with our Boss was just as valuable as any token of appreciation.</example>
                <example>And to compensate for his stupidity, we the consumers should make ourselves heard through "economic disobedience.</example>
                <example>I have felt that EGEP's willingness to be in the project as an equity holder would give Joe and you the assurance that this deal was solid from an upstream perspective.</example>
                <example>Nobody else but you my love.</example>
                <example>We no longer call it the cockpit.</example><!-- #3302 -->
                <example>If the game pushes you the wrong notification then you are out of it.</example><!-- #3296 -->
                <example>..., and in return offers you a double chance of Runic Traitstones, and a triple chance at Arcane &amp; Celestial Traitstones.</example><!-- #3296 -->
                <example type="triggers_error">The Bahá'í teachings on marriage call it a fortress for well-being.</example><!-- #3277 -->
                <example>There is more load on your engine when you a/c is on, as opposed to when the a/c is off.</example><!-- different error, caught by PRP_VB -->
            </rule>
        </rulegroup>
        <rulegroup id="PRP_JJ" name="He scary (He is scary)">
            <!-- TODO: You/they afraid -->
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" regexp="yes">
                    .*[a-z].*|&apostrophe;
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" regexp="yes">
                    .*[a-z].*|&apostrophe;
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern><!-- see #2592, #2604, #2584 and #2605  -->
                <token regexp="yes">makes?|calls?|texts?|(search|wish)(es)?|keeps?|plays?|takes?|pulls?</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" />
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Where was he/she born? -->
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">s?he</token>
                <token regexp="yes">n?or|and|&amp;|/</token>
                <token regexp="yes">s?he</token>
            </antipattern>
            <antipattern><!-- "... as did she on his." -->
                <token>as</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="PRP" />
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token>all</token>
                <token>you</token>
            </antipattern>
            <antipattern><!-- "Is she ...?" -->
                <token inflected="yes">be</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- isn't it difficult -->
                <token inflected="yes" regexp="yes">be|do</token>
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Neither did I on ...  -->
                <token inflected="yes" regexp="yes">be|do</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">though|br?ough|overdue|fond|wont(ed)?|dont|cold</token><!-- misspelled verbs (different error) -->
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token regexp="yes">cold|dont|wont(ed)?|wold|cant|arent|isnt</token><!-- misspelled verbs (found by other rules) -->
            </antipattern>
            <antipattern><!-- "she on purpose did that"  -->
                <token>on</token>
                <token>purpose</token>
            </antipattern>
            <antipattern>
                <token>cold</token>
                <token regexp="yes" inflected="yes">call|press|shoulder|turkey</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">proxy|proxied|proxies|proxying|config|workarounds?|shortcuts?</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/piggyback -->
                <token>piggy</token>
                <token inflected="yes">back</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/deep_clean -->
                <token>deep</token>
                <token inflected="yes">clean</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/silk_screen -->
                <token>silk</token>
                <token inflected="yes">screen</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/cold-call -->
                <token>cold</token>
                <token inflected="yes">call</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/wild_out -->
                <token regexp="yes">wilds?</token>
                <token>out</token>
            </antipattern>
            <antipattern>
                <token>pinky</token>
                <token inflected="yes">promise</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/pinky_swear -->
                <token>pinky</token>
                <token inflected="yes">swear</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/dead_end -->
                <token>dead</token>
                <token inflected="yes">end</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/social_distance -->
                <token>social</token>
                <token regexp="yes">distance[sd]?</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/high_five -->
                <token>high</token>
                <token regexp="yes">five[sd]?</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/deep_throat -->
                <token>deep</token>
                <token regexp="yes">dive[sd]?|throat(s|ed)?</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/3D_print -->
                <token regexp="yes">3\-?D</token>
                <token inflected="yes">print</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- online shop company -->
                <token>ABOUT</token>
                <token>YOU</token>
            </antipattern>
            <antipattern><!-- gamer speech -->
                <token>soul</token>
                <token inflected="yes">farm</token>
            </antipattern>
            <antipattern><!-- "to private message someone" (informal) https://www.lexico.com/definition/pm -->
                <token regexp="yes">private|personal</token>
                <token inflected="yes">message</token>
            </antipattern>
            <antipattern><!-- different rule catches this (IT_IT) -->
                <token>it</token>
                <token>it</token>
            </antipattern>
            <antipattern><!-- different error -->
                <token postag="PRP" />
                <token>ill</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">turn</token>
                <token>it</token>
                <token regexp="yes">on|off?</token>
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token>due</token>
                <token regexp="yes">too?</token>
            </antipattern>
            <antipattern><!-- "It more and more looks ...", "It more or less makes ..." -->
                <token postag="PRP" />
                <token regexp="yes">more|less</token>
                <token regexp="yes" skip="2">and|or|&amp;</token>
                <token postag="VB.*|UNKNOWN|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "It more and more looks ...", "It more or less makes ..." -->
                <token postag="PRP" />
                <token regexp="yes">more|less</token>
                <token regexp="yes" skip="1">often|than</token>
                <token postag="VB.*|UNKNOWN|MD|JJ.*|RB|CC" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token regexp="yes">more|less</token>
                <token postag="RB" min="0" />
                <token postag="VB.*|UNKNOWN|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "They more than likely will do it" -->
                <token postag="PRP" />
                <token>more</token>
                <token>than</token>
                <token postag="RB" />
                <token postag="VB.*|UNKNOWN|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "It more than likely wont work ..." (wont → different error) -->
                <token postag="PRP" />
                <token skip="2">more</token>
                <token>wont</token>
            </antipattern>
            <antipattern><!-- "We clinical psychologist dudes went drinking last night." -->
                <token>we</token>
                <token chunk_re="B-NP-plural" postag="JJ" skip="4" />
                <token postag="MD|VB[DP]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- IT (abbr) -->
                <token>the</token>
                <token>it</token>
            </antipattern>
            <antipattern><!-- "to lip sync" -->
                <token>lip</token>
                <token regexp="yes">sync.*</token>
            </antipattern>
            <antipattern><!-- "it recent years" (different error: it → in) -->
                <token>it</token>
                <token />
                <token regexp="yes">months|years</token>
            </antipattern>
            <antipattern><!-- "worth it on that front" -->
                <token>worth</token>
                <token>it</token>
            </antipattern>
            <antipattern><!-- "it long ago became ..." -->
                <token postag="PRP" />
                <token/>
                <token skip="1">ago</token>
                <token postag="VB.*|UNKNOWN" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token regexp="yes">&adverb_abbreviations;</token>
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token regexp="yes">&not_really_verbs;|&verb_abbreviations;</token>
            </antipattern>
            <antipattern><!-- different error ("It cold be") -->
                <token postag="PRP" skip="2" />
                <token postag="RB" min="0" />
                <token />
                <token>be</token>
            </antipattern>
            <antipattern>
                <token>one</token>
                <token regexp="yes">time|day</token>
            </antipattern>
            <antipattern><!-- "takin it easy" -->
                <token>takin</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern><!-- "ain't she nice?"" -->
                <token>ai</token>
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- different error -->
                <token>wont</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">aint?</token>
            </antipattern>
            <antipattern><!-- different error (compound, it self) -->
                <token>self</token>
            </antipattern>
            <antipattern><!-- conjunction (not tagged as CC though) -->
                <token>unlike</token>
            </antipattern>
            <antipattern>
                <token>whole</token>
            </antipattern>
            <antipattern><!-- averbial phrase "by default/any means ..." -->
                <token>by</token>
            </antipattern>
            <antipattern>
                <token>through</token>
            </antipattern>
            <antipattern>
                <token>on</token>
                <token>the</token>
                <token>other</token>
                <token regexp="yes">hand|side</token>
            </antipattern>
            <antipattern><!-- "They under their support section don't mention anything" -->
                <token regexp="yes">they|we|it|s?he|I|you</token>
                <token postag="IN" />
                <token regexp="yes" skip="5">their|y?our|its|her|his|my</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">they|we|it|s?he|I|you</token>
                <token skip="5">on</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "we three just watched" -->
                <token regexp="yes">we|you</token>
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- "We autistic are the only ..." (different error) -->
                <token regexp="yes">we|you</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" min="1" max="3" />
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "They say we dutch we don't have ..." (different error) -->
                <token>we</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" min="1" max="3" />
                <token min="0">,</token>
                <token>we</token>
            </antipattern>
            <antipattern>
                <token>t</token>
                <token regexp="yes">\]|\)</token>
                <token>he</token>
            </antipattern>
            <antipattern><!-- "Please send me it on Facebook" -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token>we</token>
                <token>human</token>
                <token>beings</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token chunk="I-VP" />
                <token>it</token>
                <token postag="JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- we young people ... -->
                <token>we</token>
                <token postag="JJ" min="1" max="2" />
                <token>people</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">I</token>
            </antipattern>
            <antipattern><!-- "I follow-up ... " needs different rule suggesting ("follow up") -->
                <token postag="PRP" />
                <token>follow-up</token>
            </antipattern>
            <antipattern>
                <token>play</token>
                <token>it</token>
                <token>cool</token>
            </antipattern>
            <antipattern><!-- ... or he on her. -->
                <token regexp="yes">or|and|&amp;</token>
                <token postag="PRP" />
                <token>on</token>
                <token postag="PRP.*|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- why's it so cold -->
                <token regexp="yes">why|which|what|who|where|when|how</token>
                <token>'s</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token postag="JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Yellow_River -->
                <token regexp="yes">huang|liu|zheng</token>
                <token>he</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token postag="JJ" />
                <token regexp="yes">folks|girls|boys</token>
            </antipattern>
            <antipattern><!-- we live on the first floor -->
                <token regexp="yes">we|they|you|I|s?he|it</token>
                <token>live</token>
                <token postag="IN" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- roman numerals -->
                <token>I</token>
                <token regexp="yes">IV|VI{1,3}?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">-(is|was|were|are|am)</token>
                <token regexp="yes">s?he|it|you|we|they|I</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">s?he|you</token>
                <token chunk_re="B-NP.*">the</token>
                <token chunk_re="I-NP.*" min="0" max="2" />
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern><!-- I super-duper like your new dress -->
                <token>super-duper</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- https://forum.wordreference.com/threads/done-gone.764419/ -->
                <token>done</token>
                <token>gone</token>
            </antipattern>
            <antipattern><!-- Where you able to do so? -->
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token>where</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="JJ" skip="-1" />
                <token>?</token>
            </antipattern>
            <rule><!-- "Everything else it not working" -->
                <pattern>
                    <or>
                        <token postag="NN.*|WDT|WP" postag_regexp="yes" />
                        <token regexp="yes">else|this</token>
                    </or>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token regexp="yes">not|very|really|totally|absolutely|also|so|an?|the</token>
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="VB[PZD]?|MD|RB.*|CC" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion> or <suggestion>it is</suggestion>?</message>
                <example correction="is|it is">He told me that <marker>it</marker> not working.</example>
                <example correction="is|it is">Session trace data is not sent to Insights, so <marker>it</marker> not possible to query or filter session traces (on any attribute).</example>
                <example correction="is|it is">... that the script <marker>it</marker> not visible on the screen.</example>
                <example correction="is|it is">Update: I stand corrected - this <marker>it</marker> the exact same issue as the old thread.</example>
                <example correction="is|it is">I am guessing this <marker>it</marker> the primary reason your call is returning an error.</example>
                <example correction="is|it is">Another way I think you can solve it is to minimize the action so that the script <marker>it</marker> not visible on the screen.</example>
                <example>I use it a lot, and find it very reliable.</example>
                <example>Only one is worth it not two.</example>
                <example>Making it very difficult to stop in intersections.</example>
                <example>It has a hugely dominant market position, making it very difficult for competitors to challenge it.</example>
                <example>The methodology keeps changing every year, making it not comparable across years and unreliable as a KPI for open government data.</example>
                <example>No, you having to ask for something does NOT automatically make it not worth getting.</example>
            </rule>

            <rule><!-- "It not easy" / "It a good source" -->
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t</token>
                        <token regexp="yes">not|very|really|totally|absolutely|also|so|an?|the</token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="VB[PZD]?|MD|RB.*|CC" postag_regexp="yes" />
                            <exception regexp="yes">(?!(&adjectives_with_ing;)).{2,30}ing</exception>
                        </token>
                    </marker>
                </pattern>
                <message>A verb may be missing after "\1". Please verify.</message>
                <suggestion>\1 is \2 \3</suggestion>
                <suggestion>\1 was \2 \3</suggestion>
                <example correction="It is very easy|It was very easy"><marker>It very easy</marker>.</example>
                <example correction="It is also good|It was also good"><marker>It also good</marker> source to farm snotstones.</example>
                <example correction="It is the variable|It was the variable"><marker>It the variable</marker> scope.</example>
                <example correction="She is the perfect|She was the perfect"><marker>She the perfect</marker> replacement for Kraken in those Justice and Mab teams!</example>
                <example correction="he is very active|he was very active">He was not performing good, but <marker>he very active</marker>.</example>
                <example correction="He is a racist|He was a racist"><marker>He a racist</marker> and a fascist as the article mentions.</example>
                <example correction="It is also worth|It was also worth"><marker>It also worth</marker> pointing out that this is not new information.</example>
                <example correction="it is a free|it was a free">A pipe bender would be best, not sure if <marker>it a free</marker> loan from a parts store.</example>
                <example correction="it is a good|it was a good">Hey, <marker>it a good</marker> day to die for the cause!</example>
                <example correction="It is a little|It was a little"><marker>It a little</marker> bit of a muddy area.</example>
                <example correction="it is a good|it was a good">I don’t know if <marker>it a good</marker> idea.</example>
                <example correction="It is a good|It was a good"><marker>It a good</marker> thing this whole thing was cleared up.</example>
                <example type="triggers_error">She the attached images for the zen and the lamp in the iOS Alexa app.</example>
                <example>“Call it the bedroom light.”</example><!-- #2518 -->
                <example>This all makes it a more convenient number system.</example><!-- #2523 -->
                <example>"Why's it so cold" I said.</example>
                <example>He the young English winger has done everything.</example>
            </rule>
            <rule><!-- "Everything else it cool" -->
                <pattern>
                    <or>
                        <token postag="NN.*|WDT|WP" postag_regexp="yes" />
                        <token regexp="yes">else|this</token>
                    </or>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="VB[PZD]?|MD|RB.*|CC" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion> or <suggestion>it is</suggestion>?</message>
                <example correction="is|it is">Yesterday we could view all our metrics in our dashboard however this morning nothing <marker>it</marker> working.</example>
                <example correction="is|it is">You need to create a companion App that <marker>it</marker> responsible for handling the REST calls.</example>
                <example correction="is|it is">So I now have a 3v power supply, and that <marker>it</marker> working great.</example>
                <example correction="is|it is">I did post a list of missing and coming soon troops for console to at least give you an idea about what <marker>it</marker> coming, some sooner than others.</example>
                <example correction="is|it is">It just says an update <marker>it</marker> available and hangs waiting for the download to start?</example>
                <example correction="is|it is">But since the author decided to go with it and everything else <marker>it</marker> working I suppose they can try it this way and figure how to change it later when/if they experience performance hit.</example>
                <example correction="is|it is">The life dies in which life condition <marker>it</marker> reborn in the same life condition.</example>
                <example>As a lifetime IT professional, I suspect that it is highly unlikely that Samsung will continue to develop and support two applications.</example>
                <example>Just please note it on the attached sheet.</example>
                <example>If this is true please put it on my schedule.</example>
                <example>I have not heard anything about any of the other speakers we agreed to seek, so if any of you have information about these please pass it along.</example>
            </rule>
            <rule><!-- "He afraid" -->
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t</token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="VB[PZD]?|MD|RB.*|CC" postag_regexp="yes" regexp="yes">(?!(worse$)).*</exception>
                            <exception regexp="yes">(?!(&adjectives_with_ing;)).{2,30}ing</exception>
                        </token>
                    </marker>
                </pattern>
                <message>A verb may be missing after "\1". Please verify.</message>
                <suggestion>\1 is \3</suggestion>
                <suggestion>\1 was \3</suggestion>
                <example correction="He is afraid|He was afraid"><marker>He afraid</marker> of them.</example>
                <example correction="He is good|He was good"><marker>He good</marker>.</example>
                <example correction="She is amazing|She was amazing"><marker>She amazing</marker>.</example>
                <example correction="it is worth|it was worth">This may not be worth all the work it takes to get it right, but <marker>it worth</marker> knowing about: Of course you might not like the form factor, it's different than what you have.</example>
                <example correction="It is easy|It was easy"><marker>It easy</marker> to tell the difference.</example>
                <example correction="it is unreliable|it was unreliable">I just want a keypad for using as an entry and exit to turn on and off the alarm to do away with the presence sensors that <marker>it unreliable</marker>.</example>
                <example correction="It is normal|It was normal"><marker>It normal</marker> to see activity once or twice and hour.</example>
                <example correction="it is worse|it was worse">I don’t have any experience with React so I can’t really tell if <marker>it worse</marker> or better than Vue.js.</example>
                <example correction="it is worth|it was worth">But indeed, it is not certain <marker>it worth</marker> the effort.</example>
                <example correction="it is pathetic|it was pathetic">I dont know, <marker>it pathetic</marker>.</example>
                <example correction="it is useless|it was useless">So people stop reporting because <marker>it useless</marker> and the annoyance grows.</example>
                <example correction="It is more|It was more"><marker>It more</marker> flexible than celestial.</example>
                <example correction="It is mighty|It was mighty"><marker>It mighty</marker> hard to please everyone.</example>
                <example correction="it is possible|it was possible">How <marker>it possible</marker>?</example><!-- TODO: needs different rule -->
                <example correction="It is more|It was more"><marker>It more</marker> on the passenger side.</example>
                <example correction="it is worth|it was worth">Determine if <marker>it worth</marker> servicing further.</example>
                <example correction="it is one|it was one">If <marker>it one</marker> of those cheep low profile electric fans it may not be moving enough air.</example>
                <example correction="it is beyond|it was beyond">Even if <marker>it beyond</marker> the 36,000 warranty, this is an emissions item that may be covered.</example>
                <example correction="it is customizable|it was customizable">If <marker>it customizable</marker> what is the best way to customize it.</example>
                <example correction="it is Christian|it was Christian">Being free to be of any religion one chooses as long as <marker>it Christian</marker>.</example>
                <example correction="it is safe|it was safe">Perhaps but frankly at its current rate <marker>it safe</marker> to say that 2019 will continue this trend.</example>
                <example correction="it is manual|it was manual">Would be ideal <marker>it manual</marker> adjustment were locked down?</example><!-- TODO: needs different rule -->
                <example correction="It is difficult|It was difficult"><marker>It difficult</marker> to see it because it’s on the top right corner.</example>
                <example correction="it is dark|it was dark">I really don’t do anything with the LUX portion, so I rarely look at it but maybe I should as a example when front open if <marker>it dark</marker> then light comes on.</example>
                <example correction="it is useful|it was useful">But it’s information that I know everyone exchanges, and <marker>it useful</marker> for us to know in case.</example>
                <example correction="It is possible|It was possible"><marker>It possible</marker> the “mirror behavior” automation also has a “turn on as well” action.</example>
                <example correction="it is easy|it was easy">In Portugal, so <marker>it easy</marker> to order anything from Europe and China.</example>
                <example correction="it is easy|it was easy">You can use Alexa with the Iris GDOs, you have to setup virtual switches but <marker>it easy</marker> to do and works well.</example>
                <example correction="it is sunny|it was sunny">So couple of things, do you want it when <marker>it sunny</marker> outside or just when it hits your window.</example>
                <example correction="she is unable|she was unable">Before the game starts <marker>she unable</marker> to read all instructions and user agreements.</example>
                <example>Wasn’t it arbitrary?</example>
                <example>Ain't she cute?</example>
                <example>She dispositioned the call.</example><!-- "disposition" is not a verb according to lexico/webster (but Wiktionary) -->
                <example>She was unhappy because it worsened the relationship.</example>
                <example>Please send me it on Facebook.</example>
                <example>If he wasn't, he would've been doin' it downtown at noon.</example>
                <example>With the growing amount of data, it long ago became impractical to analyze DNA sequences manually.</example>
                <example>Now she on purpose met with Tom, as often as she could.</example>
                <example>Yeah medicine, it def helps.</example>
                <example>Browning had a great influence on her subsequent writing, as did she on his.</example>
                <example>He unlike the Clintons did it.</example><!-- missing comma -->
                <example>Keepin’ it real.</example>
                <example>It more than hurt.</example>
                <example>So why was she on?</example>
                <example>He one day ridiculed the short feet and slow pace of his opponent.</example>
                <example>IMHO, it more than likely wont help.</example>
                <example>Regardless of me passing it or it passing me.</example>
                <example>I would finish off 1500 seals on Monday or Tuesday and now it more often takes me all week.</example>
                <example>What is she dropping though?</example>
                <example>Is she worth getting multiples or trying to get her to mythic?</example>
                <example>Change is scary, but it’s totally worth it on that front.</example>
                <example>It by default checks everything.</example>
                <example>So a pulse switches it on.</example>
                <example>You can view (or edit) it through the developer tools.</example>
                <example>But realistically, it’s not worth it unless you’re going to create and destroy that droplet on a very regular basis.</example>
                <example>It's really not worth it due to the complexity of the security command class.</example>
                <example>Isn’t it possible that the issue is the device?</example>
                <example>If it ain't broken, ...</example>
                <example>She more particularly followed the young prince with her eyes.</example>
                <example>It more than compensates for the lost gold.</example>
                <example>If it can withstand mythic-tier damage, then it def belongs in A-tier.</example>
                <example>Several appliance repairmen commented about using the cleaning cycle with vinegar regularly and using quality HE detergent, sparingly.</example>
                <example>Like I mentioned above, get the hub in exclusion mode, and then at each switch turn it on/off until the mobile app says it excluded a device.</example>
                <example>All I want to do is turn it on or off as part of my ST routine.</example>
                <example>Nah, call it morning breath.</example>
                <example>[t]he custom of all courts is against us.</example>
                <example>Get the code read and search it online.</example><!-- different error -->
                <example>TODO: The largest region of Alaska, much of it uninhabited wilderness.</example>
                <example type="triggers_error">It crystal lattice is isotypic with the oxides of most trivalent rare-earth metals.</example><!-- caught by IT_ITS -->
                <example>The Aegean Islands are within the sea and some bound it on its southern periphery, including Crete and Rhodes.</example><!-- see #2435 -->
                <example>It more or less uses the tutorial Alex posted.</example><!-- see #2431 -->
                <example>Understanding how wall switches work makes it easier to make repairs and replacements and choose the right switches for your needs.</example><!-- see #2427 -->
                <example>This is usually powered on from few seconds, power off for few seconds power on for few seconds do this 5 time (5 power ups) and on the 5th time leave it on for 10 seconds.</example><!-- see #2427. Fixed with #2433 -->
                <example>I can no longer control it through Smartthings.</example><!-- see #2427 -->
                <example>Too many makes it clunky?</example><!-- see #2427 -->
                <example>The work makes it possible.</example><!-- see #2427 -->
                <example>If a hard turn to the left makes it worse, here’s what I’d do.</example><!-- see #2427 -->
                <example>"Call it folk wisdom."</example><!-- see #2437 -->
                <example>Being 16+ years old makes it worse.</example><!-- #2431 -->
                <example>... that Ian brought to this work make it one of the masterpieces of Berkeley scholarship.</example><!-- #2462 -->
                <example>Its stable economy together with its education services and level of social safety make it attractive for locals and visitors alike.</example><!-- see #2433 -->
                <example>Grandy was really letting her have it tonight.</example><!-- #2506 -->
                <example>How many things has she broken?</example>
                <example>Where was he/she born?</example>
                <example>The angry know it all.</example>
                <example>The very fact that you suddenly thought about her makes it obvious that you like her.</example>
                <example>... so if any of you have information about these please pass it along.</example><!-- #3223-->
                <example>Just please note it on the attached sheet.</example><!-- #3223-->
                <example>If this is true please put it on my schedule.</example><!-- #3223-->
                <example>If this looks ok, forward it on to Mike Grigsby.</example>
            </rule>
            <rule><!-- "We unable" -->
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ww]e</token>
                        <token postag="RB" min="0" />
                        <token regexp="yes">
                            sorry|thankful|happy|glad|(un)?able|good|hungry|(un)?certain|mad|ok(ay)?|strong|aware|eager|familiar|responsible|grateful|different
                        </token>
                    </marker>
                    <token regexp="yes">to|about|that|from|with|for|of|at|the|\.|\!|\,</token>
                </pattern>
                <message>Did you mean <suggestion>\1 are \2 \3</suggestion> or <suggestion>\1 were \2 \3</suggestion>?</message>
                <example correction="We are unable|We were unable"><marker>We unable</marker> to do it.</example>
                <example>Are we able to do this?</example>
                <example>We live on the third floor.</example>
            </rule>
            <rule><!-- "We afraid" -->
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ww]e</token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="VB[PZD]?|MD|RB.*|CC" postag_regexp="yes" regexp="yes">(?!(worse$)).*</exception>
                            <exception>all</exception>
                            <exception regexp="yes">(?!(&adjectives_with_ing;)).{2,30}ing</exception>
                            <exception>most</exception><!-- most is also an adverb -->
                        </token>
                    </marker>
                </pattern>
                <message>A verb or adverb may be missing or misspelled.</message>
                <example correction=""><marker>We afraid</marker> of them.</example>
                <example correction=""><marker>We nifty</marker> workarounds.</example>
                <example correction="">Can <marker>we sticky</marker> these?</example>
                <example correction="">Now we are sleeping for 80 seconds, and I think <marker>we good</marker>, but it also means waiting 80 seconds before doing stuff.</example>
                <example correction="">Please keep me posted as <marker>we additional</marker> counterparties.</example>
                <example type="triggers_error">We intent to provide a new JS API.</example><!-- caught by INTENT_INTEND -->
                <example>Are we able to do multiple capabilities for single input?</example>
                <example>But we must all understand they are a fledgling business which is probably underfunded by Samsung, and must move along with a limited staff.</example>
                <example>Why the Hell don’t we on the console have this yet?</example>
                <example>We proxy NR RUM data through our domain.</example><!-- "proxy" is used as a verb in some technical contextes -->
                <example>We’ve had a great response, and lots of awesome feedback from our beta participants, which we on the PHP agent team are incredibly thankful for.</example>
                <example>We try to be transparent when it comes to feature ideas, however we on the support team, don’t have a huge amount of visibility into them.</example>
                <example>We on the Console side are 2 Kingdoms (2-3 months) and 54 Troops behind (minimum 20 weeks, even if we did 2x immediately).</example>
                <example>This is exactly the position we on the content committee wanted people to be in.</example>
                <example>We on the other hand ...</example>
                <example>We clinical psychologist dudes went drinking last night.</example>
                <example>We all are going to die.</example>
                <example>We three just watched Good Will Hunting together last night.</example>
                <example>We old farts don’t have long to go.</example>
                <example>We Japanese live on rice.</example>
                <example>Now that we older people have stolen so much of their future.</example>
                <example>We human beings can’t be ashamed of every little “mistake”.</example>
                <example>So, here’s what we wild cable cutters do.</example>
                <example>I suppose we must all consider whatever we call this a work in progress in The Anthropocene. </example>
                <example>In 1900 his laudatory review of Henrik Ibsen's When We Dead Awaken was published.</example>
                <example>We are in an age of rearmaments, but we on this side cannot accept that position.</example>
                <example>It was a rare sort of closeness, as if we two, you and I, were in love with something that was utterly indifferent.</example>
                <example>A happy country where we poor animals shall rest forever from our labours.</example>
                <example>We Japanese come of age at twenty.</example>
                <example>We two know that you two lie.</example>
                <example>We few have floated to your shore.</example>
                <example>Please forward this list so that we on the hourly power desk can be sure to enter deals correctly in Enpower.</example>
                <example>Touches is where we 1st met.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">&nouns_with_a;</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="PRP" case_sensitive="yes">I</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">sorry|thankful|happy|glad|(un)?able|good|hungry|mad|ok(ay)?|strong|aware|eager|curious|responsible|grateful|worth|(un)?available|(un)?certain|proud|afraid|familiar|different|crazy</token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>I am</suggestion>
                <example correction="I am"><marker>I</marker> so sorry.</example>
                <example>Am I not sorry?</example>
                <example correction="I am"><marker>I</marker> glad to see that you are active on the net.</example>
                <example>Am I able to do it?</example>
                <example>I live on a farm.</example>
            </rule>
            <rule><!-- "I afraid" -->
                <antipattern>
                    <token />
                    <token />
                    <token regexp="yes">and|n?or|&amp;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>than</token>
                    <token>I</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- keyboard shortcut-->
                    <token spacebefore="yes">+</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Apple|&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">I</token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="VB[PZD]?|MD|RB.*|CC" postag_regexp="yes" regexp="yes">(?!(worse$)).*</exception>
                            <exception regexp="yes">(?!(&adjectives_with_ing;)).{2,30}ing</exception>
                            <exception>II</exception>
                            <exception>most</exception><!-- most is also an adverb -->
                        </token>
                    </marker>
                </pattern>
                <message>A verb or adverb may be missing or misspelled.</message>
                <example correction=""><marker>I afraid</marker> of them.</example>
                <example correction="">When I chose 9580, <marker>I red</marker> this article.</example>
                <example>This refers to the fact that many of the awards are available in several tiers, I II or III.</example>
                <example>He's better than I on that question.</example>
                <example>CTRL + I on Linux.</example>
                <example>What makes U.B.I special?</example>
                <example>And neither did I on March 5th.</example>
                <example>Netherwood Hughes, World War I veteran, died in 2009, aged 108.</example>
                <example>A phase I due diligence was completed for EOTT on two liquids pipeline segments in the Texas Panhandle and in Northwestern Colorado.</example>
                <example>Part I violent crimes include murder and criminal homicide.</example>
                <example>Mary will forward Kay and I electronic copies of both of their standard agreements.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="PRP">you</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">sorry|thankful|happy|glad|(un)?able|good|hungry|mad|ok(ay)?|strong|aware|eager|curious|responsible|grateful</token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>you are</suggestion>
                <example correction="You are"><marker>You</marker> sorry.</example>
                <example>Are you able to do it?</example>
                <example>Incorrect grammar: Where you able to do so?</example><!-- better suggestion made by WERE_WHERE -->
            </rule>
        </rulegroup>
        <rulegroup id="PRP_MAYBE_JJ" name="maybe vs. may be">
            <url>https://www.merriam-webster.com/dictionary/maybe</url>
            <antipattern>
                <token>maybe</token>
                <token postag="RB" min="1" max="2" />
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT|UH" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>maybe</token>
                    </marker>
                    <token postag="JJ">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "maybe" is an adverb. Either a verb is missing or you meant "may be".</message>
                <suggestion>may be</suggestion>
                <suggestion>is maybe</suggestion>
                <example correction="may be|is maybe">It <marker>maybe</marker> helpful in the future if Austin Energy goes combined cycle.</example>
                <example correction="may be|is maybe">It <marker>maybe</marker> worth our while to have him come and demonstrate the runs, and explain the modelling algorithm to the larger group.</example>
                <example>At any rate, no swears included there and if it maybe just means “I really tricked you” or whatever, then it’s really harmless.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT|UH" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">you|we|they</token>
                    <marker>
                        <token>maybe</token>
                    </marker>
                    <token postag="JJ">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "maybe" is an adverb. Either a verb is missing or you meant "may be".</message>
                <suggestion>may be</suggestion>
                <suggestion>are maybe</suggestion>
                <example correction="may be|are maybe">As you <marker>maybe</marker> aware, there are no futures market in the Philippines but its concept is familiar.</example>
                <example correction="may be|are maybe">You <marker>maybe</marker> aware that Stinson Gibner who was in the Research group left late last month.</example>
                <example correction="may be|are maybe">You <marker>maybe</marker> able to do this without the exclude part.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT|UH" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token case_sensitive="yes">I</token>
                    <marker>
                        <token>maybe</token>
                    </marker>
                    <token postag="JJ">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "maybe" is an adverb. Either a verb is missing or you meant "may be".</message>
                <suggestion>may be</suggestion>
                <suggestion>am maybe</suggestion>
                <example correction="may be|am maybe">As I <marker>maybe</marker> aware, there are no futures market in the Philippines but its concept is familiar.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT|UH" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="NNP">
                        <exception postag="UH" />
                        <exception postag="CD" />
                    </token>
                    <marker>
                        <token>maybe</token>
                    </marker>
                    <token postag="JJ">
                        <exception postag="NNP" />
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "maybe" is an adverb. Either a verb is missing or you meant "may be".</message>
                <suggestion>may be</suggestion>
                <suggestion>is maybe</suggestion>
                <example correction="may be|is maybe">As Tom <marker>maybe</marker> aware, there are no futures market in the Philippines but its concept is familiar.</example>
                <example>Three maybe four days of quiet at a time.</example>
                <example>Hey maybe one day I’ll be famous.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_RB_JJ" name="missing verb between 'it' and adjective">
            <antipattern>
                <token />
                <token />
                <token regexp="yes">for|after</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token>slow</token>
                <token>down</token>
            </antipattern>
            <antipattern>
                <token>later</token>
                <token>on</token>
            </antipattern>
            <antipattern><!-- "just up and leave" -->
                <token>just</token>
                <token>up</token>
                <token regexp="yes">and|&amp;</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT|UH" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">
                            s?he|it
                            <exception case_sensitive="yes">IT</exception>
                        </token>
                    </marker>
                    <token postag="RB" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="VB[DZ]|IN" postag_regexp="yes" />
                        <exception regexp="yes">work|crash|go|sound</exception><!-- uncommon adjectives that are base form verbs -->
                    </token>
                    <token postag="IN|TO" postag_regexp="yes" />
                    <token postag="NN.*|VB.*|PRP.*|CD|DT|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\3 is</suggestion>
                <suggestion>\3 was</suggestion>
                <example correction="It is|It was"><marker>It</marker> still possible for Tom to build a similar chart.</example>
                <example correction="It is|It was"><marker>It</marker> only last for a few minutes.</example>
                <example correction="It is|It was"><marker>It</marker> totally inappropriate for dozens of skills!</example>
                <example correction="it is|it was">I've been following the news very closely and <marker>it</marker> really unfortunate to read about it.</example>
                <example correction="it is|it was">I already read this article before and try it, but <marker>it</marker> not working from start first line of resolution article.</example>
                <example correction="it is|it was">It was working some time ago and <marker>it</marker> still working for one of our app that use the same stack.</example>
                <example correction="it is|it was">It is fine and well what they are proposing, but <marker>it</marker> as little to do with climate change.</example><!-- wrong suggestion, but better than none -->
                <example correction="It is|It was"><marker>It</marker> very much like people who were opposed to Hilary Clinton as president being labeled misogynists.</example>
                <example correction="It is|It was"><marker>It</marker> properly searchable by free text searcher.</example>
                <example correction="it is|it was">The system, even though it's over ten years old, <marker>it</marker> still one of the very best you'll find in any roleplaying game.</example>
                <example correction="it is|it was">Liberty expired at 6 AM in the morning and <marker>it</marker> too much of a hassle to try and go in the AM.</example>
                <example correction="it is|it was">I tried to buy more than 1 of any of the 15 items available and <marker>it</marker> not possible in the single order screen in any event.</example>
                <example correction="He is|He was"><marker>He</marker> still able to build a similar chart.</example>
                <example correction="it is|it was">Liberty expired at 6 AM in the morning and <marker>it</marker> too much of a hassle to try and go in the AM.</example>
                <example correction="it is|it was">However, <marker>it</marker> much harder than repeating, like a mantra, a few feel good platitudes.</example>
                <example correction="It is|It was"><marker>It</marker> so funny to watch him play though.</example>
                <example>It really turned out well.</example>
                <example>It works, but it just slow down the speed when I type.</example><!-- found by IT_VBZ -->
                <example>The U.S., not to mention the world at large, needs it now more than ever before.</example>
                <example>That would account for it not starting until a year or two ago.</example>
                <example>Check it out online to find more.</example>
                <example>Why can’t it just work like a switch and turn on and off the lights?</example>
                <example>I’ll need to do a video for it right now before everyone wakes up.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="JJ" />
                    <token>,</token>
                    <token regexp="yes">as|when</token>
                    <token />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT|UH" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">
                            it|s?he
                            <exception case_sensitive="yes">IT</exception>
                        </token>
                    </marker>
                    <token postag="RB" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception postag="VB[DZ]" postag_regexp="yes" />
                        <exception regexp="yes">work|crash|go|sound</exception><!-- uncommon adjectives that are popular base form verbs -->
                    </token>
                    <token postag="PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\3 is</suggestion>
                <suggestion>\3 was</suggestion>
                <example correction="It is|It was"><marker>It</marker> still possible.</example>
                <example correction="he is|he was">Well, <marker>he</marker> partially correct.</example>
                <example correction="It is|It was"><marker>It</marker> still happening.</example>
                <example correction="it is|it was">I slowly stopped hitting the gym, I prioritized making dinner and <marker>it</marker> rarely healthy.</example>
                <example>I feel like I fuck it up still, will work on it though.</example>
                <example>We're going after it right now.</example>
                <example>I’ll check it out soon.</example>
                <example>Get it on soon.</example>
                <example>We are offering this special for a limited time only so check it out today.</example>
                <example>Certainly. I'II look for it right now.</example>
                <example>We have already identified our lower performers across Operations and IT as well.</example>
                <example>you might as well back it up anyway.</example>
                <example>Despite being a little flaky at times, he even still, as a crusty old man, was considered a roll model for millions.</example>
                <example>She can make it right now, but she can't improve it.</example>
                <example>If you come across a violation like this, you can typically clear it out by toggling the condition off for a moment, checking that the violation has closed, and flipping it back on.</example>
                <example>Enron North America Corp. Hate to bother you about this again, since you have done it once already.</example>
                <example>You have done it totally incorrect!</example>
                <example>Ever wonder what Matthew's Roman bosses said and did when he just up and left his tax booth to follow Jesus?</example>
            </rule>
        </rulegroup>
        <rule id="IF_VB_PCT" name="if need (needed)">
            <antipattern>
                <token>.</token>
                <token regexp="yes" spacebefore="no">.+</token>
            </antipattern>
            <antipattern><!-- tech speech: "the if condition/statement/block/sentence" -->
                <token regexp="yes">an?|the</token>
                <token>if</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">if|when</token>
                <token postag="NN.*" postag_regexp="yes" min="1" max="2" />
                <token>,</token>
                <token postag="JJ.*|NN.*|UNKNOWN" postag_regexp="yes" skip="2" />
                <token regexp="yes">or|and</token>
                <token postag="JJ.*|NN.*|UNKNOWN" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Ii]f|[Ww]hen</token>
                <marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="JJ.*|VB[DN]|IN|DT" postag_regexp="yes" />
                        <exception regexp="yes">yes|not?|condition|block|statement|people|err</exception>
                        <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                        <exception regexp="yes">love|time</exception>
                    </token>
                </marker>
                <token postag="PCT" spacebefore="no" />
            </pattern>
            <message>The conjunction "\1" requires the past participle <suggestion><match no="2" postag="VBN" /></suggestion>. Or did you mean <suggestion>you \2</suggestion>?</message>
            <example correction="needed|you need">You can do that if <marker>need</marker>.</example>
            <example>When are .rnd-files created?</example>
            <example correction="canned|you can">Call when <marker>can</marker>.</example>
            <example>The if statement.</example>
            <example>Contact me if <marker>found</marker>.</example>
            <example>Or, do I need to write out a table where it says, if Feb, 02, if Mar, 03, etc?</example>
            <example>Baf's Guide to the Interactive Fiction Archive, a more user-friendly interface for the IF archive.</example>
            <example>It is arguably more convincing if police, forensic experts or similar professionals are made the protagonist of a series of crime novels.</example>
            <example>Elizabeth's reign became idealised as a time when crown, church and parliament had worked in constitutional balance.</example>
        </rule>
        <rulegroup id="KIND_REGARD" name="Kind regard (regards)">
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">kind|kindest|best|warm|warmest</token>
                    <marker>
                        <token>regard</token>
                    </marker>
                    <token regexp="yes">,|\.|!|:</token>
                </pattern>
                <message>Did you mean <suggestion>\3s</suggestion>?</message>
                <example correction="regards">Kind <marker>regard</marker>, Chris.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">kind|kindest|best|warm|warmest</token>
                    <marker>
                        <token postag="SENT_END">regard</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\3s</suggestion>?</message>
                <example correction="regards">Best <marker>regard</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">best|kind|kindest|warm|warmest</token>
                    <marker>
                        <token>wish</token>
                    </marker>
                    <token regexp="yes">,|\.|!|:</token>
                </pattern>
                <message>Did you mean <suggestion>wishes</suggestion>?</message>
                <example correction="wishes">Best <marker>wish</marker>, Carl.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">best|kind|kindest|warm|warmest</token>
                    <marker>
                        <token postag="SENT_END">wish</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>wishes</suggestion>?</message>
                <example correction="wishes">Best <marker>wish</marker></example>
            </rule>
        </rulegroup>
        <rule id="SPLITTED" name="splitted (split)">
            <pattern>
                <token>splitted</token>
            </pattern>
            <message>The past tense and past participle of the verb "to split" is <suggestion>split</suggestion>. Alternatively you could use <suggestion>separated</suggestion> or <suggestion>divided</suggestion>.</message>
            <url>https://en.wiktionary.org/wiki/split#Verb</url>
            <example correction="split|separated|divided">The task list was <marker>splitted</marker> into smaller chunks.</example>
        </rule>
        <rule id="CHOOSED" name="choosed (chose)">
            <pattern>
                <token>choosed</token>
            </pattern>
            <message>The past tense and past participle of the verb "to choose" is <suggestion>chose</suggestion>. The past participle is <suggestion>chosen</suggestion>.</message>
            <url>https://en.wiktionary.org/wiki/choose#Verb</url>
            <example correction="chose|chosen">He <marker>choosed</marker> his friends carefully.</example>
        </rule>
        <rule id="BIDDED" name="bidded (bid)">
            <pattern>
                <token>bidded</token>
            </pattern>
            <message>The past tense of the verb "to bid" is <suggestion>bid</suggestion>. </message>
            <url>https://www.merriam-webster.com/dictionary/bid</url>
            <example correction="bid">Yesterday, he <marker>bidded</marker> 10% less for the car.</example>
        </rule>
        <rule id="STRIKED" name="striked (struck)">
            <pattern>
                <token>striked</token>
            </pattern>
            <message>The past tense or the past participle of the verb "to strike" is <suggestion>struck</suggestion>. </message>
            <url>https://en.wiktionary.org/wiki/strike_through</url>
            <example correction="struck">He <marker>striked</marker> through all incorrect words.</example>
        </rule>
        <rule id="CASTED" name="casted (cast)">
            <pattern>
                <token>casted</token>
            </pattern>
            <message>The past tense and past participle of the verb "cast" is <suggestion>cast</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/cast</url>
            <example correction="cast">He <marker>casted</marker> the book down on to the chair angrily.</example>
        </rule>
        <rule id="BENDED" name="bended (bent)">
            <antipattern><!-- https://www.lexico.com/definition/on_bended_knee -->
                <token>bended</token>
                <token regexp="yes">knees?</token>
            </antipattern>
            <pattern>
                <token>bended</token>
            </pattern>
            <message>The past tense and past participle of the verb "bend" is <suggestion>bent</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/bend</url>
            <example correction="bent">He <marker>bended</marker> it.</example>
        </rule>
        <rule id="JAILBREAKED" name="jailbreaked (jailbroke)">
            <pattern>
                <token regexp="yes">jail-?breaked</token>
            </pattern>
            <message>The past tense of the verb "jailbreak" is <suggestion>jailbroke</suggestion>, the past participle is <suggestion>jailbroken</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/jailbreak</url>
            <example correction="jailbroke|jailbroken">I <marker>jailbreaked</marker> my iPhone.</example>
        </rule>
        <rule id="WROTE" name="writed (wrote)">
            <pattern>
                <token regexp="yes">(re-?)?writed</token>
            </pattern>
            <message>The past tense of the verb "<match no="1" regexp_match="d$" regexp_replace="" />" is <suggestion><match no="1" regexp_match="(?i)rited" regexp_replace="rote" /></suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/write</url>
            <example correction="wrote">He <marker>writed</marker> a book.</example>
        </rule>
        <rule id="TO_RB_TO_VB" name="to also (to) go">
            <antipattern>
                <token skip="4">set</token>
                <token>to</token>
                <token postag="RB" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token>just</token>
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- she told me to just to keep the peace -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="PRP" />
                <token>to</token>
                <token>just</token>
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Tt]o</token>
                    <token regexp="yes">maybe|perhaps|also|usually|possibly|always|never|safely|perfectly|only|sometimes|finally|eventually|not|just|really|instead|again|almost|especially|apparently|already|probably|actually|however</token>
                    <token case_sensitive="yes" regexp="yes">[Tt]o</token>
                </marker>
                <token postag="VBP?" postag_regexp="yes" />
            </pattern>
            <message>One of these words ('to') is redundant.</message>
            <suggestion>\1 \2</suggestion>
            <suggestion>\2 \3</suggestion>
            <example correction="to maybe|maybe to">The next step with my French journey is <marker>to maybe to</marker> have a French minor.</example>
            <example correction="to never|never to">Tom has decided <marker>to never to</marker> do that again.</example>
            <example correction="to not|not to">He tells transaction tracer and error collector <marker>to not to</marker> collect.</example>
            <example correction="to not|not to">The solution is <marker>to not to</marker> try mirror content.</example>
            <example>Set the execution condition to always to ensure it triggers on a daily base.</example>
            <example>She told me to just to keep the peace.</example>
            <example>So often, my grandmother had a spare bed she’d go to just to be able to sleep.</example>
            <example>You can turn sound off if you want but shouldn’t have to just to avoid the repetitive annoying sounds.</example>
            <example correction="to not|not to">I would really like to use another resource farmed in another way to be converted in shards <marker>to not to</marker> HAVE to daily farm delves.</example>
        </rule>
        <rule id="MD_ABLE" name="missing 'be' in 'will able'">
            <pattern>
                <token postag="MD" />
                <token case_sensitive="yes" regexp="yes">(un)?able</token>
            </pattern>
            <message>Did you mean <suggestion>\1 be \2</suggestion>?</message>
            <example correction="will be able">I hope you <marker>will able</marker> to do this by tomorrow.</example>
            <example correction="could be able">We <marker>could able</marker> to integrate almost everything but facing issue with viewing the attachments.</example>
            <example correction="will be able">But, consider he <marker>will able</marker> to be a ghost even after done finish killing his target.</example>
        </rule>
        <rule id="TO_ABLE" name="missing 'be' in 'to able'">
            <pattern>
                <token>to</token>
                <token case_sensitive="yes" regexp="yes">(un)?able</token>
            </pattern>
            <message>Did you mean <suggestion>\1 be \2</suggestion>?</message>
            <example correction="to be able">I need help in order <marker>to able</marker> to achieve this.</example>
            <example correction="to be able">Absent that, we need <marker>to able</marker> to present majority and minority proposals.</example>
        </rule>
        <rulegroup id="PRP_ABLE_TO" name="missing 'be' before 'able'">
            <antipattern><!-- Caught by WE_BE: We might we able to reproduce and fix the issue. Also, do you use other add-ons? -->
                <token regexp="yes">we|they|you|it|s?he</token>
                <token postag="RB" min="0" />
                <token postag="MD" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <marker>
                        <token postag="PRP" />
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>\2 be</suggestion>?</message>
                <example correction="we be">Can <marker>we</marker> able to do achieve this?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token postag="PRP" />
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>\3 be</suggestion>?</message>
                <example correction="we be">Can't <marker>we</marker> able to do achieve this?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <marker>
                        <token postag="PRP" />
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token skip="-1">to</token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>\2 been</suggestion>?</message>
                <example correction="we been">Have <marker>we</marker> ever able to do achieve this?</example>
                <example correction="you been">Have <marker>you</marker> able to solve this?</example>
                <example correction="anyone been">Has <marker>anyone</marker> able to solve this issue?</example>
                <example>..., and then have it able to issue subdomains.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">haven?|hasn?|hadn?|ve</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token postag="PRP" />
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token skip="-1">to</token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>\3 been</suggestion>?</message>
                <example correction="we been">Haven't <marker>we</marker> able to do achieve this?</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- "where you able to do that?" (caught by WERE_WHERE) -->
                    <token>where</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- caught by PRP_MAYBE_JJ -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="PRP" />
                    <token>maybe</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">you|we|they</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>\1 are</suggestion> or <suggestion>\1 were</suggestion>?</message>
                <example correction="We are|We were"><marker>We</marker> able to do achieve this.</example>
                <example correction="we are|we were">Unfortunately, <marker>we</marker> unable to regenerate the new access token for accessing the API.</example>
                <example correction="you are|you were">If its for reference <marker>you</marker> maybe able to do it in a DH and have it update on load.</example>
                <example correction="you are|you were">I hope that <marker>you</marker> able to keep your sanity.</example>
                <example>Are they able to login?</example>
                <example>Why weren't you able to sleep at night?</example>
                <example>Is one of you able to help me right now?</example>
                <example>Hello, were any of you able to complete this report?</example>
                <example>For those of you unable to travel ...</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- "where you able to do that?" (caught by WERE_WHERE) -->
                    <token>where</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- caught by PRP_MAYBE_JJ -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="PRP" />
                    <token>maybe</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" postag="PRP" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>\1 is</suggestion> or <suggestion>\1 was</suggestion>?</message>
                <example correction="He is|He was"><marker>He</marker> able to do achieve this.</example>
                <example correction="it is|it was">I assume that <marker>it</marker> only able to be used for a limited time.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- "where you able to do that?" (caught by WERE_WHERE) -->
                    <token>where</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- caught by PRP_MAYBE_JJ -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="PRP" />
                    <token>maybe</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" postag="PRP" case_sensitive="yes">I</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">(un)?able</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>\1 am</suggestion> or <suggestion>\1 was</suggestion>?</message>
                <example correction="I am|I was"><marker>I</marker> able to do achieve this.</example>
            </rule>
        </rulegroup>
        <rule id="ABLE_VBP" name="missing 'to' after 'able'">
            <antipattern>
                <token regexp="yes">(un)?able</token>
                <token postag="RB.*" postag_regexp="yes" />
                <token>to</token>
            </antipattern>
            <pattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">(un)?able</token>
                    <token postag="VBP">
                        <exception postag="IN" />
                    </token>
                </marker>
            </pattern>
            <message>The preposition 'to' is required before the verb '\4'.</message>
            <suggestion>\3 to \4</suggestion>
            <example correction="able to go">I'm <marker>able go</marker> forward.</example>
            <example correction="able to make">Tom is not <marker>able make</marker> this happening.</example>
            <example>They are unable even to exercise faith in Christ by their own will.</example>
            <example>A little man who was stumping along eastward at a good walk, and the other a girl of maybe eight or ten who was running as hard as she was able down a cross street.</example>
        </rule>
        <rulegroup id="YOU_GOOD" name="You good? (Are you good?)">
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes" min="0">&quote;|but</token>
                    <marker>
                        <token regexp="yes">you|we</token>
                        <token min="0" regexp="yes">really|feeling</token>
                        <token regexp="yes">good|ok|okay|mad|happy|cool|coming|ready|fine|sure|done|finished|hungry|thirsty|there</token>
                    </marker>
                    <token regexp="yes" min="0">honey|sweetheart|sweetie|pal|t?here|kid|now|bro</token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>are <match no="3" case_conversion="alllower" /> \4 \5</suggestion>?</message>
                <example correction="Are you good"><marker>You good</marker>?</example>
                <example correction="Are you done"><marker>You done</marker> honey?</example>
                <example correction="Are we good"><marker>We good</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes" min="0">&quote;|but|hey|hi</token>
                    <marker>
                        <token>you</token>
                        <token min="0" regexp="yes">really|feeling</token>
                        <token regexp="yes">good|alright|ok|okay|mad|happy|cool|coming|ready|fine|sure|done|finished|hungry|thirsty|there</token>
                    </marker>
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception>right</exception>
                    </token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>are you \4 \5</suggestion>?</message>
                <example correction="Are you ok"><marker>You ok</marker>, Pete?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes" min="0">&quote;|hey|hi</token>
                    <marker>
                        <token>you</token>
                        <token min="0" regexp="yes">really|feeling</token>
                        <token regexp="yes">good|alright|ok|okay|mad|happy|cool|coming|ready|fine|sure|done|finished|hungry|thirsty|there</token>
                        <token regexp="yes">with(out)?</token>
                        <token regexp="yes">that|this|it|them|her|him</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>are you \4 \5 \6 \7</suggestion>?</message>
                <example correction="Are you fine with that"><marker>You fine with that</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">&quote;</token>
                    <token min="0" regexp="yes">hey|hi</token>
                    <marker>
                        <token>you</token>
                        <token min="0" regexp="yes">really|feeling</token>
                        <token regexp="yes">good|alright|ok|okay|mad|happy|cool|coming|ready|fine|sure|done|finished|hungry|thirsty|there</token>
                    </marker>
                    <token min="0">,</token>
                    <token min="0" />
                    <token>?</token>
                    <token regexp="yes">&quote;</token>
                </pattern>
                <message>Did you mean <suggestion>are you \4 \5</suggestion>?</message>
                <example correction="Are you ok">"<marker>You ok</marker>?"</example>
            </rule>
        </rulegroup>
        <rule id="CAN_ANYTHING" name="can (do) anything for you">
            <pattern>
                <token regexp="yes" skip="2">if|when|once</token>
                <marker>
                    <token regexp="yes">can|could</token>
                </marker>
                <token regexp="yes">(some|any)thing</token>
                <token regexp="yes">for|to</token>
            </pattern>
            <message>A verb may be missing. Did you mean <suggestion>\2 do</suggestion>?</message>
            <example correction="can do">Let us know when we <marker>can</marker> anything for you.</example>
        </rule>
        <rulegroup id="IF_YOU_ANY" name="if you (have) any">
            <antipattern>
                <token>we</token>
                <token>the</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|once</token>
                    <marker>
                        <token regexp="yes">I|you|they|we</token>
                    </marker>
                    <token regexp="yes">any|some|an?|the</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\2 have</suggestion> or <suggestion>\2 do</suggestion>?</message>
                <example correction="you have|you do">Let me know if <marker>you</marker> any questions.</example>
                <example>If we the players have already bought the Growth Packs, how about...</example>
                <example>If We the People are ever going to rise up, now’s the time folks.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|once</token>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                    </marker>
                    <token regexp="yes">any|some|an?|the</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\2 has</suggestion>, <suggestion>\2 is</suggestion> or <suggestion>\2 does</suggestion>?</message>
                <example correction="she has|she is|she does">Let me know if <marker>she</marker> any questions.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_MD_NN" name="missing verb after 'will/can/could/would'">
            <antipattern>
                <token skip="3" regexp="yes">how|like|otherwise|as|way|extent|than</token>
                <token postag="MD" />
            </antipattern>
            <antipattern><!-- Yes, I will ma'am -->
                <token>ma</token>
                <token regexp="yes">&apostrophe;</token>
                <token>am</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">if|when</token>
                <token regexp="yes">I|we|s?he|they|it|you</token>
                <token>cannot</token>
                <token>then</token>
                <token regexp="yes">some(one|body|thing)</token>
                <token regexp="yes">else|other</token>
            </antipattern>
            <antipattern><!-- ... when we cannot in other ways ... -->
                <token regexp="yes">if|when</token>
                <token regexp="yes">I|we|s?he|they|it|you</token>
                <token>cannot</token>
                <token>in</token>
            </antipattern>
            <antipattern><!-- I wish I could sweetheart -->
                <token>I</token>
                <token postag="RB" min="0" />
                <token inflected="yes">wish</token>
                <token postag="PRP" />
                <token postag="MD" />
                <token regexp="yes">sweet(y|ie|heart)|m[uo]m|dad|dude|mamm?a|papa|son|bab[ye]</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Yellow_River -->
                <token regexp="yes">huang|liu|zheng</token>
                <token>he</token>
            </antipattern>
            <antipattern><!-- "I would due to other circumstances" -->
                <token>due</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- "That you wouldn't other wise find" (needs different rule)  -->
                <token>other</token>
                <token>wise</token>
            </antipattern>
            <antipattern><!-- https://www.sophia.org/tutorials/i-can-statements-2 -->
                <token>I</token>
                <token regexp="yes">can|will</token>
                <token regexp="yes">statements?</token>
            </antipattern>
            <antipattern>
                <token>shall</token>
                <token>none</token>
            </antipattern>
            <antipattern><!-- No longer would individual servers be ... -->
                <token regexp="yes">not?</token>
                <token>longer</token>
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">to|for|after|on|in</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">to|for|after|on|in</token>
                <token postag="NNP" />
            </antipattern>
            <antipattern><!-- but I will next time -->
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token>next</token>
                <token regexp="yes">time|week|month|day|year</token>
            </antipattern>
            <antipattern><!-- I would always so prefer -->
                <token postag="MD" />
                <token postag="RB" min="1" max="3" />
                <token postag="VB.*" postag_regexp="yes"><exception>cool</exception></token>
            </antipattern>
            <antipattern>
                <token regexp="yes">or|and|&amp;</token>
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" />
                <token postag="SENT_END" regexp="yes">\p{P}</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token regexp="yes">huh|blah</token><!-- interjections -->
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token postag="RB|UH" postag_regexp="yes" min="0" />
                <token postag="MD" skip="-1" />
                <token>?</token>
            </antipattern>
            <antipattern><!-- I recommend to participate what courses you can online. -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="IN" min="0" />
                <token postag="W.*" postag_regexp="yes" skip="4" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token regexp="yes">most|less|skip|fed|kinda|sorta|one|btw|fyi|ye|dammit|hav|inter\-?office</token><!-- I would federal express it -->
            </antipattern>
            <antipattern>
                <token regexp="yes">kind|sort</token><!-- I could kind of anticipate it -->
                <token>of</token>
            </antipattern>
            <antipattern><!-- I can't do it now but I can tonight -->
                <token postag="MD" />
                <token regexp="yes">today|tonight|tomorrow|yesterday</token>
            </antipattern>
            <antipattern><!-- I can do it now but I can't tonight -->
                <token postag="MD" />
                <token postag="RB" />
                <token regexp="yes">today|tonight|tomorrow|yesterday</token>
            </antipattern>
            <antipattern><!-- "ill afford" (idiom) -->
                <token postag="MD" skip="2" />
                <token>ill</token>
                <token>afford</token>
            </antipattern>
            <antipattern><!-- to "federal express" it (idiom) -->
                <token postag="MD" skip="2" />
                <token>federal</token>
                <token>express</token>
            </antipattern>
            <antipattern><!-- to "fed ex" it (idiom) -->
                <token postag="MD" skip="2" />
                <token>fed</token>
                <token>ex</token>
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token>til</token><!-- should be "till" (different rule) -->
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token>mana</token><!-- slang word of game nerds -->
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token>able</token><!-- see MD_ABLE -->
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token>matter</token><!-- It will matter -->
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token regexp="yes">easy|quick</token><!-- is adverb, but not tagged like one -->
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token regexp="yes">&not_really_verbs;|&verb_abbreviations;|&adverb_abbreviations;</token>
            </antipattern>
            <antipattern>
                <token postag="MD" skip="2" />
                <token regexp="yes">auto|hyper|re|semi|pre|un|mini|self|inter|ex|multi</token><!-- verb prefixes that need compounds rules -->
            </antipattern>
            <antipattern><!-- nouns that are verbs when written as two words, needs different rule with suggestion (TODO!) -->
                <token postag="MD" skip="2" />
                <token regexp="yes">&incorrect_noun_verbs;</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- A.I -->
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">I</token>
            </antipattern>
            <antipattern><!-- "I must mercy them" https://en.wiktionary.org/wiki/mercy#Verb -->
                <token>mercy</token>
                <token regexp="yes">me|them|him|her|us|it</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">that|this</token>
            </antipattern>
            <antipattern><!-- of course you can mom-->
                <token>of</token>
                <token>course</token>
                <token min="0">,</token>
                <token>you</token>
                <token postag="MD" />
                <token postag="NN|NN:UN?|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- missing commas: "I will mom thanks."" -->
                <token regexp="yes">I|you</token>
                <token postag="MD" />
                <token regexp="yes">m[uo]m|m[ou]mmy|mama|dad(dy)?|papa|dear|sweetheart|sweetie|sir|bab[ye]|sis</token>
                <token regexp="yes">thanks?|\,|\.</token>
            </antipattern>
            <antipattern><!-- missing commas: "I will mom thanks."" -->
                <token>I</token>
                <token postag="MD" />
                <token>n't</token>
                <token regexp="yes">m[uo]m|m[ou]mmy|mama|dad(dy)?|papa|dear|sweetheart|sweetie|sir|bab[ye]</token>
                <token regexp="yes">thanks?|\,|\.</token>
            </antipattern>
            <antipattern><!-- Yes, you can Peter -->
                <token regexp="yes">ye[sp]|no(pe)?|[ao]hh?</token>
                <token min="0">,</token>
                <token>you</token>
                <token postag="MD" />
                <token min="0">n't</token>
                <token postag="NN|NN:UN?|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- "I won't bye!" -->
                <token postag="MD" />
                <token min="0">n't</token>
                <token regexp="yes">bye|darling</token>
                <token postag="PCT" />
            </antipattern>
            <antipattern><!-- "I won't bye" -->
                <token postag="MD" />
                <token min="0">n't</token>
                <token regexp="yes">bye|darling|sweetheart|bro|sweetie</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token regexp="yes">[aou]h</token>
            </antipattern>
            <antipattern><!-- Thanks may god bless you -->
                <token>may</token>
                <token>god</token>
            </antipattern>
            <antipattern><!-- I will protect you should anything happen -->
                <token>should</token>
                <token regexp="yes">(any|some)thing</token>
                <token>happen</token>
            </antipattern>
            <antipattern><!-- Yeah, I should sorry (missing comma) -->
                <token regexp="yes" skip="3">I|we</token>
                <token postag="SENT_END">sorry</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="3">I|we</token>
                <token>sorry</token>
                <token postag="SENT_END|PCT" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- archaic -->
                <token>wouldst</token>
                <token>thou</token>
            </antipattern>
            <antipattern><!-- https://www.merriam-webster.com/dictionary/cheap%20out -->
                <token skip="1">cheap</token>
                <token>out</token>
            </antipattern>
            <antipattern><!-- I would thou couldst -->
                <token>would</token>
                <token>thou</token>
                <token>couldst</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token>long</token>
                <token>ago</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- when you would best like to meet -->
                <token postag="MD" />
                <token>best</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token regexp="yes">gimme|lemme</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token regexp="yes">&commonly_misspelled_verbs;</token>
            </antipattern>
            <antipattern>
                <token>shalt</token>
                <token>thou</token>
            </antipattern>
            <antipattern>
                <token>thou</token>
                <token>shalt</token>
            </antipattern>
            <antipattern>
                <token>should</token>
                <token regexp="yes">anything|circumstances</token>
                <token>change</token>
            </antipattern>
            &multi_word_verbs;
            <rule>
                <antipattern>
                    <token>cool</token>
                    <token skip="2">to</token>
                    <token postag="CD" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">offensive|nicer?|good|great|cool(er)?|eligible|familiar|handy|(im)?possible|sweet|safer?|better|ok(ay)?|related|interesting|(in)?appropriate|important|glad|happy|horrible|terrible|sorry|worth|responsible|(in)?compatible|lovely|useful|helpful</token>
                    <token>in</token>
                </antipattern>
                <antipattern>
                    <token>back</token>
                     <token regexp="yes">about|for|if|when|as|because|that|with(out)?|\.|\,|\?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">it|we|they|you|he|she|I</token>
                    <marker>
                        <token postag="MD">
                            <exception>need</exception>
                        </token>
                        <token min="0" regexp="yes">not|really|very|totally|absolutely</token>
                        <token regexp="yes">back|offensive|nicer?|good|great|cool(er)?|eligible|familiar|handy|(im)?possible|sweet|safer?|better|ok(ay)?|related|interesting|(in)?appropriate|important|glad|happy|horrible|terrible|sorry|worth|responsible|(in)?compatible|lovely|useful|helpful</token>
                    </marker>
                    <token regexp="yes">to|about|for|if|in|when|as|because|at|that|with(in|out)?|\.|\,|\!|\?|…</token>
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\2 \3 <match no="4" regexp_match="^(.+)$" regexp_replace="be $1" case_conversion="startlower" /></suggestion>?</message>
                <example correction="would be cool">It <marker>would cool</marker> if you could do that.</example>
                <example correction="would be safe">Do you really think it <marker>would safe</marker> to do that?</example>
                <example correction="would be nice">Maybe because I’m on a V1 hub but it <marker>would nice</marker> to have some indication on what is going on.</example>
                <example correction="will be OK">When that's done, I assume it <marker>will OK</marker> to distribute.</example>
                <example correction="should be OK">But if validly executed by a parent company that is unlikely to go into receivership or liquidation then it <marker>should OK</marker>.</example>
                <example correction="might be possible">I wonder if it <marker>might possible</marker> to do it without him.</example>
                <example correction="will be back">I <marker>will back</marker> in town tomorrow.</example>
                <example>Normally it will cool to 71 or so in the front and 65 in the rear.</example>
                <example>Are you sure that it will work if a desired browser tab is not frontmost?</example>
                <example>Let me know what else you need related to this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>cool</token>
                    <token skip="2">to</token>
                    <token postag="CD" />
                </antipattern>
                <pattern>
                    <token regexp="yes">it|we|they|you|he|she|I</token>
                    <marker>
                        <token postag="MD" />
                        <token>n't</token>
                        <token regexp="yes">nicer?|good|great|cool(er)?|eligible|familiar|handy|(im)?possible|sweet|safer?|better|ok(ay)?|related|interesting|(in)?appropriate|important|glad|happy|horrible|terrible|sorry|worth|responsible|(in)?compatible</token>
                    </marker>
                    <token regexp="yes">to|about|for|if|when|as|because|at|that|with(in|out)?|\.|\,|\!|\?|…</token>
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\2\3 <match no="4" regexp_match="^(.+)$" regexp_replace="be $1" case_conversion="startlower" /></suggestion>?</message>
                <example correction="wouldn't be cool">It <marker>wouldn't cool</marker> if you could do that.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="2" postag="MD">
                        <exception scope="next">to</exception>
                    </token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="PRP_O.*" postag_regexp="yes" />
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="MD" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">if|wish|no|nah|yes|ye?ah</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="MD" />
                </antipattern>
                <pattern>
                    <or>
                        <token postag="NNP|PRP" postag_regexp="yes">
                            <exception>nor</exception>
                        </token>
                        <token regexp="yes">t?here|this|th[oe]se|that</token>
                    </or>
                    <token min="0" spacebefore="no" regexp="yes">&apostrophe;</token>
                    <marker>
                        <token postag="MD">
                            <exception postag="VB.*|NNP" postag_regexp="yes" />
                        </token>
                        <token min="0">n't</token>
                        <token postag="JJS?" postag_regexp="yes">
                            <exception regexp="yes">burry|thru|un.*|.*-.*|\d+.*</exception>
                            <exception postag="VB.*|NN.*|RB|IN|CC|DT" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception><!-- capitalized words -->
                        </token>
                    </marker>
                </pattern>
                <message>A verb or adverb may be misspelled or missing.</message>
                <suggestion>\3\4 be \5</suggestion>
                <suggestion>\3\4 have \5</suggestion>
                <example correction="would be helpful|would have helpful">I <marker>would helpful</marker>.</example>
                <example correction="wouldn't be helpful|wouldn't have helpful">I <marker>wouldn't helpful</marker>.</example>
                <example correction="'ll be happy|'ll have happy">We<marker>’ll happy</marker>.</example>
                <example correction="will be happy|will have happy">We <marker>will happy</marker> if you can increase the 1k limitation?</example>
                <example correction="can be helpful|can have helpful">Hope I <marker>can helpful</marker> in the time being though.</example>
                <example correction="could be good|could have good">You <marker>could good</marker> old fashioned calorie counting.</example>
                <example correction="will be significant|will have significant">I think we <marker>will significant</marker> synergy benefits immediately.</example>
                <example correction="can be custom|can have custom">This means we can’t instrument for you, but you <marker>can custom</marker> instrumentation yourself.</example>
                <example correction="should be specific|should have specific">In arguing for a standard model, the PJM system could be the core of a proposal but we <marker>should specific</marker> modifications to address our concerns.</example>
                <example correction="may be financial|may have financial">Rod believes there <marker>may financial</marker> and/or process advantages to this approach, and will attempt to classify and quantify same.</example>
                <example correction="will be important|will have important">Going forward, it <marker>will important</marker> to emphasize that in collecting documents for possible production, EES personnel should not download from these sources.</example>
                <example correction="would be happy|would have happy">Also, if there is anything we could help you with on this issue we <marker>would happy</marker> to do so.</example>
                <example correction="'ll be afraid|'ll have afraid">I<marker>'ll afraid</marker> this kind of meeting isn't getting us anywhere.</example>
                <example correction="may be different|may have different">It <marker>may different</marker> now that Chevron is involved, but I doubt it.</example>
                <example correction="may be best|may have best">It <marker>may best</marker> to add this as a Feature Idea here on the Hub</example>
                <example>Why would I need one?</example>
                <example>The only difference is that should chocolate milk be made with soya ...</example>
                <example>I recommend going to Tom should unfortunate things happen.</example>
                <example>May 16th, 2017</example>
                <example>Yes Thursday may 18th.</example>
                <example>I can though.</example>
                <example>I don’t know how to send bulletin otherwise I would sorry.</example>
                <example>You could through WebCore.</example>
                <example>What would private plans cover?</example>
                <example>Should ye wish for some revenge.</example>
                <example>Maybe you will one day!</example>
                <example>Would soft wire work better?</example>
                <example>Perhaps @bryan could open-source his LDAP implementation so other podmins could install it, and other developers could contribute to it.</example>
                <example>But you wouldn’t need nearly as many of the solar water heating panels as you would solar PV.</example>
                <example>I think I'll rent Hidden Figures.</example>
                <example>You will dead end into our fence.</example><!-- should be "dead-end" (needs different rule) -->
                <example>I still haven’t opened mine and won’t unless I am absolutely sure.</example>
                <example>It will take longer to get physical contracts in place in Canada than it will financial.</example>
                <example>Also if you could private message me a code snippet of how this transaction is instrumented this might help shed some light on what may be happening.</example>
                <example>Once such provisions are written into law, the regulators will have no ability to review and amend them should subsequent market developments warrant change or should other problems arise" Sachs said.</example>
                <example>Should Memorial Hermann accept this offer, it would staff these beds with its own physicians and nurses, while Texas Children's would provide complete support services.</example>
                <example>But we wanted developers to know that they can get the request header names now, as they might in other frameworks.</example>
                <example>You may want to learn about the integration and check if you could custom tailor the template to your needs.</example>
                <example>I’m not saying all air travel must cease, nor must all shipping and trucking and driving.</example>
                <example>A strategy of building a party through local elections would seem appropriate, should enough people care to do it.</example>
                <example>A strategy of building a party through local elections would seem appropriate should enough smart people care to do it.</example>
                <example>Seems appropriate should enough smart people care.</example>
                <example>I also really recommend taking what courses you can online, it keeps my stress and anxiety really low, but can get a little lonely.</example>
                <example>This means the board will not be obligated to approve or deny the application as a whole and could cherry pick what components get approved.</example>
                <example>Should extra ports be required, all the person will need to do is dial the appropriate number listed above.</example>
                <example>Do we need plasma screens or would regular monitors be just as good at a fraction of the cost.</example>
                <example>No longer would individual servers need uptime tracked, or separate URLs.</example>
                <example>Try to eliminate as much stuff as you can as potential causes.</example>
                <example>What moral decisions should driverless cars make?</example>
                <example>I realize how crazy this must all sound but it’s true.</example>
                <example>He is winning should enough participants give up.</example>
                <example>I don’t believe I could unless we could have a less public conversation, even though it’s a given that you have already access to my data in your database.</example>
                <example>Vlakyrie could fill that role purely via her Necromancy trait (as could other troops with that trait), giving a 1.5x return instead.</example>
                <example>An important property in this context is forward secrecy, which ensures that encrypted communications recorded in the past cannot be retrieved and decrypted should long-term secret keys or passwords be compromised in the future.</example>
                <example>But the two states belong to regional transmission grids with little interconnection, a situation that provides safeguards should huge power failures occur but limits how much one region can help another.</example>
                <example>Nor should important matters depend on leftovers, which are never there.</example>
                <example>You can custom order many items.</example>
                <example>I wish I could burry my head in the sand.</example>
                <example>I told him he could last time.</example>
                <example>No we won't young man.</example>
                <example>If we could unbold some text, that would be great.</example>
                <example>Wish I could private comments, it would be helpful.</example>
                <example>For our transport calls, we could cold transfer these.</example>
                <example>You could go-to therapy.</example>
                <example>I can't thru Telegram.</example>
                <example>...to which Satan might else have sought to aid him.</example>
                <example>You cannot unread the messages.</example>
            </rule>
            <rule>
                <antipattern><!-- I'll forward additional information -->
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="MD"/>
                    <token postag_regexp="yes" postag="VBP?"/>
                    <token chunk="B-NP-singular" postag="JJS?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token skip="1" postag="RB" />
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <or>
                        <token postag="NNP|PRP" postag_regexp="yes" />
                        <token regexp="yes">t?here|this|th[oe]se|that</token>
                    </or>
                    <token min="0" spacebefore="no" regexp="yes">&apostrophe;</token>
                    <marker>
                        <token postag="MD">
                            <exception postag="VB.*|NNP" postag_regexp="yes" />
                        </token>
                        <token postag="RB">
                            <exception postag="VB" />
                            <exception regexp="yes">about|anywhere</exception>
                        </token>
                        <token postag="JJS?" postag_regexp="yes">
                            <exception regexp="yes">burry|un.*|.*-.*|\d+.*</exception>
                            <exception postag="VB.*|NN.*|RB|IN|CC|DT" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception><!-- capitalized words -->
                        </token>
                    </marker>
                </pattern>
                <message>A verb or adverb may be misspelled or missing.</message>
                <suggestion>\3 be \4 \5</suggestion>
                <suggestion>\3 have \4 \5</suggestion>
                <example correction="would be forever indebted|would have forever indebted">I <marker>would forever indebted</marker> (but hopefully richer as well).</example>
                <example correction="would be very helpful|would have very helpful">It <marker>would very helpful</marker> to know how State and Atomic State are implemented.</example>
                <example correction="will be too difficult|will have too difficult">It <marker>will too difficult</marker> to navigate.</example>
                <example>Why would I need one?</example>
                <example>I recommend going to Tom should unfortunate things happen.</example>
                <example>May 16th, 2017</example>
                <example>Yes Thursday may 18th.</example>
                <example>I can though.</example>
                <example>You could through WebCore.</example>
                <example>What would private plans cover?</example>
                <example>This can last several weeks.</example>
                <example>Should ye wish for some revenge.</example>
                <example>Maybe you will one day!</example>
                <example>Would soft wire work better?</example>
                <example>Perhaps @bryan could open-source his LDAP implementation so other podmins could install it, and other developers could contribute to it.</example>
                <example>But you wouldn’t need nearly as many of the solar water heating panels as you would solar PV.</example>
                <example>I think I'll rent Hidden Figures.</example>
                <example>You will dead end into our fence.</example><!-- should be "dead-end" (needs different rule) -->
                <example>I still haven’t opened mine and won’t unless I am absolutely sure.</example>
                <example>It will take longer to get physical contracts in place in Canada than it will financial.</example>
                <example>Also if you could private message me a code snippet of how this transaction is instrumented this might help shed some light on what may be happening.</example>
                <example>Once such provisions are written into law, the regulators will have no ability to review and amend them should subsequent market developments warrant change or should other problems arise" Sachs said.</example>
                <example>Should Memorial Hermann accept this offer, it would staff these beds with its own physicians and nurses, while Texas Children's would provide complete support services.</example>
                <example>But we wanted developers to know that they can get the request header names now, as they might in other frameworks.</example>
                <example>You may want to learn about the integration and check if you could custom tailor the template to your needs.</example>
                <example>I’m not saying all air travel must cease, nor must all shipping and trucking and driving.</example>
                <example>A strategy of building a party through local elections would seem appropriate, should enough people care to do it.</example>
                <example>A strategy of building a party through local elections would seem appropriate should enough smart people care to do it.</example>
                <example>Seems appropriate should enough smart people care.</example>
                <example>I also really recommend taking what courses you can online, it keeps my stress and anxiety really low, but can get a little lonely.</example>
                <example>This means the board will not be obligated to approve or deny the application as a whole and could cherry pick what components get approved.</example>
                <example>Should extra ports be required, all the person will need to do is dial the appropriate number listed above.</example>
                <example>Do we need plasma screens or would regular monitors be just as good at a fraction of the cost.</example>
                <example>No longer would individual servers need uptime tracked, or separate URLs.</example>
                <example>Try to eliminate as much stuff as you can as potential causes.</example>
                <example>What moral decisions should driverless cars make?</example>
                <example>I realize how crazy this must all sound but it’s true.</example>
                <example>He is winning should enough participants give up.</example>
                <example>I don’t believe I could unless we could have a less public conversation, even though it’s a given that you have already access to my data in your database.</example>
                <example>Vlakyrie could fill that role purely via her Necromancy trait (as could other troops with that trait), giving a 1.5x return instead.</example>
                <example>An important property in this context is forward secrecy, which ensures that encrypted communications recorded in the past cannot be retrieved and decrypted should long-term secret keys or passwords be compromised in the future.</example>
                <example>But the two states belong to regional transmission grids with little interconnection, a situation that provides safeguards should huge power failures occur but limits how much one region can help another.</example>
                <example>I'll forward additional information as I receive it.</example>
                <example>I'll forward additional contact information for out there once I am settled.</example>
                <example>If he pursues the case, he would likely immediate reinstate our positions during the investigation so as not to cause further harm, plus he could require TVA to pay damages if he successfully proves his case.</example>
                <example>You could also cold ship your Delta paperwork.</example>
                <example>This means you can now unread messages.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="1" postag="MD" />
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|we|they|s?he|it|(any|some)(body|one)</token>
                    <token postag="RB" min="0" />
                    <token postag="MD">
                        <exception case_sensitive="yes">Will</exception><!-- name -->
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="NNS?|NN:UN?" postag_regexp="yes">
                            <exception postag="RB.*|VB.*|MD|IN|CC|DT|JJR" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception><!-- capitalized words -->
                        </token>
                    </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FindSuggestionsFilter" args="wordFrom:marker desiredPostag:VB removeSuggestionsRegexp:[A-Z].*"/>
                <message>The word '\4' is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.</message>
                <!-- other suggestions: missing "be" or "do" -->
                <example correction="">I can <marker>cheeseburger</marker>.</example>
                <example correction="">I usually would <marker>cheeseburger</marker>.</example>
                <example correction="trail|train">This means I can <marker>trait</marker> Psion &amp; Venoxia.</example>
                <example correction="think|tick|trick">So only two possibilities I can <marker>thick</marker> of can the first procssing.</example>
                <example correction="">I would <marker>opportunity</marker> for me.</example>
                <example correction="">You may have heard that Mark Frank has moved to EES, where he will <marker>controller</marker> for EnronDirect.</example>
                <example correction="greet|treat">As you may remember, I am very interested in the Corporate Developmet Group and it would <marker>great</marker> if we could meet tomorrow</example>
                <!-- TODO: better suggestion: do -->
                <example correction="cue|die|dub|dude|duel|duet|dun|dupe|dye|hue">I may <marker>due</marker> that.</example>
                <example correction="cue|die|dub|dude|duel|duet|dun|dupe|dye|hue">I will <marker>due</marker> my best.</example>
                <example correction="">If only you could <marker>internet</marker> as well as me.</example>
                <example correction="">In the future, I’ll add support for Provisioning so it will <marker>possible</marker> to install plugins and apps from third-party Update sites like in your Eclipse IDE.</example>
                <example>Mentally, I feel really good - I’m going to damn well will this leg back to baseline and now I feel extremely motivated to push it as far as I can beyond that.</example>
                <example>You can diff these documents.</example>
                <example>You should DM me.</example>
                <example>Of course you can mom.</example>
                <example>I will protect you should anything happen.</example>
                <example>Is Will good enough?</example>
                <example>You can then access the Dictionary Keys as easy as you can KM Variables.</example>
                <example>I can tough it out.</example>
                <example>I will Federal Express (for Saturday delivery) these.</example>
                <example>As far as I know it cannot due to the Almond not supporting it being a secondary controller.</example>
                <example>I’m new to the platform so it takes me longer than it would someone more experienced.</example>
                <example>At the least you can cheap out on the gel.</example>
                <example>Who could not imitate him as easily as they could other commercially successful artists.</example>
                <example>What are the Trigger I should use and Action I should choose to automatically click.</example>
                <example>This is making it difficult to do automation as I can’t update these conditions the way I would others.</example>
                <example>You should shut off the main breaker to help avoid any shocks from the individual circuits, but you usually cannot shut-off the main input.</example>
                <example>I would if I could choose which one.</example>
                <example>My issue was the gaps in the path name, I wish we could select them from the action like you can menu items but you have to leave something for an update.</example>
                <example>I will most likely.</example>
                <example>I would thou couldst.</example>
                <example>We will video your final speech.</example>
                <example>Handle your printed tickets as you would valuables or cash.</example>
                <example>Mary seldom sings, but I think she will tonight.</example>
                <example>If you can GREAT!</example>
                <example>If it must needs be so, do what you will.</example>
                <example>But since that is messed up you might figure a way to turn it to depress pin.</example>
                <example>It goes without saying that we must all observe traffic signals.</example>
                <example>I love cars like I would animals.</example>
                <example>It would be nice if I could figure a way.</example>
                <example>Try to do it like you would disk brakes.</example>
                <example>A meeting is scheduled for August 21st at 10am in Cincinnati, at which time the Alliance will present its interim independent board proposal incorporating to the extent it can stakeholders' concerns.</example>
                <example>I will Sarah.</example><!-- missing comma, TODO: create rule MD + NNP + SENT_END -->
                <example>You can PM my colleague.</example>
                <example>I shall fwd it to them.</example>
                <example>I will Fed EX overnight.</example>
                <example>I should huh?</example>
                <example>I would sooner die than give up.</example>
                <example>I can verify the selection of the default value but I cannot verify the instantiation in the code (I can tonight, if I have time).</example>
                <example>Well I'm not giving a talk on Expect, though I could if people I would think it would be worthwhile to meet at produce row and then move, btw.</example>
                <example>Far more than I can by disenchanting.</example>
                <example>But we must all understand they are a fledgling business which is probably underfunded by Samsung, and must move along with a limited staff.</example>
                <example>It will inside a double quoted string.</example>
                <example>It might kind of work.</example>
                <example>I would like to be able to change the order I have the teams listed, just like you can actual troop members inside a team.</example>
                <example>If I knew I would one day catch up that would be fine, but currently I can’t.</example>
                <example>Thanks for your input and I will def send a ticket.</example>
                <example>I can't listen to you should anything come up.</example>
                <example>But, however and whenever we part from one another, I am sure we shall none of us forget poor Tiny Tim.</example>
                <example>Why would I need one?</example>
                <example>You can imbalance trade 100% of it.</example>
            </rule>
            <rule>
                <antipattern><!-- missing apostrophe (different error) -->
                    <token postag="MD" />
                    <token>t</token>
                </antipattern>
                <antipattern>
                    <token>will</token>
                    <token>next</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|we|they|s?he|it|(any|some)(body|one)</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="MD">
                            <exception postag="VB.*" postag_regexp="yes" />
                        </token>
                        <token regexp="yes" min="0" spacebefore="no">&apostrophe;</token>
                        <token postag="RB">
                            <exception postag="IN|VBP?" postag_regexp="yes" />
                            <exception>why</exception>
                        </token>
                        <token postag="NNS?|NN:UN?" postag_regexp="yes">
                            <exception postag="RB.*|VB.*|MD|IN|CC|DT|JJR" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception><!-- capitalized words -->
                        </token>
                    </marker>
                </pattern>
                <message>The word '\6' is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.</message>
                <example correction="">I <marker>can't cheeseburger</marker>.</example>
                <!-- <example correction="">I <marker>can’t enough</marker> how I appreciate almost anything Hedges writes.</example> -->
                <example correction="">Maybe this is documented somewhere but I <marker>couldn’t anything</marker>.</example>
                <example correction="">Basically, it <marker>should very simple</marker>.</example>
                <example correction="">Maybe this is documented somewhere but I <marker>couldn’t anything</marker>.</example>
                <example correction="">We <marker>would rather advice</marker> you not to display those issues at all.</example>
                <example correction="">I <marker>must here something</marker> by 3 PM Houston time today.</example>
                <example correction="">Tom told us that it <marker>wouldn't necessary</marker> to do that.</example>
                <example>It won’t matter and Biden will still be President next November.</example>
                <example>It's a pity when you haven't anything but a pittance.</example>
                <example>If I cannot then someone else will.</example>
                <example>Note that enabling redirects means that we will NOT search for any substring you’ve specified.</example><!-- "search" wrongly tagged as NN:UN -->
                <example>Also, all smart switches use the same connection method and I would NOT call them push lock!</example><!-- "call" wrongly tagged as NN:UN -->
                <example>Keep those where you can find them easily (having to hunt for them is additional stress you WON'T need at that point!).</example>
                <example>I couldn't vote because nothing applied to me.</example>
                <example>In this week's episode, we dig into how Google could boost sales with improved targeting on their pricing page - and also why they shouldn't right now.</example>
                <example>I have a mandolin lesson at 11am on Saturday, which I can't miss because Tom is teaching me less these days.</example>
                <example>When we reduced staff the first week of December, one of the assumptions we made was that we would not longer provide 24 hour support.</example>
                <example>We will not know whether individuals have state filing obligations without seeing their detailed tax information.</example><!-- "know" wrongly tagged as NN:UN -->
                <example>We can either order in or I would love to cook anything you would like.</example>
                <example>So I will either catch you from my car tomorrow morning, or we can talk on Monday.</example>
                <example>You can either set a global variable or the user can set their own.</example>
                <example>Do you think it will last long?</example>
                <example>Sorry I just can’t post so many things in as a new user, I will next time.</example>
                <example>I can live view through the smartcam app.</example>
                <example>Mary decided to learn all she could about computers.</example>
                <example>That said, I would gladly revolt against corporate control.</example>
                <example>I will next week, and a couple other girls from risk are going too.</example>
                <example>A strategy of building local elections would seem appropriate, should Tom care to do it.</example>
                <example>I recommend speaking to Tom should people complain about the new feature.</example>
                <example>He will next star in the drama Peace Like a River.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">.+</token>
                    <token spacebefore="no">.</token>
                </antipattern>
                <antipattern><!-- #3366 is must necessary...? -->
                    <token postag_regexp="yes" postag="SENT_START|PCT"/>
                    <token regexp="yes">is|was</token>
                    <token chunk="B-NP-singular">must</token>
                    <token skip="-1" chunk="E-NP-singular" postag="JJ"/>
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="W.*|UH|CC|RB" postag_regexp="yes" />
                        <exception regexp="yes">hi|heya?|h[ae]llo|yo|nor?</exception>
                    </token>
                    <marker>
                        <token postag="MD">
                            <exception postag="VB.*|NNP|CC" postag_regexp="yes" />
                        </token>
                        <token postag="NNS?|NN:UN?|JJS?" postag_regexp="yes">
                            <exception regexp="yes">\d+.*</exception>
                            <exception postag="RB.*|VB.*|MD|IN|CC|DT|JJR" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception><!-- capitalized words -->
                        </token>
                    </marker>
                </pattern>
                <message>The word '\4' is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.</message>
                <example correction="">Capabilities <marker>should granular</marker> and discrete.</example>
                <example correction="">Currently, data <marker>should available</marker> in bulk.</example>
                <example>Why would anybody want this?</example>
                <example>Hi could anyone please help?</example>
                <example>No can anybody else check it?</example>
                <example>Ms. Tanaka can type, can't she?</example>
                <example>I don’t understand why, so could someone explain it to me?</example>
                <example>So may drivers at unlit traffic crossings.</example>
                <example>Nor would others I speak to.</example>
                <example>Or might something else be wrong?</example>
                <example>Or should cables be replaced yearly?</example>
                <example>Thanks may god bless you.</example>
                <example>Is must necessary for this recipe, or can I use grape juice?</example><!-- #3366 -->
            </rule>
        </rulegroup>
        <rulegroup id="THAT_S_YOU_RE" name="that's you're (that you're)">
            <rule><!-- they, we -->
                <pattern>
                    <marker>
                        <token regexp="yes">[wt]hat|who</token>
                        <token regexp="yes">is|'s</token>
                    </marker>
                    <token regexp="yes">they|we</token>
                    <token regexp="yes">are|'r</token>
                </pattern>
                <message>Did you mean <suggestion>\1</suggestion>?</message>
                <example correction="that">It's WordPress <marker>that's</marker> we are having problems with.</example>
            </rule>
            <rule><!-- you -->
                <pattern>
                    <token regexp="yes">[wt]hat|who</token>
                    <token regexp="yes">is|'s</token>
                    <token>you</token>
                    <token regexp="yes">are|'re</token>
                </pattern>
                <message>Did you mean <suggestion>\1 \3 are</suggestion> or <suggestion>\1 is your</suggestion>?</message>
                <example correction="that you are|that is your">It's WordPress <marker>that's you are</marker> having problems with.</example>
                <example correction="that you are|that is your">Good <marker>that’s you are</marker> well.</example>
                <example correction="What you are|What is your"><marker>What's you're</marker> biggest regret?</example>
                <example correction="what you are|what is your">I think this post can improve if you add a screenshot to the dashboard, otherwise non-support people like myself can’t see <marker>what’s you’re</marker> experiencing.</example>
            </rule>
            <rule><!-- it -->
                <pattern>
                    <token regexp="yes">[wt]hat|who</token>
                    <token regexp="yes">is|'s</token>
                    <token case_sensitive="yes" regexp="yes">[Ii]t</token>
                    <token regexp="yes">is|'s</token>
                </pattern>
                <message>Did you mean <suggestion>\1 \3 is</suggestion> or <suggestion>\1 is its</suggestion>?</message>
                <example correction="that it is|that is its">It's WordPress <marker>that's it is</marker> having problems with.</example>
                <example correction="what it is|what is its">If I am making a child device, <marker>what is it's</marker> parent?</example>
                <example>That's IT she's referring to (IT = Information Technology).</example>
            </rule>
            <rule><!-- she, he -->
                <pattern>
                    <marker>
                        <token regexp="yes">[wt]hat|who</token>
                        <token regexp="yes">is|'s</token>
                    </marker>
                    <token regexp="yes">s?he</token>
                    <token regexp="yes">is|'s</token>
                </pattern>
                <message>Did you mean <suggestion>\1</suggestion>?</message>
                <example correction="that">It's WordPress <marker>that's</marker> she is having problems with.</example>
                <example correction="that">It just astounds me <marker>that’s</marker> she’s paranoid but still thinks she cam get away with doing.</example>
            </rule>
            <rule><!-- I -->
                <pattern>
                    <marker>
                        <token regexp="yes">[wt]hat|who</token>
                        
                        <token regexp="yes">is|'s</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">I</token>
                    <token regexp="yes">am|'m</token>
                </pattern>
                <message>Did you mean <suggestion>\1</suggestion>?</message>
                <example correction="that">It's WordPress <marker>that's</marker> I am having problems with.</example>
                <example correction="what">Lastly, <marker>what's</marker> I'm playing with here is to get the palette color to match the Mojave dark mode Finder window frames to see it that works.</example>
            </rule>
        </rulegroup>
        <rule id="BE_TO_VBG" name="He is to making (is making)">
            <antipattern>
                <token>here</token>
                <token regexp="yes">is|'s</token>
            </antipattern>
            <antipattern>
                <token>heres</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Youth sees too far to see how near it is to seeing farther. -->
                <token regexp="yes" skip="9">what(ever)?|which|how</token>
                <token inflected="yes">be</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Youth sees too far to see how near it is to seeing farther. -->
                <token regexp="yes" skip="9">what(ever)?|which|how</token>
                <token>'s</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Youth sees too far to see how near it is to seeing farther. -->
                <token regexp="yes" skip="9">what(ever)?|which|how</token>
                <token>'s</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- she went from straight A's to skipping school. -->
                <token skip="6">from</token>
                <token>to</token>
                <token postag="VBG" />
            </antipattern>
            <pattern>
                <token regexp="yes">was|is|'s|am|'m|are|'re|were|been</token>
                <marker>
                    <token>to</token>
                    <token postag="VBG">
                        <exception regexp="yes">trying|being|taxing|amazing</exception><!-- "ing"-adjectives, "too amazing" (different error found by TO_TOO) -->
                    </token>
                </marker>
            </pattern>
            <message>The word 'to' seems to be wrong here. "\3" is a present participle verb.</message>
            <suggestion>\3</suggestion>
            <example correction="making">He was <marker>to making</marker> America great again.</example>
            <example correction="melting">This material is <marker>to melting</marker>.</example>
            <example>Here's to hoping …</example>
            <example>Youth sees too far to see how near it is to seeing farther.</example>
            <example>I realized I was to trying to live someone else's understanding.</example>
            <example>There’s no way to tell how close a clicking CV joint is to failing without removing it from the car and examining on the bench.</example>
            <example>We need to know what the resolution plan is to getting Aquilia straight for trading Physical and Financial products.</example>
            <example>This invitation is to being extended to Energy Service Provider and Contracted Marketers in SoCalGas' programs.</example>
            <example>It doesn’t matter how close it is to being expired or not.</example>
            <example>Closest I’ve ever been to being a moderator though.</example>
            <example>The kernel and image of a homomorphism can be interpreted as measuring how close it is to being an isomorphism.</example>
            <example>Mark, I was wondering how close you and your group are to making a decision on the Paralegal position.</example>
            <example>If it is to taxing on the servers to claim guild seals per battle why not automatically claim them at the first daily login?</example>
            <example>If you decide that Australia is to amazing to leave, I will completely understand and we can reschedule.</example>
            <example>In less than a year, she went from straight A's to skipping school.</example>
            <example>The Laguna's now have an understanding of the environmental activities at the site and what Transwestern's approach is to removing the contaminants.</example>
        </rule>
        <rulegroup id="TO_JJR_THAN" name="'is too high than' vs. 'is higher than'">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">too?</token>
                        <token postag="JJR">
                            <exception regexp="yes">more|less</exception>
                        </token>
                    </marker>
                    <token regexp="yes">than|compared</token>
                </pattern>
                <message>The word '\3' may be wrong here.</message>
                <suggestion>\4</suggestion>
                <example correction="higher">From 70,000 to 12,000 years ago, the lake's level was <marker>to higher</marker> than its current level.</example>
                <example>I've been to more than ten foreign countries so far.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">too?</token>
                        <token postag="JJR">
                            <exception regexp="yes">more|less</exception>
                        </token>
                    </marker>
                    <token regexp="yes">than|compared</token>
                </pattern>
                <message>The word '\3' may be wrong here.</message>
                <suggestion>\4</suggestion>
                <example correction="higher">From 70,000 to 12,000 years ago, the lake's level wasn't <marker>to higher</marker> than its current level.</example>
                <example>I've been to more than ten foreign countries so far.</example>
            </rule>
        </rulegroup>
        <rule id="MANY_TIME" name="many time (times)">
            <antipattern>
                <token>many</token>
                <token>time</token>
                <token postag="NNP|NN|UNKNOWN|NN:.*" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>many</token>
                <token>time</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token>many</token>
                <token>time</token>
            </pattern>
            <message>Did you mean <suggestion>\1 times</suggestion> or <suggestion>much time</suggestion>?</message>
            <url>https://www.gymglish.com/en/gymglish/english-grammar/much-vs-many</url>
            <example correction="many times|much time">I have been there <marker>many time</marker>.</example>
            <example>I guess many time tracking apps would benefit from that too, and some service desk/agent tools as well.</example>
            <example>In some cases, we are many time zones apart.</example>
        </rule>
        <rulegroup id="COPY_PASTE" name="Copy (and) paste">
            <url>https://www.merriam-webster.com/dictionary/copy%20paste</url>
            <!-- https://ell.stackexchange.com/questions/3748/can-i-say-copied-and-pasted/3777#3777 -->
            <rule>
                <pattern>
                    <token>copy</token>
                    <token>pasted</token>
                </pattern>
                <message>Did you mean <suggestion>copied and pasted</suggestion>?</message>
                <example correction="copied and pasted">He <marker>copy  pasted</marker> the file there.</example>
            </rule>
            <rule>
                <pattern>
                    <token>copy</token>
                    <token>pasting</token>
                </pattern>
                <message>Did you mean <suggestion>copying and pasting</suggestion>?</message>
                <example correction="copying and pasting">I'm <marker>copy pasting</marker> the file there.</example>
            </rule>
            <rule>
                <pattern>
                    <token>copy</token>
                    <token>pastes</token>
                </pattern>
                <message>Did you mean <suggestion>copies and pastes</suggestion>?</message>
                <example correction="copies and pastes">He <marker>copy pastes</marker> the file there.</example>
            </rule>
            <rule>
                <pattern>
                    <token>copy</token>
                    <token>paste</token>
                </pattern>
                <message>Did you mean <suggestion>\1 and \2</suggestion>?</message>
                <example correction="copy and paste">Please <marker>copy paste</marker> the file there.</example>
            </rule>
        </rulegroup>
        <rule id="STATE_OF_THE_UNION" name="proper capitalization of 'State of the Union'">
            <antipattern case_sensitive="yes">
                <token>State</token>
                <token regexp="yes">[Oo]f</token>
                <token regexp="yes">[Tt]he</token>
                <token>Union</token>
            </antipattern>
            <pattern>
                <token>state</token>
                <token>of</token>
                <token>the</token>
                <token>union</token>
            </pattern>
            <message>Consider using the proper capitalization if you mean the president's annual speech.</message>
            <suggestion>State of the Union</suggestion>
            <url>https://en.wikipedia.org/wiki/State_of_the_Union</url>
            <example correction="State of the Union">Since Franklin Roosevelt, the <marker>State of the union</marker> is given typically each January before a joint session of the United States Congress </example>
            <example>State of the Union</example>
        </rule>

        <rulegroup id="A_BIT" name="(a) bit">
           <antipattern>
                <token skip="2">bit</token>
                <token regexp="yes">serial|parallel|arch(itecture)?|computer|patterned|code|error|signaling|string|shift(ing)?|rate|compression|manipulation|plant|set|sequence|measurement|recording|density|chip(set)?</token>
            </antipattern>
            <antipattern>
                <token postag="DT"/>
                <token>bit</token>
            </antipattern>
            <antipattern>
                <token postag="DT" skip="1"/>
                <token postag="RB"/>
                <token postag="VBN" min="0"/>
                <token>bit</token>
            </antipattern>
            <antipattern>
                <token skip="-1">bit</token>
                <token regexp="yes" inflected="yes">shark|mosquito|dog|cat|monkey|ape|tick|spider|mouse</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="6" inflected="yes">shark|mosquito|dog|cat|monkey|ape|tick|spider|mouse</token>
                <token>bit</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*|MD" postag_regexp="yes" skip="1" />
                <token skip="1">bit</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token>bit</token>
                <token skip="1">by</token>
                <token>bit</token>
            </antipattern>
            <antipattern>
                <token>bit</token>
                <token>budget</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">"|”|’|“|»</token>
                <token spacebefore="yes">bit</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="VB.*|SENT_START|PCT|CC|RB|UH" postag_regexp="yes">
                        <exception postag="CD|DT|PRP.*|JJ.*" postag_regexp="yes" />
                        <exception regexp="yes">an?|first|little</exception>
                    </token>
                    <marker>
                        <token min="0">little</token>
                        <token case_sensitive="yes" regexp="yes">
                            [Bb]it
                        </token>
                    </marker>
                    <token postag="JJ.*|NN:U.*|RB" postag_regexp="yes">
                        <exception regexp="yes">not|then|off|through|by</exception><!-- confusion of 'bit' and 'but' -->
                    </token>
                </pattern>
                <message>It seems that an article is missing.</message>
                <suggestion>a <match no="2" case_conversion="alllower" /> <match no="3" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/definition/a_bit</url>
                <example correction="a bit">I'm <marker>bit</marker> weak today.</example>
                <example correction="A bit"><marker>Bit</marker> odd that you say that I have made up the html.</example>
                <example correction="A little bit"><marker>Little bit</marker> stupid actually.</example>
                <example correction="a bit">Interesting approach, <marker>bit</marker> too much for me to look at personally.</example>
                <example correction="a little bit">Your comment led me to think <marker>little bit</marker> different about implementation.</example>
                <example correction="a bit">I was <marker>bit</marker> confused.</example>
                <example>Just a bit expensive.</example>
                <example>One more bit of info.</example>
                <example>Tom bit into the apple.</example>
                <example>He bit into the apple.</example>
                <example correction="a bit">I know that I'm <marker>bit</marker> lazy.</example>
                <example>The dog bit off his genitals.</example>
                <example>My friend bit into the apple.</example>
                <example correction="a bit">I got <marker>bit</marker> money</example>
                <example>I was bit by a mosquito.</example>
                <example>I wondered that if we got bit after we knew there was a shark in the water, if other would think we were beyond dumb.</example>
                <example>That was a nicely done bit of poetry, Sirrian.</example>
                <example>Bit serial logic designs are more common in calculators whereas bit parallel designs dominate general-purpose computers.</example>
                <example>Hi, so I’ve bought a ST hub, and got my first bit of home automation working - a switch and some lights</example>
                <example>The ".xxx" bit in dynamic IP addresses is commendable.</example>
                <example>Bit rate is an important property when transmitting video.</example>
                <example>an early implementation of zone bit recording.</example>
                <example>Searing pain bit through skin and muscle.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*|SENT_START|PCT|CC|RB|UH" postag_regexp="yes">
                        <exception postag="CD|DT|PRP.*|JJ.*" postag_regexp="yes" />
                        <exception regexp="yes">an?|first|little</exception>
                        <exception inflected="yes">get</exception>
                    </token>
                    <marker>
                        <token min="0">little</token>
                        <token case_sensitive="yes" regexp="yes">
                            [Bb]it
                        </token>
                    </marker>
                    <token postag="IN">
                        <exception regexp="yes">to|through|off</exception>
                    </token>
                </pattern>
                <message>It seems that an article is missing.</message>
                <suggestion>a <match no="2" case_conversion="alllower" /> <match no="3" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/definition/a_bit</url>
                <example correction="a bit">I am having <marker>bit</marker> of a problem here. </example>
                <example correction="A little bit"><marker>Little bit</marker> of right shoulder soreness that resided shortlly after the workout ended.</example>
                <example correction="a bit">Thanks for your reply and <marker>bit</marker> of an explanation.</example>
                <example correction="a bit">Maybe I am <marker>bit</marker> behind the moon, but I don't see any dirty dealing like that happening.</example>
                <example>Just a bit expensive.</example>
                <example>One more bit of info.</example>
                <example>Tom bit into the apple.</example>
                <example>He bit into the apple.</example>
                <example>My friend bit into the apple.</example>
                <example>I was bit by a mosquito.</example>
                <example>The shark bit off my arm.</example>
                <example>That was a nicely done bit of poetry, Sirrian.</example>
                <example>Bit serial logic designs are more common in calculators whereas bit parallel designs dominate general-purpose computers.</example>
                <example>Hi, so I’ve bought a ST hub, and got my first bit of home automation working - a switch and some lights</example>
                <example>The ".xxx" bit in dynamic IP addresses is commendable.</example>
                <example>Bit rate is an important property when transmitting video.</example>
                <example>I hope you haven't lost any data, but most people get bit at least once before they really take backups seriously.</example>
                <example>Searing pain bit through skin and muscle.</example>
            </rule>
        </rulegroup>

        <rule id="A_BIT_OF" name="a bit (of)">
            <antipattern>
                <token regexp="yes">thanks|thx</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token skip="2">bit</token>
                <token regexp="yes">serial|parallel|arch(itecture)?|computer|patterned|code|error|signaling|string|shift(ing)?|rate|compression|manipulation|plant|set|sequence|measurement|recording|density|chip(set)?</token>
            </antipattern>
            <antipattern>
                <token>pair</token>
                <token>example</token>
            </antipattern>
            <antipattern>
                <token skip="1">majority</token>
                <token regexp="yes">opinions?|decisions?|party|parties|rules|tilts|moves|base|basis|governments?|elections?|views?|political|interest|religions?|interpretations?|floor|leaders?|shares?|language|populations?|oppositions?|factions?|coalitions?|commitments?|reports?|positions?|equity|stakes?</token>
            </antipattern>
            <antipattern>
                <token skip="2">majority</token>
                <token regexp="yes">left|right</token>
            </antipattern>
            <antipattern>
                <token>bit</token>
                <token>old</token>
                <token>school</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">and|or|&amp;</token>
                <token>a</token>
                <token>bit</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">bunch|lot|pair|majority|bit</token>
                <token>time</token>
                <token>consuming</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">bunch|lot|pair|majority|bit</token>
                <token></token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">bunch|lot|pair|majority|bit</token>
                <token></token>
                <token regexp="yes">&hyphen_modifier;|wise|deprived|soaked</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">is</token>
                <token>a</token>
                <token />
                <token>bit</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token skip="4" regexp="yes">how|what</token>
                <token skip="1">a</token>
                <token>pair</token>
                <token>costs</token>
            </antipattern>
            <antipattern>
                <token>next</token>
                <token regexp="yes">summer|winter|fall|autumn|spring|week-?end|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;|christmas|thanksgiving</token>
            </antipattern>
            <pattern>
                <token regexp="yes">an?</token>
                <token regexp="yes" min="0">vast|huge|large|big|significant|small|little|new|old|good|great</token>
                <marker>
                    <token regexp="yes">bunch|lot|pair|majority|bit</token>
                </marker>
                <token postag="JJ" min="0">
                    <exception postag="JJR|IN|NN.*" postag_regexp="yes" />
                    <exception regexp="yes">else|last</exception>
                </token>
                <token postag="NNS|NN:UN?|NNPS" postag_regexp="yes">
                    <exception regexp="yes">of|back|support|crap|shit|queer|brief|nuts|overkill|light|long|down|up|wrong|right|rough|OP|DIY|lame|tender|cause|part|question|answer|process|concern|bear|system|rule|uses?|thinks?|makes?|thanks|nothing|lead|para|red|yellow|blue|green|black|white|pink|gray|grey|orange|will|perspective</exception>
                    <exception postag="JJ.*|VBG|RB|MD" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It seems that there's a missing preposition after '\3'.</message>
            <suggestion>\3 of</suggestion>
            <url>https://www.ecenglish.com/learnenglish/lessons/a-lot-lots-a-lot</url>
            <example correction="bit of">I have a <marker>bit</marker> money</example>
            <example correction="bit of">You had to give the car a good <marker>bit</marker> extra gas.</example>
            <example correction="bit of">BTW there is a little <marker>bit</marker> rush for me to get this one fixed.</example>
            <example correction="lot of">The current graphs are not “weighted” or aggregated, and show’s a <marker>lot</marker> spikes here and there.</example>
            <example correction="lot of">We’ve added a <marker>lot</marker> functionality for automatic transaction.</example>
            <example correction="lot of">Would like to learn and share a <marker>lot</marker> things in the future.</example>
            <example correction="bit of">Mennad needs a little <marker>bit</marker> help with that.</example>
            <example>Thanks a lot guys.</example>
            <example>It gets a bit old after a decade and a half.</example>
            <example>Looks a lot better man!</example>
            <example>A recent proposal showed that a majority support a feature that allows editing of posts.</example>
            <example>I have a lot going on.</example>
            <example>It would take a lot less time than making a post on the forums.</example>
            <example>The controls are a bit backwards.</example>
            <example>It's a bit like lunch.</example>
            <example>It's a bit rough right now.</example>
            <example>It goes a bit nuts.</example>
            <example>There is a version for APM but it doesn’t support server monitoring and seems a bit light on features and testing.</example>
            <example>Those four could be upped a little bit reward wise.</example>
            <example>I know my macro could be done cleaner, and it's probably a bit rough around the edges but for now, it does exactly what I need it to do.</example>
            <example>Even on a mythic self filling multiple times like that is a bit op.</example>
            <example>As I said in my original post, this car went to the shop a LOT last year.</example>
            <example>That sounds a bit overkill.</example>
            <example>Do you know how much a pair costs?</example>
            <example>A majority rules in Venezuela.</example>
            <example>So many choices and they all seem a bit lame.</example>
            <example>As it is, all the majority party in the House of Reps can do is play a cat and mouse game.</example>
            <example>I trained a bunch last week.</example>
            <example>The log files as mine are a bit long?</example>
            <example>Is there a pair example of SmartApp and its counter part DeviceHandler so I can see and relate?</example>
            <example>In 1863, the International Financial Society became the majority shareholders of the HBC.</example>
            <example>The financial success of The Jazz Singer and The Singing Fool enabled Warner Bros. to purchase a majority interest in First National in September 1928.</example>
            <example>I have a bit similar question.</example>
            <example>It is a bit wrong.</example>
            <example>The use of a lot system, a characteristic of Athenian democracy, is unique to direct democracies.</example>
            <example>However, a majority coalition between the KMT, People First Party, and New Party prevented it from taking control of the chamber.</example>
            <example>I'll do my best not to be one of those people who blogs a lot right at the start and then quits blogging.</example>
            <example>Noticed that quite a lot use green for comments for instance.</example>
            <example>I buy a bit bottle of syrup and then extract the dxm from the syrup.</example>
            <example>Only two and a bit hours left until the football game starts.</example>
            <example>A lot lead up to that.</example>
            <example>But a lot will, and the projects that are postponed will probably still go through permitting and land acquisition, "things that don't cost a lot of money," Rose said.</example>
            <example>The rain in Saskatchewan delayed us a bit back in July, but we managed to catch up on the construction there in August.</example>
            <example>K2 will acquire a majority equity stake in SilverCube in a stock exchange.</example>
            <example>Today a bit blue.</example>
            <example>I'll probably swim a lot next summer.</example>
        </rule>

        <rulegroup id="BUNCH_OF" name="(a) bunch of">
            <antipattern>
                <token>parking</token>
                <token>lot</token>
            </antipattern>
            <antipattern>
                <token postag="DT" skip="2" />
                <token regexp="yes">bunch|lot|pair|couple|majority</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token postag="JJ" min="0" chunk="B-NP-singular">
                            <exception postag="IN" />
                            <exception regexp="yes">less|more|fewer</exception>
                        </token>
                        <token regexp="yes">number|handful|variety|majority|bunch|lot|pair|couple</token>
                        <token>of</token>
                    </marker>
                    <token chunk="B-NP-plural" />
                </pattern>
                <message>It seems that an article is missing. Did you mean <suggestion>a \2 \3 \4</suggestion>?</message>
                <example correction="a number of">There are <marker>number of</marker> animals that eat plants.</example>
                <example correction="a unknown number of">There are <marker>unknown number of</marker> people who search for the same answer and today I am one of them.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>most</token>
                    <token>wanted</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">have|need|get|take|receive|want|send|make|do|say|know|see|use|find|give|tell|work|call|try|ask|feel</token><!-- TODO: add more verbs -->
                    <marker>
                        <token postag="JJ" min="0" chunk="B-NP-singular">
                            <exception postag="IN" />
                            <exception regexp="yes">less|more|fewer</exception>
                        </token>
                        <token regexp="yes">number|handful|variety|majority|bunch|lot|pair|couple</token>
                        <token>of</token>
                    </marker>
                    <token chunk="B-NP-plural" />
                </pattern>
                <message>It seems that an article is missing. Did you mean <suggestion>the \2 \3 \4</suggestion> or <suggestion>a \2 \3 \4</suggestion>?</message>
                <example correction="the same number of|a same number of">Kepler-90 has <marker>same number of</marker> planets as our Sun.</example>
                <example correction="the whole bunch of|a whole bunch of">The voices told me he's lying and has <marker>whole bunch of</marker> females in his phone.</example>
                <example correction="the moderate number of|a moderate number of">Kabul and Jalalabad have <marker>moderate number of</marker> listeners.</example>
                <example>Tom and Mary are the most wanted pair of bank robbers in the continent.</example>
                <example>NEXT: repeat a section of code a given number of times.</example>
                <example>Our goal, for now, will be to committ on a monthly, quarterly or annual basis to providing a given number of volunteer hours.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*|IN|PCT|CC|RB|UH" postag_regexp="yes">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">vast|huge|large|big|significant|small|little|great</token>
                        <token>majority</token>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>An article may be missing.</message>
                <suggestion>the \2 \3 \4</suggestion>
                <example correction="the vast majority of">He received <marker>vast majority of</marker> files on Thursday.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*|IN|PCT|CC|RB|UH" postag_regexp="yes">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>majority</token>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>An article may be missing.</message>
                <suggestion>the \2 \3</suggestion>
                <example correction="the majority of">He received <marker>majority of</marker> files on Thursday.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*|IN|PCT|CC|RB|UH" postag_regexp="yes">
                        <exception postag="JJ.*|DT|RB" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">new|old|only|so|good|great|small|little</token>
                        <token regexp="yes">bunch|lot|pair|couple</token>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>An article may be missing.</message>
                <suggestion>a \2 \3 \4</suggestion>
                <example correction="a great bunch of">He received <marker>great bunch of</marker> new things.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*|IN|PCT|CC|RB|UH" postag_regexp="yes">
                        <exception postag="JJ.*|DT" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">bunch|lot|pair|couple</token>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>An article may be missing.</message>
                <suggestion>a \2 \3</suggestion>
                <example correction="a bunch of">He received <marker>bunch of</marker> new things.</example>
                <example>Happened again on a Saturday in the parking lot of a Village Inn.</example>
                <example>Either pair of shoes is fine.</example>
                <example correction="a lot of">In <marker>lot of</marker> cases.</example>
            </rule>
        </rulegroup>

        <rulegroup id="CONDITIONAL_CLAUSE" name="conditional clause">
            <url>https://grammar.collinsdictionary.com/easy-learning/conditional-clauses</url>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="2" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <token regexp="yes">th[ai]s|s?he|it|(some|any)(thing|one)</token>
                    <marker>
                        <token>will
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token postag="VB"><exception>be</exception></token>
                    </marker>
                </pattern>
                <message>Consider removing 'will'. (Usually, 'will' does not occur in a conditional clause, unless in the sense 'want to' or 'be willing to'.)</message>
                <suggestion><match no="6" postag="VBZ" /></suggestion>
                <example correction="goes">If this <marker>will go</marker> wrong, we will have to do it again.</example>
                <example correction="happens">If something <marker>will happen</marker> ...</example>
                <example correction="helps">If it <marker>will help</marker> please feel free to attend or have one of your people attend.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="3" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <marker>
                        <token>will
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token regexp="yes">not|never</token>
                        <token postag="VB"><exception>be</exception></token>
                    </marker>
                </pattern>
                <message>Consider removing 'will'. (Usually, 'will' does not occur in a conditional clause, unless in the sense 'want to' or 'be willing to'.)</message>
                <suggestion>does not \6</suggestion>
                <suggestion>do not \6</suggestion>
                <example correction="does not go|do not go">If this <marker>will not go</marker> right, we will have to do it again.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="3" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <marker>
                        <token>wo
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token>n't</token>
                        <token postag="VB"><exception>be</exception></token>
                    </marker>
                </pattern>
                <message>Consider removing 'will'. (Usually, 'will' does not occur in a conditional clause, unless in the sense 'want to' or 'be willing to'.)</message>
                <suggestion>doesn't \6</suggestion>
                <suggestion>don't \6</suggestion>
                <example correction="doesn't go|don't go">If this <marker>won't go</marker> right, we will have to do it again.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="3" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <marker>
                        <token>will
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token postag="VB"><exception>be</exception></token>
                    </marker>
                </pattern>
                <message>Consider removing 'will'. (Usually, 'will' does not occur in a conditional clause, unless in the sense 'want to' or 'be willing to'.)</message>
                <suggestion>\5</suggestion>
                <example correction="go">If we <marker>will go</marker> there, we might meet him.</example>
                <example>If this will be a problem, please reply and we will find a workaround.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>would</token>
                    <token postag="VB" skip="5"></token>
                    <token>please</token>
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token>it</token>
                    <token>would</token>
                    <token>be</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="3" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <marker>
                        <token>would
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token postag="VB"><exception>like</exception></token>
                    </marker>
                </pattern>
                <message>Consider removing 'would'. (Usually, 'would' does not occur in a conditional clause, unless to make a request or give a polite order.)</message>
                <suggestion><match no="5" postag="VBD" /></suggestion>
                <example correction="had">If she <marker>would have</marker> known about it, she would have been really mad.</example>
                <example>If you would do this for me, please, I would be extremely happy.</example>
                <example>If you would like an update in my absence…</example>
                <example>If you could it would be amazing.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="3" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <marker>
                        <token>would
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token>n't</token>
                        <token>have</token>
                    </marker>
                    <token postag="VBN"></token>
                </pattern>
                <message>Consider removing 'would'. (Usually, 'would' does not occur in a conditional clause, unless to make a request or give a polite order.)</message>
                <suggestion>hadn't</suggestion>
                <example correction="hadn't">If she <marker>wouldn't have</marker> known about it, she would have been really mad.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token min="0">Even</token>
                    <token skip="3" case_sensitive="yes">If<exception scope="next" postag="PCT|VB.*|JJ|RB" postag_regexp="yes"></exception></token>
                    <marker>
                        <token>would
                            <exception scope="previous" postag="POS|PRP\$" postag_regexp="yes"/>
                        </token>
                        <token>not</token>
                        <token>have</token>
                    </marker>
                    <token postag="VBN"></token>
                </pattern>
                <message>Consider removing 'would'. (Usually, 'would' does not occur in a conditional clause, unless to make a request or give a polite order.)</message>
                <suggestion>had not</suggestion>
                <example correction="had not">If she <marker>would not have</marker> known about it, she would have been really mad.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOWERCASE_MONTHS" name="august (August)">
            <rule>
                <antipattern>
                    <token>may</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="VB" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>may</token>
                    <token postag="NNP|PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>may</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>march</token>
                </antipattern>
                <antipattern>
                    <token>may</token>
                    <token>hay</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>may</token>
                    <token chunk_re="I-NP-plural" postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNS" chunk_re="E-NP.plural" />
                </antipattern>
                <pattern>
                    <token regexp="yes">in|on|during|before|after|starting|starts|started|ending|ends|ended|beginning|begins|beg[au]n|mid|at|until|till?|to|from|since|early|late|around|like</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">march|may|august</token><!-- month names that have a different meaning and can be in lowercase -->
                    </marker>
                </pattern>
                <message>The month <suggestion><match case_conversion="startupper" no="2" /></suggestion> needs to be capitalized.</message>
                <example correction="August">My birthday is in <marker>august</marker>.</example>
                <example>What I'm working on may have an impact on our success.</example>
                <example>An electric blanket which is bunched up or even folded over itself and then turned on may easily catch fire since the heat cannot disperse.</example>
                <example>Alexander tried to persuade his soldiers to march farther, but his general Coenus pleaded with him ...</example>
                <example>Once it ends may he rest in peace.</example>
                <example>How late may I call you?</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">may|march</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-NP.*" />
                    <token>march</token>
                </antipattern>
                <antipattern>
                    <token>may</token>
                    <token>will</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">march|may|august</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token regexp="yes" case_sensitive="yes">[Ii]s|[Ww]as|[Hh]a[ds]|[Ee]nds|[Ss]tarts|[Bb]egins|[Cc]omes|will</token>
                </pattern>
                <message>The month <suggestion><match case_conversion="startupper" no="1" /></suggestion> needs to be capitalized.</message>
                <example correction="May">I think <marker>may</marker> is my favorite month.</example>
                <example>I was there when a million protested the Iraq Invasion, but alas, a one-day token march is not suffice to stop a government determined to go to war.</example>
                <example>Every march is composed of just a few steps.</example>
                <example>It may has to do with that.</example><!-- agreement error -->
                <example>Probably the defining characteristic of a death march is that you never intend to get into one to begin with.</example>
                <example>Edward's march was unopposed at the beginning because he was moving through lands that belonged to the Percys, and the Earl of Northumberland was indebted to the Yorkist king for the return of his northern territory.</example>
                <example>May Will be the only one.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">march|may|august</token><!-- month names that have a different meaning and can be in lowercase -->
                    </marker>
                    <token regexp="yes">\d{4}|[1-9](st|nd|th|rd)?|[0-3]\d(st|nd|th|rd)?|until|till</token>
                </pattern>
                <message>The month <suggestion><match case_conversion="startupper" no="1" /></suggestion> needs to be capitalized.</message>
                <example correction="August">My birthday is on <marker>august</marker> 2nd.</example>
                <example correction="May">I'm on vacation <marker>may</marker> until June.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">march|may|august</token><!-- month names that have a different meaning and can be in lowercase -->
                    </marker>
                    <token regexp="yes">-|–</token>
                    <token regexp="yes">&months;</token>
                </pattern>
                <message>The month <suggestion><match case_conversion="startupper" no="1" /></suggestion> needs to be capitalized.</message>
                <example correction="August"><marker>august</marker> - September</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">&months;</token>
                    <token regexp="yes">-|–</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">march|may|august</token><!-- month names that have a different meaning and can be in lowercase -->
                    </marker>
                </pattern>
                <message>The month <suggestion><match case_conversion="startupper" no="3" /></suggestion> needs to be capitalized.</message>
                <example correction="August">From April – <marker>august</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">end|start|beginning</token>
                    <token>of</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">march|may|august</token><!-- month names that have a different meaning and can be in lowercase -->
                    </marker>
                </pattern>
                <message>The month <suggestion><match case_conversion="startupper" no="3" /></suggestion> needs to be capitalized.</message>
                <example correction="August">The rollout starts end of <marker>august</marker></example>
            </rule>
            <rule>
                <antipattern>
                    <token>may</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <marker>
                        <token case_sensitive="yes">may</token>
                    </marker>
                </pattern>
                <message>The month <suggestion>May</suggestion> needs to be capitalized.</message>
                <example correction="May">The <marker>may</marker> 1st meeting was re-scheduled.</example>
                <example>The world may never know.</example>
            </rule>
        </rulegroup>
        <rule id="GETTED" name="getted (got)">
            <pattern>
                <token>getted</token>
            </pattern>
            <message>Did you mean <suggestion>got</suggestion> or <suggestion>get it</suggestion>?</message>
            <example correction="got|get it">I wanted to <marker>getted</marker> done.</example>
        </rule>
        <rule id="LET_OBJECT" name="Let + object">
            <antipattern>
                <token>let</token>
                <token case_sensitive="yes" regexp="yes">I|HE</token>
                <token>be</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <token postag= "SENT_START"></token>
                <token>Let</token>
                <marker>
                    <token regexp="yes">I|he|she|we|they</token>
                </marker>
            </pattern>
            <message>The object form of the pronoun may be required here.</message>
            <suggestion>me</suggestion>
            <suggestion>him</suggestion>
            <suggestion>her</suggestion>
            <suggestion>us</suggestion>
            <suggestion>them</suggestion>
            <example correction="me|him|her|us|them">Let <marker>she</marker> do it!</example>
        </rule>

        <rule id="ASK_NO_PREPOSITION" name="ask + object (no preposition)">
            <antipattern><!-- #2918 passive -->
                <token inflected="yes">be</token>
                <token min="0" max="2" postag="RB"/>
                <token regexp="yes">asked|told</token>
                <token>to</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <token inflected="yes" regexp="yes">ask|tell</token>
                <marker>
                    <token>to</token>
                    <token regexp="yes">&object_pronouns;</token>
                </marker>
            </pattern>
            <message>The verb 'to <match no="1" postag="VB"/> someone' does not require a preposition.</message>
            <suggestion><match no="3"/></suggestion>
            <url>https://www.lexico.com/definition/ask</url>
            <example correction="me">She asked <marker>to me</marker> whether I like cats.</example>
            <example>She was asked <marker>to the</marker> party.</example>
            <example correction="them">I have to tell <marker>to them</marker> the truth.</example>
            <example correction="him">She was telling <marker>to him</marker> about the problems of disambiguation.</example><!-- #2918 -->
            <example>... what was told to me.</example><!-- #2918 -->
            <example>Although secrets are often told to us in confidence, we sometimes reveal them.</example><!-- #2918 -->
            <example>it has been told to them.</example>
        </rule>
        <rule id="BE_IS" name="inflected form of 'be'">
            <antipattern>
                <token postag="VB.?|MD" postag_regexp="yes" skip="-1"/>
                <token postag="VBG"></token>
                <token>be</token>
            </antipattern>
            <pattern>
                <token postag="VBG"></token>
                <marker><token>be</token></marker>
            </pattern>
            <message>Did you mean <suggestion>is</suggestion> or <suggestion>can be</suggestion>?</message>
            <example correction="is|can be">Grammar checking <marker>be</marker> difficult.</example>
            <example>Can the meeting be finished within two hours?</example>
            <example>Could nitroglycerine poisoning be the cause of Alfred Nobel's anginal pains?</example>
        </rule>
        <rule id="BE_WILL" name="will follows be ('he is would')">
            <antipattern>
                <token>those</token>
                <token>that</token>
                <token regexp="yes">are|were</token>
            </antipattern>
            <pattern>
                <token postag="W(RB|P)" postag_regexp="yes"/>
                <marker>
                    <token inflected="yes">be</token>
                    <token inflected="yes" regexp="yes">
                        will|must
                        <exception>willing</exception>
                    </token>
                </marker>
            </pattern>
            <message>One of these words may be redundant.</message>
            <example correction="">How <marker>is would</marker> this approach be useful?</example>
            <example>How <marker>would</marker> this approach be useful?</example>
            <example>Vehicles should not be parked at these locations and those that <marker>are will</marker> be ticketed and subject to being towed.</example>
            <example>McConnell confronted and pressured other Republican senators who were willing to negotiate with Democrats and the Obama administration.</example>
        </rule>
        <rule id="CAN_ABLE_TO" name="can able to (can)">
            <pattern>
                <token>can</token>
                <token>able</token>
                <token>to</token>
            </pattern>
            <message>One of these words may be redundant.</message>
            <suggestion>\1</suggestion>
            <example correction="can">So you <marker>can able to</marker> download more apps regardless of the storage.</example>
        </rule>
        <rule id="RELY_ON" name="rely on">
            <antipattern>
                <token regexp="yes">(up)?on</token>
                <token regexp="yes" skip="-1">wh.*<exception scope="next">,</exception></token>
                <token inflected="yes">rely</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="-1">rely<exception scope="next">,</exception></token>
                <token regexp="yes">(up)?on</token>
            </antipattern>
            <pattern>
                <token inflected="yes">rely</token>
            </pattern>
            <message>The verb 'rely' requires the preposition 'on' (or 'upon').</message>
            <suggestion>\1 on</suggestion>
            <url>https://www.merriam-webster.com/dictionary/rely</url>
            <short>Missing preposition</short>
            <example correction="rely on">I <marker>rely</marker> my family to help me out.</example>
        </rule>

        <rule id="ALLOW_TO_DO" name="Missing preposition: allow (to) do">
            <antipattern><!-- #2919 uses allowed are -->
                <token postag="NNS"/>
                <token>allowed</token>
            </antipattern>
            <antipattern><!-- #2919 passive -->
                <token regexp="yes">is|are|was|were</token>
                <token min="0" max="2" postag="RB"/>
                <token>allowed</token>
            </antipattern>
            <antipattern><!-- #3223 -->
                <token inflected="yes">allow</token>
                <token regexp="yes">&object_pronouns;</token>
                <token chunk="B-VP">please</token>
            </antipattern>
            <pattern>
                <token inflected="yes">allow</token>
                <token min="0" postag="PRP"><exception>one</exception></token>
                <marker><token postag="VBP?" postag_regexp="yes"><exception postag="JJ.*|NN.*|CC|IN" postag_regexp="yes"/></token></marker>
            </pattern>
            <message>The preposition 'to' may be missing (allow someone to do something).</message>
            <suggestion>to \3</suggestion>
            <short>Missing preposition</short>
            <example correction="to do">He allowed me <marker>do</marker> it on my own.</example>
            <example>He allowed me <marker>to do</marker> it on my own.</example>
            <example>The uses allowed are those listed above.</example><!-- #2919 -->
            <example>The times allowed are shown in Table 3.</example><!-- #2919 -->
            <example>The times that are allowed tell you when you can safely do the work.</example><!-- #2919 -->
            <example>Spacing the plants three feet apart allows them room to grow.</example><!-- #2919 -->
            <example>...since he had entered the correct code that allowed him entrance.</example><!-- #2919 -->
            <example>If your schedule does not allow it please recommend someone in comp.</example>
            <example>This should allow you access to the library's databases without going through the proxy bit.</example>
        </rule>

        <rule id="EXPLAIN_TO" name="Missing preposition: explain (to)">
            <pattern case_sensitive="yes">
                <token inflected="yes">explain</token>
                <marker>
                    <token postag="PRP_O.*|NNP" postag_regexp="yes" />
                </marker>
                <token regexp="yes">how|th(e|at)|wh(at|ere|ich|y)|(every|any)thing</token>
            </pattern>
            <message>The preposition 'to' may be missing (explain something to someone).</message>
            <suggestion><match no="2" regexp_match="^.+$" regexp_replace="to" /> <match no="2"/></suggestion>
            <url>https://www.lexico.com/definition/ask</url>
            <short>Missing preposition</short>
            <example correction="to me">She explained <marker>me</marker> the results in detail.</example>
            <example correction="to you">Let me explain <marker>you</marker> why I like him.</example>
            <example correction="to her">I explained <marker>her</marker> the difference between right and wrong.</example>
            <example>He explained everything that happened.</example>
        </rule>
        <rulegroup id="DEPEND_ON" name="depend on">
            <url>https://www.merriam-webster.com/dictionary/depend</url>
            <short>Missing preposition</short>
            <antipattern>
                <token regexp="yes">(up)?on</token>
                <token regexp="yes" skip="-1">wh.*<exception scope="next">,</exception></token>
                <token inflected="yes">depend</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="-1">depend<exception scope="next">,</exception></token>
                <token regexp="yes">(up)?on</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">depend</token>
                <token regexp="yes">\.|,|\?|!</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes">depend</token>
                    <token regexp="yes">of|by|for|with|to|in|about|against|at</token>
                </pattern>
                <message>The verb 'to depend' requires the preposition '(up)on'.</message>
                <suggestion>\1 on</suggestion>
                <example correction="depends on">He <marker>depends of</marker> you.</example>
                <example>Well, I'd say it <marker>depends</marker>.</example>
                <example>It is <marker>on</marker> his father that he <marker>depends</marker>.</example>
                <example>They are important as pheromones, chemical messenger materials, <marker>on</marker> which insects <marker>depend</marker> for communication.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">depend</token>
                </pattern>
                <message>The verb 'depend' requires the preposition 'on' (or 'upon').</message>
                <suggestion>\1 on</suggestion>
                <example correction="depends on">He <marker>depends</marker> you.</example>
                <example correction="depends on">It all <marker>depends</marker> how you handle it.</example>
                <example>Well, I'd say it <marker>depends</marker>.</example>
                <example>It is <marker>on</marker> his father that he <marker>depends</marker>.</example>
                <example>They are important as pheromones, chemical messenger materials, <marker>on</marker> which insects <marker>depend</marker> for communication.</example>
            </rule>
        </rulegroup>
        <rule id="THANKS_IN_ADVANCED" name="Thanks in advanced (advance)">
            <pattern>
                <token regexp="yes">thanks?</token>
                <token min="0">you</token>
                <token>in</token>
                <marker>
                    <token regexp="yes">advance[ds]</token>
                </marker>
            </pattern>
            <message>Typo. Did you mean <suggestion>advance</suggestion>?</message>
            <example correction="advance">Thanks in <marker>advanced</marker> for helping me.</example>
        </rule>
        <rulegroup id="AND_END" name="the and (end)">
            <rule>
                <pattern>
                    <token regexp="yes">at|in|to</token>
                    <token regexp="yes">the|an</token>
                    <marker>
                        <token case_sensitive="yes">and</token>
                    </marker>
                </pattern>
                <message>Typo. Did you mean <suggestion>end</suggestion>?</message>
                <example correction="end">Is he at the <marker>and</marker>?</example>
            </rule>
        </rulegroup>
        <rulegroup id="GRADUATE_FROM" name="graduate from">
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes" skip="2">graduate<exception scope="next" regexp="yes">from|of</exception><exception>graduate</exception></token>
                    </marker>
                    <token regexp="yes">school|university|college</token>
                </pattern>
                <message>The verb 'to graduate' requires the preposition 'from'.</message>
                <suggestion>\1 from</suggestion>
                <url>https://www.merriam-webster.com/dictionary/graduate</url>
                <example correction="graduated from">He <marker>graduated</marker> the university last June.</example>
                <example correction="graduating from">He joined the navy after <marker>graduating</marker> high school.</example>
                <example>He became a well known graduate of the school.</example>
                <example>This is a fully accredited graduate film school.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">will|can|could|might|should</token>
                    <marker>
                        <token inflected="yes" skip="2">graduate<exception scope="next" regexp="yes">from|of</exception></token>
                    </marker>
                    <token regexp="yes">school|university|college</token>
                </pattern>
                <message>The verb 'to graduate' requires the preposition 'from'.</message>
                <suggestion>\2 from</suggestion>
                <url>https://www.merriam-webster.com/dictionary/graduate</url>
                <example correction="graduate from">She will <marker>graduate</marker> high school next month.</example>
                <example>He became a well known graduate of the school.</example>
                <example>This is a fully accredited graduate film school.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">college|university|school|harvard|yale|princeton</token>
                    <token regexp="yes">graduates?</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" skip="3">graduate</token>
                    <token>from</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="[BI]-NP.*">graduated</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <marker>
                        <token inflected="yes">graduate<exception scope="next" regexp="yes">from|of</exception><exception>graduate</exception></token>
                    </marker>
                    <token postag="NNP" regexp="yes">[A-Z]\w+</token>
                </pattern>
                <message>The verb 'to graduate' requires the preposition 'from'.</message>
                <suggestion>\1 from</suggestion>
                <url>https://www.merriam-webster.com/dictionary/graduate</url>
                <example correction="graduated from">He <marker>graduated</marker> Yale last June.</example>
                <example>In 1887, Hamilton College graduates William McLaren Bristol and John Ripley Myers purchased the Clinton Pharmaceutical company.</example>
                <example>I'm now working in Houston where there is a nice conglomeration of recently graduated SMU Betas.</example>
            </rule>
        </rulegroup>
        <rule id="ALL_MOST_SOME_OF_NOUN" name="all/most/some (of) + noun">
            <antipattern>
                    <token inflected="yes">make</token>
                    <token>the</token>
                    <token>most</token>
                    <token>of</token>
                    <token postag="NN.*" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- and most of track 2 -->
                    <token regexp="yes">and|or</token>
                    <token>most</token>
                    <token>of</token>
                    <token chunk="B-NP-singular" postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token chunk="E-NP-singular" postag="CD"/>
            </antipattern>
            <antipattern><!-- Some of Ancient Egypt's  -->
                    <token>of</token>
                    <token chunk="B-NP-plural" postag="JJ|NN(:UN?)?" postag_regexp="yes" regexp="yes">\p{Lu}\p{L}+</token>
                    <token chunk="E-NP-plural" postag="NN.*" postag_regexp="yes" regexp="yes">\p{Lu}\p{L}+</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token>of</token>
                <token>humanity</token>
            </antipattern>
            <antipattern>
                <token skip="1">of</token>
                <token>.</token>
                <token regexp="yes">com|org|edu</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">all|some|most</token>
                    <token>of</token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="PRP\$|NNP" postag_regexp="yes"/>
                        <exception>course</exception>
                    </token>
                </marker>
                <token><exception>'s</exception></token>
            </pattern>
            <message>Consider using <suggestion>\1 <match no="3" regexp_match="^sudden$" regexp_replace="of a sudden"/></suggestion> or <suggestion>\1 of the \3</suggestion>.</message>
            <url>http://www.myhappyenglish.com/free-english-lesson/2013/05/22/english-grammar-lesson-all-some-most-vs-all-of-some-of-most-of/</url>
            <!-- url>https://dictionary.cambridge.org/de/grammatik/britisch-grammatik/quantifiers/all</url -->
            <!-- https://jakubmarian.com/is-it-all-the-or-all-of-the-in-english/ -->
            <example correction="All students|All of the students"><marker>All of students</marker> like mathematics.</example>
            <example correction="some food|some of the food">We should hold <marker>some of food</marker> in reserve.</example>
            <example correction="most time|most of the time">Sometimes I go out for lunch, but <marker>most of time</marker> I bring my own lunch to work.</example>
            <example>I like all of Tom's friends.</example>
            <example>Some of course are actual newsletters.</example>
            <example>All of the workers were given a pay-rise at the end of the year.</example>
            <example>The class quickly made the most of the teacher's absence.</example>
            <example>Make the most of apples!</example>
            <example>On a DOS 3.x disk, tracks 0, 1, and most of track 2 were reserved to store the operating system.</example>
            <example correction="all of a sudden|all of the sudden">Where did this confidence appear from <marker>all of sudden</marker>?</example>
            <example>Some of <marker>Ancient Egypt</marker>'s crowning achievements ...</example>
            <example>It consolidates some of today's gains.</example>
            <example>AT&amp;T has "intermittently paid" for some of Allegiance's terminating access services</example>
            <example>... virtually all of Fortis' equity investment team has left the firm.</example><!-- #4489 -->
            <example>Over the next several weeks, we will be revising some of Fool.com's editorial content offerings.</example>
        </rule>
        <!--
        <rule id="PLURAL_VBZ" name="Plural phrase with singular verb">
            <pattern>
                <token chunk="B-NP-plural"/>
                <token chunk="I-NP-plural" min="0"/>
                <token chunk="E-NP-plural"/>
                <token postag="VBZ"/>
            </pattern>
            <message>This sentence seems to use a plural phrase with a singular verb.</message>
            <example correction="A soccer player kicks"><marker>A soccer players kicks</marker> a ball and scores a goal</example>
        </rule>
        -->
        <rule id="WHO_VERB" name="Who + verb (who know's/knows)">
            <pattern>
                <token>who</token>
                <token postag="VB.*|NN.*" postag_regexp="yes"><exception postag="NNP"/></token>
                <token>'s</token>
            </pattern>
            <message>Did you mean <suggestion>\1 \2s</suggestion>?</message>
            <example correction="Who cares"><marker>Who care's</marker>?</example>
            <example correction="Who knows"><marker>Who know's</marker>?</example>
            <example>I wonder where Tom is and who he's with.</example>
            <example>I found out who Tom's father is.</example>
        </rule>
        <rulegroup id="IF_THERE" name="missing verb after 'if there'">
            <rule>
                <pattern>
                    <token regexp="yes">if|when|although|because|but|whether</token>
                    <marker>
                        <token>there</token>
                    </marker>
                    <token regexp="yes">m?any|no|some|such</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" />
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\2 are</suggestion>
                <suggestion>\2 were</suggestion>
                <example correction="there are|there were">Let me know if <marker>there</marker> any issues.</example>
                <example correction="there are|there were">I am obviously looking for any help that I can get here, so if <marker>there</marker> any more ideas I would like to hear them.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|although|because|but|whether</token>
                    <marker>
                        <token>there</token>
                    </marker>
                    <token regexp="yes">m?any|no|some|such</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN(:UN?)?" postag_regexp="yes" />
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\2 is</suggestion>
                <suggestion>\2 was</suggestion>
                <example correction="there is|there was">Let me know if <marker>there</marker> no information available.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|although|because|but|whether</token>
                    <marker>
                        <token>there</token>
                    </marker>
                    <token regexp="yes">(any|some)(thing|one|body)</token>
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\2 is</suggestion>
                <suggestion>\2 was</suggestion>
                <example correction="there is|there was">Let me know if <marker>there</marker> anyone with the same problem.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when|although|because|but|whether</token>
                    <marker>
                        <token>there</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">an?|another</token>
                    <token chunk_re="[EI]-NP.*" postag="JJ.*|NN.*" postag_regexp="yes">
                        <exception>few</exception>
                    </token>
                </pattern>
                <message>It appears that a verb is missing.</message>
                <suggestion>\2 is</suggestion>
                <suggestion>\2 was</suggestion>
                <example correction="there is|there was">Let me know if <marker>there</marker> a problem.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>where</token>
                    <token>else</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">if|when|although|because|but|whether</token>
                    <marker>
                        <token>there</token>
                        <token>where</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2 were</suggestion>?</message>
                <example correction="there were">Let me know if <marker>there where</marker> any issues.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>if</token>
                    <token>there</token>
                    <token postag="RB"/>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token>there</token>
                    <token postag="RB"/>
                    <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
                </antipattern>
                <pattern>
                    <token>if<exception scope="previous">as</exception></token>
                    <marker>
                        <token>there</token>
                        <token>
                            <exception postag="VB.*|MD|UNKNOWN" postag_regexp="yes"/>
                            <exception regexp="yes">\p{P}</exception>
                            <exception regexp="yes">aint?|arent?|isnt?|cant|wont|werent?</exception><!-- aint -->
                        </token>
                    </marker>
                </pattern>
                <message>Please check whether a verb is missing here or whether 'there' should be 'their'.</message>
                <suggestion>their \3</suggestion>
                <example correction="their demands">The workers have also threatened that if <marker>there demands</marker> are not met, they will go on strike again.</example>
                <example correction="their one">If <marker>there one</marker> who has influenced my thinking, it is my mother.</example>
                <example>If <marker>there even are</marker> people more beautiful than you, there won't be many of them</example>
                <example>If <marker>there'</marker>s anything out of place then please take a closer look.</example>
                <example>I wanted to see if <marker>there really was</marker> someone out there.</example>
                <example>I wonder if <marker>there will</marker> be a man brave enough to fight him.</example>
                <example>We shall meet again in Petersburg, as if there we had buried the sun.</example>
            </rule>
        </rulegroup>
        <rule id="DO_YOU_WHAT" name="do you what (do you know what)">
            <antipattern>
                <token regexp="yes">them|it</token>
                <token regexp="yes">when(ever)?|however</token>
            </antipattern>
            <pattern>
                <token inflected="yes">do</token>
                <marker>
                    <token postag="PRP" />
                    <token postag="WRB" />
                </marker>
            </pattern>
            <message>A verb may be missing.</message>
            <example correction="">Do <marker>you why</marker> she left him?</example>
            <example>Do it when you have time.</example>
            <example>You can do it however you like.</example>
        </rule>
        <rule id="DONT_WHAT" name="missing verb (dont't what / dont't know what)">
            <pattern>
                <token regexp="yes">ca|could|did|do(es)?|ha[ds]|have|must|need|ought|sha|should|wo|would</token>
                <token>n't</token>
                <token min="0" regexp="yes">even|really|actually</token>
                <token regexp="yes">wh(at|o|ere|ich|ose|ether)|how</token>
            </pattern>
            <message>A verb may be missing.</message>
            <example correction="">One problem is that you often <marker>don't where</marker> a sentence starts and ends.</example>
            <example correction="">I <marker>don't even what</marker> this means.</example>
        </rule>
        <rule id="CAN_WHAT" name="missing verb (can what / can see what)">
            <pattern>
                <token regexp="yes">can|must|should</token>
                <token min="0" regexp="yes">even|really|actually</token>
                <token regexp="yes">wh(at|o|ere|ich|ose|ether)|how</token>
            </pattern>
            <message>A verb may be missing.</message>
            <example correction="">You <marker>should really how</marker> it works.</example>
        </rule>
        <rule id="OBJECTIVE_CASE" name="objective case after with(out)/at/to/...">
            <antipattern><!-- what do you mean by they? -->
                <token regexp="yes">do|does|did</token>
                <token regexp="yes">s?he|you|we|they|I</token>
                <token>mean</token>
                <token>by</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag_regexp="yes" postag="TO|RP"/>
                    <token regexp="yes">I|[hw]e|she|they</token>
                </marker>
                <token postag="SENT_END" regexp="yes">[\.\?!]</token>
            </pattern>
            <message>The object form of the pronoun may be required here. Did you mean <suggestion>\1 me</suggestion>, <suggestion>\1 her</suggestion>, <suggestion>\1 him</suggestion>, <suggestion>\1 us</suggestion>, or <suggestion>\1 them</suggestion>?</message>
            <example correction="to me|to her|to him|to us|to them">Give it <marker>to I</marker>.</example>
            <example correction="with me|with her|with him|with us|with them">Come <marker>with I</marker>.</example>
            <example>I feel safe <marker>with him</marker>.</example>
            <example>Look <marker>at her</marker>!</example>
            <example>I have no time to put my books in order before I go.</example>
            <example>List item in a bulleted list: * A text that he typed</example>
            <example>What do you mean by they?</example>
        </rule>
        <rule id="POSSESSIVE_CASE" name="possessive case after with(out)/at/in/to/...">
            <pattern>
                <token><exception postag="SENT_START"/></token>
                <marker>
                    <token regexp="yes">at|with(out)?|in|under|about</token>
                    <token regexp="yes">I|s?he|the[my]|[wm]e|him</token>
                </marker>
                <token postag="NN.*|VBZ" postag_regexp="yes">
                    <exception postag_regexp="yes" postag="RB|JJ.?|VB[DGNP]?|PRP.?|IN|TO"/>
                    <exception regexp="yes">isn?|hasn?|doesn?|goes|.+day|tomorrow</exception>
                </token>
                <token postag="SENT_END"/>
            </pattern>
            <message>The possessive form of the pronoun may be required here.</message>
            <suggestion>\2 my</suggestion>
            <suggestion>\2 her</suggestion>
            <suggestion>\2 his</suggestion>
            <suggestion>\2 our</suggestion>
            <suggestion>\2 their</suggestion>
            <example correction="at my|at her|at his|at our|at their">Look <marker>at I</marker> eyes!</example>
            <example correction="at my|at her|at his|at our|at their">Look <marker>at she</marker> legs!</example>
            <example>Each of us has to be careful when driving.</example>
            <example>Living with him isn't easy.</example>
        </rule>
        <rule id="WRONG_PRP_AT_SENT_START" name="incorrect pronoun as subject ('Her loves me.')">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token regexp="yes">Me|Him|Her|Them</token>
                </marker>
                <token postag="VBZ"/>
                <token><exception postag="VB.*" postag_regexp="yes"/></token>
            </pattern>
            <message>The subject form of the pronoun may be required here.</message>
            <suggestion>I</suggestion>
            <suggestion>He</suggestion>
            <suggestion>She</suggestion>
            <suggestion>They</suggestion>
            <example correction="I|He|She|They"><marker>Her</marker> has many animals.</example>
        </rule>
        <rule id="TOO_ADJECTIVE_TO" name="too ADJECTIVE to">
            <antipattern>
                <token>from</token>
                <token>dawn</token>
                <token>to</token>
                <token>dusk</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>due</token>
                <token>to</token>
                <token>unable</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token>just</token>
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- she told me to just to keep the peace -->
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="PRP" />
                <token>to</token>
                <token postag="RB" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- From gray to gold to pink ... -->
                <token>from</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" min="1" max="2" />
                <token>to</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
                <token>to</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token>to</token>
                <token postag="JJ">
                    <exception postag_regexp="yes" postag="NN|NN:UN|VB.*"/>
                    <exception regexp="yes" case_sensitive="yes" postag="NNP">[A-Z].+</exception>
                </token>
                <token min="0">,</token>
                <token>to</token>
            </pattern>
            <message>Typo. Did you mean <suggestion>\1o \2 \4</suggestion>?</message>
            <example correction="too good to">This is <marker>to good to</marker> be true.</example>
            <example>She is <marker>too sad to</marker> celebrate.</example>
            <example>My mother went <marker>to town to</marker> get some bread.</example>
            <example>It is next to impossible to make him stop smoking.</example>
            <example>The site is open from dawn to dusk to visitors.</example>
            <example>He traveled to Bermuda to announce that the company would also open up compliance operations there.</example>
            <example>You can turn sound off if you want but shouldn’t have to just to avoid the repetitive annoying sounds.</example>
            <example>One day you have to try it. You really have to just to get high once in your life.</example>
            <example>She told me to just to keep the peace.</example>
            <example>You have to go to china to learn about their culture.</example><!-- china should be China -->
            <example>So often, my grandmother had a spare bed she’d go to just to be able to sleep.</example>
            <example>From gray to gold to pink.</example>
            <example>2 x VIP tickets for sale at face value due to unable to attend event.</example><!-- Not proper english (but very common), should be handled by different rule -->
        </rule>
        <rulegroup id="BASE_FORM" name="base form after I/you/we/they">
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp='yes'>i|you|we|they</token>
                    <token regexp='yes' min="0" postag="RB">[a-z]+ly</token>
                    <marker>
                        <token>does</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Possible verb agreement error — use the base form here.</message>
                <suggestion>don't</suggestion>
                <example correction="don't">I really <marker>doesn't</marker> like him.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>I</token>
                    <token>stands</token>
                    <token>for</token>
                    <token regexp="yes">i.*</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp='yes'>i|you|we|they</token>
                    <token regexp='yes' min="0" postag="RB">[a-z]+ly</token>
                    <marker>
                        <token postag="VBZ">
                            <exception postag="NNS|VBP" postag_regexp="yes"/>
                            <exception regexp="yes">kids|guys|'s</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error — use the base form here.</message>
                <suggestion><match no="4" postag="VBP"/></suggestion>
                <example correction="like">I really <marker>likes</marker> cats.</example>
                <example correction="do">I <marker>does</marker> not know about it.</example>
                <example>He secretly <marker>loves</marker> you.</example>
                <example>They <marker>seem</marker> to like you.</example>
                <example>We parents sometimes become blind.</example>
                <example>You kids must be hungry.</example>
                <example>You guys wait here.</example>
                <example>I ain't got any help.</example>
                <example>You second-guess my opinion all the time.</example><!-- wrongly tagged VBZ -->
                <example>I's been awhile since the last time I wrote.</example><!-- should be found by other rule I's → it's -->
            </rule>
        </rulegroup>

        <rule id="TWO_CONNECTED_MODAL_VERBS" name="Two modal verbs in a row (could should)">
        <!-- Created by Tiago F. Santos, 2018-07-16. Edited by MFU 2019-08-31.-->
            <antipattern>
                 <token/>
                 <token><match no='0'/></token>
            </antipattern>
            <antipattern><!-- whose will could -->
                <token>whose</token>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
            </antipattern>
            <antipattern><!-- MFU 2019-08-31. -->
                <token chunk="B-VP" postag="MD"/>
                <token chunk="I-VP" postag="VB" regexp="yes">can|will</token><!-- lexical verbs -->
            </antipattern>
            <antipattern><!-- Fix for chunker: should be can/B-VB, will/I-VP -->
                <token regexp="yes">I|you|we|they|he|s?he|it</token>
                <token>can</token>
                <token chunk="B-VP">will</token>
            </antipattern>
            <pattern>
                 <token regexp="yes">c(an|ould)|w(ill|ould)|sh(ould|all)|m(ight|ay|ust)<exception postag_regexp="yes" postag="NN.*"/></token>
                 <token regexp="yes" case_sensitive='yes'>c(an|ould)|w(ill|ould)|sh(ould|all)|m(ight|ay|ust)
                   <!--exception><match no='0'/></exception--></token><!-- TODO allow element match inside an exception -->
            </pattern>
            <message>Two modal verbs in a row. Did you mean: <suggestion>\1, \2</suggestion>, <suggestion>\1</suggestion> or <suggestion>\2</suggestion>?</message>
            <example correction="could, should|could|should">That <marker>could should</marker> do.</example>
            <example><marker>Will Will</marker> notice this?</example>
            <example><marker>Will will</marker> notice this.</example>
            <example>I was one who did not conform, and whose <marker>will could</marker> not be broken.</example>
            <example>This <marker>can will</marker> be used during the test.</example>
            <example>Do you know that <marker>May will</marker> go to dancing school?</example>
            <example>MD ... but in any given moment of your life you <marker>can</marker> will only one definite thing and absolutely nothing...</example>
            <example>Lexical. ... God willed the child's death, so the Christian should <marker>will</marker> it, too.</example>
            <example>Lexical. We might <marker>can</marker> the fruit tomorrow.</example>
        </rule>

        <rule id="COLLECTIVE_NOUN_VERB_AGREEMENT_VBP" name="a fleet of ships are (is)">
            <antipattern><!-- what sort of curtains do you think -->
                <token postag="NNS"/>
                <token regexp="yes">do|did</token>
                <token regexp="yes">I|you|we|they</token>
            </antipattern>
            <antipattern><!-- references to the concept of atoms -->
                <token postag="NNS"/>
                <token>to</token>
                <token postag="DT"/>
                <token postag="NN"/>
                <token>of</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Rose_Parade -->
                <token>roses</token>
                <token>parade</token>
            </antipattern>
            <antipattern><!-- #2410 had from the Book of Trades document created -->
                <token postag="VB.*" postag_regexp="yes"/>
                <token postag="IN"/>
                <token postag="DT"/>
                <token postag="NN(:UN?)?" postag_regexp="yes" regexp="yes">\p{Lu}\p{Ll}+</token><!-- Assume that text with initial capitals is a proper noun  -->
                <token>of</token>
                <token postag="NNS" regexp="yes">\p{Lu}\p{Ll}+</token>
                <token postag="NN">document</token>
                <token postag="VBN"/>
            </antipattern>
            <antipattern><!-- #2420 a bag of algae bread -->
                <token>of</token>
                <token chunk="B-NP-plural" postag="NNS"/>
                <token chunk="E-NP-plural" postag_regexp="yes" postag="NN:UN?"/>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Pikes_Peak -->
                <token>Pikes</token>
                <token>Peak</token>
            </antipattern>
            <antipattern><!-- of members present -->
                <token>of</token>
                <token postag="NNS" />
                <token>present</token>
            </antipattern>
            <antipattern><!-- #4499 The jokes that Tom makes about the land of kangaroos don't -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token skip="-1" regexp="yes">that|which</token>
                <token postag="NN"/>
                <token>of</token>
                <token postag="NNS"/>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token regexp="yes">long|short</token>
                <token>term</token>
            </antipattern>
            <antipattern><!-- Semantics: a provider of operations support applications for -->
                <token>of</token>
                <token>operations</token>
                <token>support</token>
                <token>applications</token>
                <token postag="IN"/>
            </antipattern>
            <pattern>
                <token postag="NN">
                    <exception postag="^(?!.*NN(?!(S|P))).*$" postag_regexp="yes"/>
                    <exception regexp="yes">(\w*s\b|kind|lot|majority|pair|bunch|handful|couple|ton|number)</exception>
                </token>
                <token>of</token>
                <token postag="NNS">
                    <exception postag="^(?!.*(NNS|VBZ)).*$" postag_regexp="yes"/>
                    <exception>people</exception>
                </token>
                <marker>
                    <token postag="VBP">
                        <exception postag="RB|IN|MD" postag_regexp="yes"/>
                        <exception>please</exception>
                    </token>
                </marker>
            </pattern>
            <message>Possible verb agreement error. Did you mean <suggestion><match no="4" postag="VBZ"/></suggestion>? (Some collective nouns can be treated as both singular and plural, so '\4' is not always incorrect.)</message>
            <url>https://www.lexico.com/definition/collective_noun</url>
            <example correction="is">A fleet of ships <marker>are</marker> spotted.</example>
            <example correction="documents">This data from the Book of Trades <marker>document</marker> the changes to society.</example><!-- #2410 -->
            <example>A fleet of ships <marker>is</marker> spotted.</example>
            <example>...involvement of the inhabitants drove the band of thugs <marker>out</marker> of the town.</example>
            <example>I'm taking a couple of days <marker>off</marker>.</example>
            <example>What sort of curtains <marker>do</marker> you think would go with the carpet?</example>
            <example><marker>References to the concept of atoms</marker> date back to ancient Greece and India.</example>
            <example>...at the periphery of syllables like consonants, and moves at...</example>
            <example>Today an impression of some of those original textile tradesmen can be had from the Book of Trades document created by Thomas.</example><!-- #2410 -->
            <example>For a detailed Table of Contents please open the attached file.</example>
            <example>Two antipopes used the regnal name Victor IV: Laws are adopted by majority vote of members present or, if the president demands a second reading, of a total membership.</example>
            <example>He carried a bag of <marker>algae bread</marker> in his wings.</example><!-- #2420 -->
            <example>Only a handful of activists <marker>are</marker> articulate in our union.</example>
            <example>A couple of swallows <marker>are</marker> flying overhead.</example>
            <example>Only a handful of men <marker>want</marker> to take childcare leave.</example>
            <example>Laws are adopted by majority vote of members present or, if the president...</example><!-- #3762 -->
            <example>Only at the very end of the chain of actions can we expect the outcome to change.</example>
            <example>The jokes that Tom makes about the land of kangaroos don't make us think that he will be a very successful comedian.</example><!-- #4499 -->
            <example>Telution, a provider of operations support applications for the ordering, delivery...</example>
        </rule>
        <rule id="POKEMON" name="Pokémon">
            <pattern>
                <token>Pokemon</token>
            </pattern>
            <message>The name of this game or TV show is spelled with an accent.</message>
            <suggestion>Pokémon</suggestion>
            <url>https://en.wikipedia.org/wiki/Pok%C3%A9mon</url>
            <example correction="Pokémon">I have collected almost all of the <marker>Pokemon</marker>.</example>
        </rule>
        <rule id="POKEMONS" name="Plural of Pokémon">
            <pattern>
                <token regexp="yes">Pok[eé]mons</token>
            </pattern>
            <message>The plural of 'Pokémon' is <suggestion>Pokémon</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Pok%C3%A9mon#Name</url>
            <example correction="Pokémon">I have collected almost all of the <marker>Pokemons</marker>.</example>
        </rule>
        <rule id="POKEMON_GO" name="Pokémon Go">
            <pattern>
                <token regexp="yes">Pok[eé]mon</token>
                <token case_sensitive="yes">go</token>
            </pattern>
            <message>The mobile game <suggestion>Pokémon <match no="2" case_conversion="startupper" /></suggestion> is usually capitalized.</message>
            <url>https://en.wikipedia.org/wiki/Pok%C3%A9mon_Go</url>
            <example correction="Pokémon Go"><marker>Pokemon go</marker> is a 2016 augmented reality (AR) mobile game.</example>
        </rule>
        <rule id='COLLECTIVE_NOUN_VERB_AGREEMENT_VBD' name='a fleet of ships have (has)'>
            <pattern>
                <token postag='NN'>
                    <exception postag='^(?!.*NN(?!(S|P))).*$' postag_regexp='yes'/>
                    <exception regexp='yes'>(\w*s\b|couple|kind|lot|majority|pair)</exception>
                </token>
                <token>of</token>
                <token postag='NNS'>
                    <exception postag='^(?!.*(NNS|VBZ)).*$' postag_regexp='yes'/>
                    <exception>people</exception>
                </token>
                <marker>
                    <token regexp='yes'>(were|have)</token>
                </marker>
            </pattern>
            <message>Possible agreement error</message>
            <suggestion><match no='4' postag='VBZ'/></suggestion>
            <example correction="has">A fleet of ships <marker>have</marker> been spotted.</example>
            <example>A fleet of ships <marker>has</marker> been spotted.</example>
            <example>A couple of developers have let me know they are discussing your issue.</example><!-- #2354 -->
        </rule>
        <rulegroup id="SINGULAR_VERB_AFTER_THESE_OR_THOSE" name="Singular verb after 'these' or 'those'">
            <rule>
                <pattern>
                    <token regexp='yes'>th[eo]se<exception scope="previous" regexp="yes">of|like</exception></token>
                    <token postag='VBZ'/>
                </pattern>
                <message>The verb '\2' is singular. Did you mean: <suggestion>This <match no="2"/></suggestion> or <suggestion><match no="1"/> <match no="2" postag="VBP"/></suggestion>?</message>
                <short>Grammar error</short>
                <example correction='This includes|These include'><marker>These includes</marker> the ring and the compass.</example>
                <example>The most common of <marker>these is</marker> dot 5, which combines with the first letter of words.</example>
           </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>th[eo]se<exception scope="previous">of</exception></token>
                    <token postag='CD'><exception>one</exception></token>
                    <token postag='VBZ'><exception postag="NNS"/><exception inflected="yes">be</exception></token>
                </pattern>
                <message>The verb '\3' is singular. Did you mean: <suggestion>\1 \2 <match no="3" postag="VBP"/></suggestion>?</message>
                <short>Grammar error</short>
                <example correction='these two contain'>Make sure that <marker>these two contains</marker> sufficient examples.</example>
                <example correction='These three include'><marker>These three includes</marker> the battery and the instructions.</example>
                <example>Make sure that <marker>these two contain</marker> sufficient examples.</example>
                <example>The most common of <marker>these two live</marker> in arid regions.</example>
                <example><marker>Two is</marker> a cardinal number.</example>
                <example>Between these two classes a struggle must go on until...</example><!-- Premium #1795 -->
<!-- TODO -->   <example>Although <marker>those four usually lives</marker> in dark places, other plants prefer sunshine.</example>
<!-- TODO -->   <example><marker>These usually eats</marker> only vegetables, unlike their carnivorous cousins.</example>
<!-- TODO -->   <example>... but <marker>those four usually (if the software operates correctly) detects</marker> the problem.</example>
           </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>th[eo]se<exception scope="previous">of</exception></token>
                    <token postag='CD'><exception>one</exception></token>
                    <token regexp='yes'>is|was</token>
                </pattern>
                <message>The verb '\3' is singular. Did you mean the plural (are or were)?</message>
                <short>Grammar error</short>
                <example correction=""><marker>Those two is</marker> nice.</example>
                <example correction=""><marker>These three is</marker> the most important.</example>
                <example correction="">Are you sure that <marker>these two was</marker> sufficient examples?</example>
                <example><marker>Those two are</marker> nice.</example>
                <example>The most common of <marker>these two is</marker> on the outside.</example>
           </rule>
        </rulegroup>

        <rulegroup id="PLURAL_VERB_AFTER_THIS" name="Plural verb after 'this' or 'that'">
            <!-- Created by Tiago F. Santos, 2018-09-15. Edited by MFU 2018-12-10, 2019-01-28, 2019-05-13, 2020-02-06 -->
            <antipattern><!--  does this book...? / Does this extend...? -->
                <token regexp='yes'>does|did|is|was</token>
                <token min='0' max='1' postag='PDT'/>
                <token regexp='yes'>th(?:is|at)</token>
                <token skip="-1" postag_regexp="yes" postag='NN(:UN?)?|VB[DP]?'/>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token>only</token>
                <token regexp="yes">does|did</token>
                <token>this</token>
                <token min='0' postag_regexp='yes' postag='NN(:U|P)?' />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- You made this don't you? -->
                <token skip="1" regexp="yes">this|that</token>
                <token postag="VBP" />
                <token>n't</token>
                <token regexp="yes">you|we|they</token>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token postag="WP|WRB|SENT_START|PCT|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">does|did|is|was|has|have|had</token>
                <token regexp='yes'>th(?:is|at)</token>
                <token min='0' postag_regexp='yes' postag='NN(:U|P)?' />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="WP|WRB|SENT_START|PCT" postag_regexp="yes" />
                <token regexp="yes">does|did|is|was|has|have|had</token>
                <token>n't</token>
                <token regexp='yes'>th(?:is|at)</token>
                <token min='0' postag_regexp='yes' postag='NN(:U|P)?' />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!--  will this [dictionary] do...? -->
                <token postag='MD'/>
                <token regexp='yes'>th(?:is|at)</token>
                <token skip="-1" postag_regexp="yes" postag='VBP?|NN(:UN?)?'/>
                <token>?</token>
            </antipattern>
            <antipattern><!--  that sheep eat grass -->
                <token>that</token>
                <token postag='NNS'/>
                <token postag='VB[DP]?' postag_regexp='yes'/>
            </antipattern>
            <antipattern><!--  This Sunday let's. The sentence is better with a comma after Sunday, but that problem not applicable to this rule. Abbreviations are unlikely and are not good style, but the problem is not applicable to this rule. -->
                <token>this</token>
                <token regexp='yes'>&weekdays;|&abbrevWeekdays;|&months;|&abbrevMonths;</token>
                <token>let</token>
                <token spacebefore='no'>'s</token>
            </antipattern>
            <antipattern><!--  living costs this month are -->
                <token chunk="E-NP-plural"/>
                <token>this</token>
                <token postag='NN(:UN?)?' postag_regexp='yes'/>
                <token postag='VB[DP]?' postag_regexp='yes'/>
            </antipattern>
            <antipattern><!-- Authors who assert this thesis include... -->
                <token postag='VB.*' postag_regexp='yes'/><!-- Necessary to prevent FP on: This word have errors. -->
                <token>this</token>
                <token chunk="E-NP-singular"/>
                <and>
                    <token chunk="B-VP"/>
                    <token postag='VB[DP]?' postag_regexp='yes'/>
                </and>
            </antipattern>
            <antipattern><!-- #2257 Doesn't this belong to the new repository? -->
                <token regexp='yes'>does|did</token>
                <token>n't</token>
                <token skip='-1' regexp='yes'>th(?:is|at)</token>
                <token>?</token>
            </antipattern>
            <antipattern><!-- #2257 Shouldn't this belong to the new repository? -->
                <token postag='MD'/>
                <token>n't</token>
                <token skip='-1' regexp='yes'>th(?:is|at)</token>
                <token>?</token>
            </antipattern>
            <antipattern><!-- #2259 I’ve had this happen twice now. -->
                <token inflected='yes'>have</token>
                <token regexp='yes'>th(?:is|at)</token>
                <token postag='VB[DP]' postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- #2411 remove this agree button on this -->
                <token postag='VB.*' postag_regexp='yes'/>
                <token regexp='yes'>th(?:is|at)</token>
                <token postag='VB[DP]?' postag_regexp='yes'/>
                <token chunk="E-NP-singular" postag='NN(:UN?)?' postag_regexp='yes'/>
                <token postag='IN'/>
                <token postag='DT|PRP\$' postag_regexp='yes'/>
            </antipattern>
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes" />
                <token regexp='yes'>th(?:is|at)</token>
                <token min="0" />
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">those|many</token>
                <token>that</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|this</token>
                <token>auto</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- That all look the same -->
                <token>that</token>
                <token>all</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- This error and this fail are the reason ... -->
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">&amp;|and|n?or</token>
                <token regexp="yes">this|that</token>
                <token postag="VBP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">this|that</token>
                <token regexp="yes">google|skype|excel</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token skip="5">if</token>
                    <token>this</token>
                    <token>were</token>
                </antipattern>
                <pattern>
                    <token>
                        this
                        <exception scope="previous" postag='IN'/>
                        <exception postag='W.+' postag_regexp='yes'/>
                        <exception postag='MD' scope='previous' regexp='yes'>will|would|shall|should|may|might|can|could|must</exception><!-- https://www.englishgrammar.org/bare-infinitive-2/ -->
                        <exception postag='VB.*' postag_regexp='yes' scope='previous' regexp='yes' inflected='yes'>let|make|see|hear|need</exception>
                    </token>
                    <token postag="CD" min="0">
                        <exception regexp="yes">one|1</exception>
                    </token>
                    <token regexp="yes">are|were</token>
                </pattern>
                <message>The verb '\3' is plural. Did you mean <suggestion>these \2 \3</suggestion>, <suggestion>\1 \2 is</suggestion> or <suggestion>\1 \2 was</suggestion>?</message>
                <example correction="These are|This is|This was"><marker>This are</marker> the options.</example>
                <example correction="These two are|This two is|This two was"><marker>This two are</marker> the options.</example>
                <example correction="these were|this is|this was">I wish all <marker>this were</marker> a little simpler to set up! </example>
                <example correction="These are|This is|This was"><marker>This are</marker> my notes.</example>
                <example correction="These were|This is|This was"><marker>This were</marker> the days…</example>
                <example>Would be great if this were true.</example>
                <example>The last 2 times I’ve had to do this were successful, so here’s how I did it.</example>
                <example>Again, people who did this were people who found that the more general solutions.</example>
                <example>Is this were Carl comes into it?</example>
            </rule>
            <rule>
                <antipattern><!--  #2653 hit that last submit button -->
                    <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/>
                    <token regexp="yes">th(is|at)</token>
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="JJR?"/>
                    <token chunk="I-NP-singular" postag="VBP"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- #2674 Hosts using that package don't -->
                    <token regexp="yes">this|that</token>
                    <token chunk="E-NP-singular"/>
                    <token postag_regexp="yes" postag="VBP?"/>
                    <token>n't</token>
                </antipattern>
                <antipattern><!-- #2674 Hosts using that package do not -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token chunk="B-VP" postag="VBG"/>
                    <token/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- "this subscribe functionality has ..." -->
                    <token>this</token>
                    <token postag="VBP" />
                    <token regexp="yes">request|functionality|feature|button</token>
                    <token postag="VB[ZD]" postag_regexp="yes" chunk="B-VP" />
                </antipattern>
                <antipattern><!-- Fred and this customer have ... / Premium #1795 this boy and this girl -->
                    <token postag_regexp="yes" postag="NNP|NN(:UN?)?" />
                    <token regexp="yes">and|&amp;</token>
                    <token>this</token>
                </antipattern>
                <antipattern><!-- These are very aggressive markets given the liquidity issues and regulatory uncertainty that still exist in the Eastern Interconnect. -->
                    <token chunk_re="E-NP-plural" />
                    <token regexp="yes">and|or|&amp;</token>
                    <token chunk_re="B-NP-.*" min="0" />
                    <token chunk_re="I-NP-.*" min="0" />
                    <token chunk_re="E-NP-.*" />
                    <token>that</token>
                </antipattern>
                <antipattern><!-- These are very aggressive markets given the liquidity issues and regulatory uncertainty that still exist in the Eastern Interconnect. -->
                    <token chunk_re="E-NP-plural" />
                    <token postag="IN" />
                    <token chunk_re="B-NP-.*" min="0" />
                    <token chunk_re="I-NP-.*" min="0" />
                    <token chunk_re="E-NP-.*" />
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>
                        th(?:is|at)
                        <exception scope="previous" postag='IN'/>
                        <exception postag='W.+' postag_regexp='yes'/>
                        <exception postag='MD' scope='previous' regexp='yes'>will|would|shall|should|may|might|can|could|must</exception><!-- https://www.englishgrammar.org/bare-infinitive-2/ -->
                        <exception scope='previous' regexp='yes'>does|did</exception>
                        <exception postag='VB.*' postag_regexp='yes' scope='previous' regexp='yes' inflected='yes'>let|make|see|hear|need</exception>
                    </token>
                    <token min='0' postag_regexp='yes' postag='NN(:U|P)?'>
                        <exception regexp='yes'>can|one|google|excel|then|if|his|species|week|maybe</exception>
                        <exception postag="W.*" postag_regexp="yes" />
                        <exception regexp="yes">two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</exception>
                    </token>
                    <marker>
                    <token postag='VBP?' postag_regexp='yes'>
                        <exception negate_pos='yes' postag='VBP?' postag_regexp='yes'/>
                        <exception regexp="yes">be|am|have</exception>
                    </token>
                    </marker>
                </pattern>
                <message>The verb '\3' is plural. Did you mean: <suggestion><match no="3" postag="VBZ"/></suggestion>? Did you use a verb instead of a noun?</message>
                <short>Grammar error</short>
                <example correction='eats'>You know this sheep <marker>eat</marker> grass, don't you?</example>
                <example correction='writes'>This <marker>write</marker> have many defects; he is careless, slow, and lazy.</example><!-- Should be a noun: writer -->
                <example correction='agrees'>Sometimes the garment codes do not agree, but if this <marker>agree</marker> button the garments carefully.</example><!-- #2411 -->
                <example correction='agrees'>... but if this <marker>agree</marker> button on your buttons carefully.</example><!-- #2411 'button on' is not a standard phrasal verb. -->
                <example correction="is">The city is popular, and this marketing <marker>are</marker> bad for you.</example>
                <example correction="does">due to the fact that this counterparty <marker>do</marker> not pass the CFTC test</example>
                <example correction="represents">everyone is out for blood and looking to end a company that still <marker>represent</marker> the same work it did before</example>
                <example>Certain frogs that lay eggs underground have unpigmented eggs.</example>
                <example>... blocs; other organisational tactics pioneered in this time include security culture, affinity groups and the use of ...</example>
                <example>Anything that can be misunderstood will be.</example>
                <example>...t is someone who knows some of the worst mistakes that can be made in his field, and how to avoid them.</example>
                <example>...mptoms that are independent of the diagnosis, but that can affect the individual or the family.</example>
                <example>The rooms in this hotel are really very bad at muffling sounds. I can hear my...</example>
                <example>...us quality or status: A-, A or A+, the best grade that can be assigned by teachers for students' schoolwork; A ...</example>
                <example>In this temple are also deposited a great many holy gifts, craters, ...</example>
                <example>Academy Awards not protected by this agreement have been sold in public auctions and private deals fo...</example>
                <example>Why did this have to happen ...</example>
                <example>Fred and this customer have had a falling out and the customer has decided to unwind his position and take his business elsewhere.</example>
                <example>Why didn't this happen earlier?</example>
                <example>I tried calling you this am but your phone rolled to someone else's voicemail.</example>
                <example>Reading this how do you feel?</example>
                <example>This week do you want to finish the task finally?</example>
                <example>This reopen request has been marked as invalid.</example>
                <example>These are very aggressive markets given the liquidity issues and regulatory uncertainty that still exist in the Eastern Interconnect.</example>
                <example>A similar situation arose from the French revolution, which caused fractures in France that still exist.</example>
                <example>This accept button is too large.</example>
                <example>Those that struggle are often ...</example>
                <example>This error and this fail are the reason.</example>
                <example>Not only does this create seperational cases, ...</example>
                <example>Research has found that people are more altruistic to kin than to no-kin, to friends...</example>
                <example>Research has found that people are most likely to help if they recognize that a pers...</example>
                <example>...hical concepts to be presented in a concrete form that can be easily grasped, thereby fulfilling a need of huma...</example>
                <example>Reasons for this include Morocco's disputed claim to portions of western A...</example>
                <example>...icant success, is a chronicle of the difficulties that can meet the urban youth.</example>
                <example>This does give her the satisfaction she desires and she continue...</example>
                <example>...n-eating amoeba") is a fresh-water-native species that can be fatal to humans if introduced through the nose.</example>
                <example>...merican Standard Code for Information Interchange (ASCII, ;) is a character-encoding scheme originall...</example>
                <example>... similar to the related puppet animation (below), that can be manipulated to pose the figures.</example>
                <example>...nal digital skeletal structure called an armature that can be used to control the mesh with weights.</example>
                <example>...nto Apollo the highest degree of power and beauty that can be imagined.</example>
                <example>...s and movable eyelids, and most species have ears that can detect airborne or ground vibrations.</example>
                <example>...t also has a pair of short tentacles near the eye that can be extended and which have tactile and olfactory fun...</example>
                <example>...The short 100-day growing season limits the crops that can be grown, but the long sunny summer days make for pr...</example>
                <example>...undup Ready seeds allow the farmer to grow a crop that can be sprayed with glyphosate to control weeds without ...</example>
                <example>There is no limit to the number of carbon atoms that can be linked together, the only limitation being that t...</example>
                <example>Wheelchairs are a prosthetic devices that can be manually propelled or electrically propelled and ...</example>
                <example>Other medical devices and aids that can be considered prosthetics include hearing aids, arti...</example>
                <example>...stics and performance of products are consistent, that people use the same definitions and terms, and that products...</example>
                <example>...n anatomy being the study of anatomical landmarks that can be readily seen from the contours or the surface of ...</example>
                <example>...s the beams creates an even load-bearing pressure that can last for many years depending on attrition.</example>
                <example>This helps explain why the Articles of Confederation needed reforms....</example>
                <example>...nergy, and desire; it is the closest word we have that can signify both the real essence of all external things and ...</example>
                <example>Many regions in this country have high incidence rates of tuberculosis and high HIV...</example>
                <example>...nd both the public and separate school systems in that city are counted in the above numbers: both of them operat...</example>
                <example>Another interesting source of energy is the heat that can be recovered from radioactive waste material.</example>
                <example>...ced by the ruling party in its reporting, whether that party be left or right wing.</example>
                <example>Bob is the only student that can speak Spanish in our class.</example>
                <example>... armed forces embrace several military sub-groups that can be involved in state defense when needed.</example>
                <example>Setting circles are angular measurement scales that can be placed on the two main rotation axes of some tele...</example>
                <example>...f aesthetic objects, environments, or experiences that can be shared with others".</example>
                <example>...evel of creative expertise by the artist, whether this be a demonstration of technical ability, an original...</example>
                <example>Pan is a monkey that can spread butter on bread.</example>
                <example>...an be considered to be any sequence of operations that can be simulated by a Turing-complete system.</example>
                <example>Authors who assert this thesis include Minsky (1967), Savage (and Gurevich (2000):...</example>
                <example>...rily intended for expressing algorithms in a form that can be executed by a computer, but are often used as a w...</example>
                <example>...ut I suppose that it could do very completely all that can be rationally expected of any logical machine".</example>
                <example>...rmal definition: "...any sequence of instructions that can be obeyed by a robot, is called an algorithm" (p. 4)...</example>
                <example>...is called alta ligeantia, and those that owe this are called subditus natus;</example>
                <example>Did this backpack belong to him?</example>
                <example>How many subscribers does this magazine have?</example>
                <example>Who does this suitcase belong to?</example>
                <example>Is this fish still alive?</example>
                <example>What could be done to help this species thrive?</example><!-- plural of "species" is "species" -->
                <example>Will this dictionary do?</example>
                <example>Might that test suffice for now?</example>
                <example>You really hate this don't you?</example>
                <example>You know that sheep eat grass, don't you?</example>
                <example>Not many people know that carp eat tadpoles.</example>
                <example>This Sunday let's go for a drive and see where we end up.</example>
                <example>Living costs this month are lower than those of last month are.</example>
                <example>Don't let this discourage you from trying it again.</example>
                <example>I can't afford a new car, so I'll have to make this one do.</example>
                <example>Does this extend to the test?</example>
                <example>What does all this add up to?</example>
                <example>"Will this do now?", she asked.</example>
                <example>This error and this fail are the reason...</example>
                <example>I don't see this happen anymore.</example>
                <example>... but would this happen if the ...</example>
                <example>... but letting this occur was not my intention.</example>
                <example>... by making this disambiguate correctly.</example>
                <example>Doesn't this belong to the new repository?</example><!-- #2257 -->
                <example>Shouldn't this belong to the new repository?</example><!-- #2257 -->
                <example>Won't this prevent errors?</example><!-- #2258 -->
                <example>Any suggestions on how I can achieve this are most appreciated.</example><!-- #2258 -->
                <example>I’ve had this happen twice now.</example><!-- #2258 -->
                <example>You can then use this tamper alert to set off the alarm using SHM.</example><!-- #2258 -->
                <example>Has anyone had this happen?</example><!-- #2258 -->
                <example>I had this happen to me for one of the older on/off versions.</example><!-- #2258 -->
                <example>... but having this occur three times now makes me angry.</example><!-- #2258 -->
                <example>Now they remove this <marker>agree button</marker> on this website.</example><!-- #2411 -->
                <example>It happens when you hit that last submit button.</example><!-- #2653 -->
                <example>Hosts using that package don't block all traffic.</example><!-- #2674 -->
                <example>Hosts using that package do not block all traffic.</example><!-- #2674 -->
                <example>People evaluating this test don't always find all the errors.</example><!-- #2674 -->
                <example>I think this test don't always work.</example><!-- #2674 -->
                <example>To do this please click on any of the following URLs.</example>
                <example>Michelle, can you attend this please.</example>
                <example>Let's schedule this please.</example>
                <example>Mark and Jim, As you analyze this please take into consideration any insurance requirements of the AEL.</example>
                <example>If you have any reservation about me forwarding this please let me know.</example>
                <example>This boy and this girl are very clean.</example><!-- Premium #1795 -->
                <example>... and security dollars, and that if Obey is unsuccessful in committee, he will that will be off the table.</example><!--  #4233 -->
                <example>The question is how much damage does this do externally.</example>
                <example>We sell houses that all look the same.</example>
                <example>Because of the lack of notice, the six days of rolling blackouts so far this year have led to pileups at intersections suddenly left without stoplights, people trapped in elevators, and losses caused by stopped production lines.</example>
           </rule>
           <rule> <!-- 'this' as a determiner -->
                <antipattern>
                    <token skip="-1" chunk="E-NP-plural" />
                    <token>this</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|RP|TO|V.*" postag_regexp="yes" />
                    <token>this</token>
                </antipattern>
                <antipattern>
                    <token>and</token>
                    <token min="0" postag="PDT" />
                    <token>this</token>
                </antipattern>
                <pattern>
                    <token>this</token>
                    <token min='0' postag_regexp='yes' postag='NN(:UN?)?'>
                        <exception regexp='yes'>can|deal|one|google|excel|then|if|his|species|week|maybe</exception>
                        <exception postag="W.*" postag_regexp="yes" />
                        <exception regexp="yes">two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</exception>
                    </token>
                    <token>have</token>
                </pattern>
                <message>The verb '\3' is plural.</message>
                <suggestion>\1 \2 has</suggestion>
                <suggestion>these <match no="2" postag="NNS" /> \3</suggestion>
                <suggestion>\1 \2 had</suggestion>
                <example correction="This girl has|These girls have|This girl had"><marker>This girl have</marker> beautiful eyes.</example>
                <example>Southwest Prices in the San Juan Basin this summer have been left behind by rising California demand.</example>
                <example>This is not functionality that we have built in or at this point have plans of adding.</example>
                <example>The demons who started this have no idea about the kind of people they have taken on.</example>
                <example>Fred and this customer have had a falling out.</example>
            </rule>
            <rule> <!-- 'that' as a determiner -->
                <antipattern>
                    <token chunk_re="B-SBAR|B-PP" />
                    <token chunk_re="B-NP.*" />
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-plural" />
                    <token>that</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|RP|TO" postag_regexp="yes" />
                    <token>that</token>
                </antipattern>
                <antipattern>
                    <token>those</token>
                    <token>of</token>
                    <token postag="PRP" />
                    <token>that</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|see</token>
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token>that</token>
                    <token postag_regexp='yes' postag='NN(:UN?)?'>
                        <exception regexp='yes'>can|deal|one|google|excel|then|if|his|species|week|maybe</exception>
                        <exception postag="RB|UNKNOWN|W.*" postag_regexp="yes" />
                        <exception regexp="yes">two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</exception>
                    </token>
                    <token>have</token>
                </pattern>
                <message>The verb '\3' is plural.</message>
                <suggestion>\1 \2 has</suggestion>
                <suggestion>those <match no="2" postag="NNS" /> \3</suggestion>
                <suggestion>\1 \2 had</suggestion>
                <example correction="That guy has|Those guys have|That guy had"><marker>That guy have</marker> lots of problems.</example>
                <example>Studies have shown that lobbyists have become less influential in state politics.</example>
                <example>Costs about $100, items that fail have to be repaired to pass but reinspection is free.</example>
                <example>Cats of that breed have no tail.</example>
                <example>For those of you that have not signed up, please join us for the Walk.</example>
                <example>I would recommend that Netco anoint a Primary Point of Contact with each Pool and Transmission Provider and that person have the resources.</example>
                <example>I don't think I see that gem have an impact in even 10% of my games.</example>
            </rule>
            <rule> <!-- 'that' as an SBAR -->
                <antipattern>
                    <token chunk_re="B-NP.*" /> <!-- to exclude 'that' being used as a determiner -->
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token skip="-1" chunk="E-NP-plural">
                        <exception scope="next" postag="VB[DGNZ]" postag_regexp="yes" />
                    </token>
                    <token>that</token>
                </antipattern>
                <antipattern>
                    <token postag="V.*" postag_regexp="yes" />
                    <token>that</token>
                    <token regexp="yes">everyone|poetry</token>
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token>that</token>
                </antipattern>
                <antipattern> <!-- subjunctive mood -->
                    <token>it</token>
                    <token inflected="yes">be</token>
                    <token min="0" postag="RB" />
                    <token postag="J.*" postag_regexp="yes" />
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token>that</token>
                    <marker>
                        <token postag_regexp='yes' postag='NN(:UN?)?'>
                            <exception regexp='yes'>can|deal|one|google|excel|then|id|if|his|species|summons|week|maybe</exception>
                            <exception postag="W.*" postag_regexp="yes" />
                            <exception regexp="yes">two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</exception>
                        </token>
                        <token>have</token>
                    </marker>
                </pattern>
                <message>The verb '\3' is plural.</message>
                <suggestion>\2 has</suggestion>
                <suggestion><match no="2" postag="NNS" /> \3</suggestion>
                <example correction="lobbyist has|lobbyists have">Studies have shown that <marker>lobbyist have</marker> become less influential in state politics.</example>
                <example>I see that problem have not been resolved.</example> <!-- 'that' used as a DT not an SBAR -->
                <example>I'm replacing some of my existing z-wave switches with newer ones and want to put the old ones elsewhere in the house that still have regular switches.</example>
                <example>Since it is difficult to distinguish the symptoms of anthrax from the flu, the CDC has recommended that everyone have a flu shot.</example>
                <example>Olson continued that in a postmodern age that continually attempted to demand that poetry have social reference, none could be found in Thomas's work.</example>
                <example>There are a couple midsize suv's that now have a third seat (although the seat it is closer to the ground).</example>
                <example>While it is important that everyone have fun, it is more important that we are a seen as a professional organization.</example>
                <example>There will not be much time to have long conversations, but it is very important that everyone have the same understanding what the numbers mean.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THIS_NNS_VB" name="this + plural noun + verb (these)">
            <rule>
                <antipattern><!-- This works best-->
                    <token>This</token>
                    <token postag='VB.*' postag_regexp='yes' chunk="B-VP" />
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- This causes brake companies ALL kinds of headaches!-->
                    <token>This</token>
                    <token postag='VB.*' postag_regexp='yes' chunk="B-VP" />
                    <token chunk_re="B-NP.*" />
                </antipattern>
                <antipattern><!-- This gets detected as danish -->
                    <token>this</token>
                    <token>gets</token>
                    <token postag="VBD" />
                </antipattern>
                <antipattern><!-- This makes sense-->
                    <token>this</token>
                    <token regexp="yes">makes|works|gets|needs|increases|decreases</token>
                    <token postag="NN:UN?|JJ|VBG" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- This raises transfer pricing issues. (incorrect tagging) -->
                    <token>this</token>
                    <token postag="VBZ" />
                    <token postag="NN:UN?" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="B-NP.*" />
                </antipattern>
                <antipattern><!-- This reverts commit abcdef00. -->
                    <token>this</token>
                    <token postag="VBZ" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="[BI]-NP.*" />
                    <token postag="CD|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z0-9].*</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token postag="VBZ" />
                    <token regexp="yes">&uncommon_verbs;|back</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token postag="VBZ" />
                    <token postag="VBG" />
                </antipattern>
                <antipattern><!-- This wines finish is almost overwhelming with a serious explosion of cherry fruit. -->
                    <token>this</token>
                    <token postag="NNS" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="VB[DZ]" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token>takes</token>
                    <token>place</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token regexp="yes">fixes|reverts</token>
                    <token regexp="yes">issue|bug|commit</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" min="0">and|but|if|once|when|oh|yeah|yes|no</token>
                    <token min="0">,</token>
                    <marker>
                        <token case_sensitive="yes">This</token>
                    </marker>
                    <token postag='NNS'>
                        <exception postag='NN:UN?' postag_regexp="yes" />
                        <exception postag='NNP?' postag_regexp="yes" />
                        <exception regexp="yes">does|helps|fish|class</exception>
                    </token>
                    <token postag='VB.*' postag_regexp='yes'>
                        <exception>like</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                        <exception postag="VBZ" /><!-- avoid incorrect suggestion -->
                    </token>
                </pattern>
                <message>Did you mean <suggestion>these</suggestion>?</message>
                <example correction='These'><marker>This</marker> images are beautiful.</example>
                <example correction="These"><marker>This</marker> results missed the consensus estimate by $0.14 per share.</example>
                <example correction="These"><marker>This</marker> guys have made a start.</example>
                <example>This tastes pretty good to me.</example>
                <example>This makes access to the RawLine superfluous.</example><!-- #2436 -->
                <example>This gets detected as Danish.</example>
                <example>This makes sense.</example>
                <example>This works best</example>
                <example>This needs specialized people.</example>
                <example>This gets shopped to all new investors.</example>
                <example>This combines armored defenses with maintaining flexibility.</example>
                <example>This needs addressed.</example>
                <example>This raises transfer pricing issues.</example>
                <example>This causes brake companies ALL kinds of headaches!</example>
                <example>This looks ok to me.</example>
                <example>This stops running after a few times.</example>
                <example>This opens up the possibility.</example>
                <example>This picks up the methods, but rolls them up under “HelloWorld”.</example>
                <example>This leaves open the possibility for action to make a difference.</example>
                <example>This increases edge contrast and readability.</example>
                <example>This dates back to cave paintings.</example>
                <example>This clothes bag is invaluable.</example>
                <example>This earnings decrease was expected, as many leading publishers have been hurt by a advertising slump and the September attacks.</example>
                <example>This earnings season has been disastrous for many companies that seemed to have announced good earnings.</example>
                <example>This fixes issue with empty selection in the tree.</example>
                <example>This wines finish is almost overwhelming with a serious explosion of cherry fruit.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>leaves</token>
                    <token>open</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" min="0">and|but|if|once|when|oh|yeah|yes|no</token>
                    <token min="0">,</token>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token postag="NNS">
                        <exception postag='NN:UN?' postag_regexp="yes" />
                        <exception postag='NNP?' postag_regexp="yes" />
                        <exception regexp="yes">does|helps|fish|class</exception>
                    </token>
                    <token postag="VB[DP]" postag_regexp="yes">
                        <exception postag="IN|RB.*" postag_regexp="yes" />
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token regexp="yes" case_sensitive="yes">an?|the|my|y?our|his|her|their</token>
                </pattern>
                <message>Did you mean <suggestion>these</suggestion>?</message>
                <example correction="These"><marker>This</marker> deals converted a fixed deal back to an index deal.</example>
                <example correction="These"><marker>This</marker> steps include the following actions.</example>
                <example>This aircraft was the last C-17 produced.</example>
                <example>This smells like a real issue to me.</example>
                <example>This leaves open the possibility for action to make a difference.</example>
                <example>This gives back the above δ-ε definition.</example>
                <example>This makes water the element with the greatest number of sides.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token>this</token>
                    </marker>
                    <token postag='NNS'>
                        <exception postag_regexp="yes" postag='NN(:UN?)?|NNP|VBZ|RB'/>
                    </token>
                    <token postag='SENT_END' regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>these</suggestion>?</message>
                <example correction='these'>Can LanguageTool find <marker>this</marker> errors?</example>
                <example>There is no poison in this fish.</example>
                <example>I know how this looks.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ONE_OF" name="one of the JJR + plural">
            <rule>
                <pattern case_sensitive="yes">
                    <token>One</token>
                    <token case_sensitive="yes">of</token>
                    <token case_sensitive="yes">the</token>
                    <token postag="JJS"></token>
                    <marker><token postag="NN(:UN?)?" postag_regexp="yes"><exception postag_regexp="yes" postag="VB[GP]|NNS|CD|JJ.?|MD"/></token></marker>
                    <token inflected="yes" regexp="yes">\W+|be|to|in</token>
                </pattern>
                <message>Please check whether a plural form of '\5' should be used.</message>
                <suggestion>\5s</suggestion>
                <example correction="complaints">One of the biggest <marker>complaint</marker> is that...</example>
            </rule>
            <rule>
                <pattern>
                    <token>One</token>
                    <token case_sensitive="yes">of</token>
                    <token case_sensitive="yes">the</token>
                    <token case_sensitive="yes">most</token>
                    <token postag="RB" min="0"></token>
                    <token postag="JJ"></token>
                    <marker><token postag="NN(:UN?)?" postag_regexp="yes"><exception postag_regexp="yes" postag="VB[GP]|NNS|CD|JJ.?|MD"/></token></marker>
                    <token inflected="yes" regexp="yes">\W+|be|to|in</token>
                </pattern>
                <message>Please check whether a plural form of '\7' should be used.</message>
                <suggestion>\7s</suggestion>
                <example correction="places">One of the most painful <marker>place</marker> to get...</example>
                <example correction="meals">One of the most frequently ordered <marker>meal</marker> ...</example>
            </rule>
        </rulegroup>

        <rule id="PEOPLE_VBZ" name="people + 3rd person verb">
            <antipattern>
                <token>of</token>
                <token postag="DT" min="0" max="2"/>
                <token postag="JJ[RS]?" postag_regexp="yes" min="0"/>
                <token>people</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token postag="JJR?" postag_regexp="yes"/>
                <token regexp="yes">,|and|or</token>
                <token postag="JJR?" postag_regexp="yes"/>
                <token>people</token>
            </antipattern>
            <antipattern>
                <token postag="VBG"/>
                <token postag="DT" min="0"/>
                <token>people</token>
            </antipattern>
            <antipattern><!-- My advice to people is -->
                <token postag="PRP$"/>
                <token postag="JJ" min="0" max="1"/>
                <token postag="NN(:UN?)?" postag_regexp="yes"/>
                <token>to</token>
                <token>people</token>
            </antipattern>
            <antipattern><!-- the freedom given to people -->
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="VBN"/>
                <token>to</token>
                <token>people</token>
            </antipattern>
            <antipattern><!-- Anxiety when meeting or interacting with unknown people -->
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="WRB"/>
                <token postag="VBG"/>
                <token regexp="yes">and|or</token>
                <token postag="VBG"/>
                <token postag="IN"/>
                <token postag="JJ" min="0" max="1"/>
                <token>people</token>
            </antipattern>
            <antipattern><!-- one out of five people -->
                <token regexp="yes">one|1</token>
                <token>out</token>
                <token>of</token>
                <token postag="CD"/>
                <token>people</token>
            </antipattern>
            <antipattern><!-- #2095 the risk to people -->
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token postag_regexp="yes" postag="NN:UN?"/>
                <token postag="IN"/>
                <token>people</token>
            </antipattern>
            <antipattern><!-- #2820 to criticize people is -->
                <token chunk="B-VP">to</token>
                <token chunk="I-VP" postag="VB"/>
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern><!-- #2820 test for most people is -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token postag="JJS"/>
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern><!-- #2820 that extreme for most people is -->
                <token>that</token>
                <token postag_regexp="yes" postag="JJ|NN(:UN?)?"/>
                <token postag="IN"/>
                <token postag="JJS"/>
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern><!-- #3089 worst that will happen to most people -->
                <token chunk="E-NP-singular"/>
                <token regexp="yes">that|which|who</token>
                <token min="0" max="2" postag="RB"/>
                <token postag="MD"/>
                <token min="0" max="2" postag="RB"/>
                <token postag_regexp="yes" postag="VBP?"/>
                <token postag="IN"/>
                <token postag_regexp="yes" postag="JJS?"/>
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern><!-- Premium #1795 How many people does...? -->
                <token>how</token>
                <token skip="-1">many</token>
                <token>people</token>
                <token skip="-1">does</token>
                <token>?</token>
            </antipattern>
            <antipattern><!-- 99.9% of the time, it's an FP -->
                <token>people</token>
                <token>'s</token>
            </antipattern>
            <antipattern><!-- Meeting young people is hard -->
                <token postag="VBG" chunk_re=".-VP|B-PP" />
                <token postag="IN" min="0" />
                <token postag="JJ.*|CD|DT|PRP\$" postag_regexp="yes" min="0" />
                <token>people</token>
                <token regexp="yes">is|does|has</token>
            </antipattern>
            <antipattern><!-- Meeting these young people is hard -->
                <token postag="VBG" chunk_re=".-VP|B-PP" />
                <token postag="IN" min="0" />
                <token postag="DT|PRP\$" postag_regexp="yes" chunk_re="B-NP-plural"  />
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" chunk_re="I-NP-plural" />
                <token>people</token>
                <token regexp="yes">is|does|has</token>
            </antipattern>
            <antipattern><!-- How many people has greed killed? -->
                <token>how</token>
                <token>many</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token regexp="yes">has|does|is</token>
                <token postag="DT|PRP\$|JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN|NN:UN?|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VB[GN]?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Conversation between two people presupposes four attentive ears. -->
                <token chunk_re="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="IN" />
                <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                <token postag="JJ.*|CD" postag_regexp="yes" min="0" />
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- The problem with you people is that you're too politically correct. -->
                <token chunk_re="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="IN" />
                <token min="0">all</token>
                <token>you</token>
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token>is</token>
            </antipattern>
            <antipattern><!-- To target these young people is wrong – because they have done nothing wrong. -->
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token>to</token>
                <token postag="VB" />
                <token postag="DT" />
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token>is</token>
            </antipattern>
            <antipattern><!-- To target young people is wrong – because they have done nothing wrong. -->
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token>to</token>
                <token postag="VB" chunk_re=".-VP" />
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token>is</token>
            </antipattern>
            <antipattern><!-- Preserving government of the people, by the people, and for the people is a constant struggle. -->
                <token postag="CC|PCT" postag_regexp="yes" />
                <token regexp="yes">for|of|by</token>
                <token>the</token>
                <token>people</token>
                <token>is</token>
            </antipattern>
            <antipattern><!-- What people is he talking about -->
                <token regexp="yes">what|which</token>
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token>is</token>
                <token postag="DT|PRP\$|JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN|NN:UN?|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- What people has he talked about -->
                <token regexp="yes">what|which</token>
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token>has</token>
                <token postag="DT|PRP\$|JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN|NN:UN?|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VBN" />
            </antipattern>
            <antipattern><!-- What people does he talk about -->
                <token regexp="yes">what|which</token>
                <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                <token>people</token>
                <token>does</token>
                <token postag="DT|PRP\$|JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN|NN:UN?|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- One of the effects for people is that they get distracted. -->
                <token postag="DT|PRP\$" postag_regexp="yes" chunk_re="B-NP-plural" />
                <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" chunk_re="I-NP-plural" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural" />
                <token regexp="yes">for|by|of|from</token>
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- What concerns most people is the air they breathe -->
                <token regexp="yes">what|which|that</token>
                <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                <token postag="JJ.*|DT" postag_regexp="yes" min="0" />
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- Making friends with people doesn't have anything to do with how long you know them.  -->
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token postag="VBG" />
                <token postag="NNS|NN:U" postag_regexp="yes" />
                <token postag="IN" />
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- One of Patrick Johnson's people has been trying to sell our interest. -->
                <token chunk_re="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="POS" />
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- One of Patrick Johnson's people has been trying to sell our interest. -->
                <token chunk_re="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- The lack of pricing power reported overwhelmingly by business people underscores an absence of inflationary zest. -->
                <token chunk_re="E-NP-singular" postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                <token postag="RB" min="0" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- Make people lives harder -->
                <token inflected="yes" skip="8">make</token>
                <token>people</token>
                <token>lives</token>
                <token postag="JJR" />
            </antipattern>
            <antipattern>
                <token>by</token>
                <token>the</token>
                <token skip="2">people</token>
                <token>for</token>
                <token>the</token>
                <token>people</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-singular" />
                <token min="0">that</token>
                <token chunk_re="B-NP.*" />
                <token chunk="B-VP" />
                <token min="0" max="3" chunk="I-VP" />
                <token min="0" chunk="B-NP-plural" />
                <token min="0" chunk="I-NP-plural" />
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-singular" />
                <token chunk="B-PP" />
                <token skip="-1" chunk="B-NP-plural" />
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern>
                <token postag="VBG" />
                <token postag="IN|RP" postag_regexp="yes" />
                <token skip="1" chunk="B-PP" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token postag="VBG" />
                <token skip="-1" chunk_re="[BI]-NP-plural" />
                <token chunk="E-NP-plural">people</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="DT|PRP\$.*" postag_regexp="yes" />
                <token min="0" max="3" postag="CD|J.*|PRP\$.*|UNKNOWN|\.|," postag_regexp="yes" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token min="0" max="4" postag="CD|J.*|PRP\$.*|UNKNOWN|\.|," postag_regexp="yes" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes" skip="1">an?</token>
                <token>people</token>
            </antipattern>
            <antipattern>
                <token>how</token>
                <token>many</token>
                <token>people</token>
            </antipattern>
            <antipattern>
                <token>or</token>
                <token min="0" postag="CD|J.*|P?DT" postag_regexp="yes" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token postag="V.*" postag_regexp="yes" />
                <token min="0" regexp="yes">&quote;</token>
                <token postag="P?DT" postag_regexp="yes" />
                <token>people</token>
                <token>is</token>
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP.*|.-VP" />
                <token>to</token>
                <token postag="VB" />
                <token min="0" postag="JJ|P?DT" postag_regexp="yes" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token>people</token>
                <token>is</token>
                <token chunk="B-NP-singular" />
            </antipattern>
            <antipattern>
                <token chunk="B-PP" />
                <token min="0" postag="JJ|P?DT" postag_regexp="yes" />
                <token>people</token>
                <token><exception>who</exception></token>
            </antipattern>
            <antipattern>
                <token>people</token>
                <token>ages</token>
                <token regexp="yes">\d.*</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">&quote;</token>
                <token>people</token>
                <token skip="-1" postag="VBZ" />
                <token regexp="yes">&quote;</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-singular" />
                <token chunk="B-PP" />
                <token chunk_re="B-NP.*" />
                <token min="0" chunk_re="E-NP.*" />
                <token postag="CC" />
                <token min="0" chunk_re="B-NP.*" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token skip="1" regexp="yes">gives|lets|makes</token>
                <token chunk="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes">gives|lets|makes</token>
                <token regexp="yes">us|you|them</token>
            </antipattern>
            <antipattern>
                <token chunk="B-PP" />
                <token skip="1">the</token>
                <token>people</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-singular" />
                <token>to</token>
                <token min="0">not</token>
                <token postag="VB" />
                <token>people</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token skip="-1">way</token>
                <token>people</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token>people</token>
                <token skip="3">is</token>
                <token>way</token>
            </antipattern>
            <antipattern>
                <token>seems</token>
                <token min="0">about</token>
                <token>right</token>
            </antipattern>
            <antipattern>
                <token postag="WRB" />
                <token>there</token>
                <token regexp="yes">is|are|was|were</token>
                <token>people</token>
            </antipattern>
            <pattern>
                <token>
                    <exception postag="CD" />
                    <exception regexp="yes">\d.*</exception>
                </token>
                <token case_sensitive="yes">people<exception scope="previous" regexp="yes">no|of</exception></token>
                <token min="0">who</token>
                <marker>
                    <token postag="VBZ" chunk_re=".-VP">
                        <exception>means</exception>
                    </token>
                </marker>
                <token><exception>itself</exception></token>
            </pattern>
            <message>If 'people' is plural here, don't use the third-person singular verb.</message>
            <suggestion><match no="4" postag_regexp="yes" postag="VBZ" postag_replace="VBP"/></suggestion>
            <example correction='think'>Some people <marker>thinks</marker> that space is endless.</example>
            <example correction='have'>We are looking for people who <marker>has</marker> expertise in this area.</example>
            <example correction='do'>Also, these people <marker>does</marker> not know the answer.</example>
            <example correction="are">Our people <marker>is</marker> being encouraged to find any way to avoid the tax.</example>
            <example correction="are">This won't work, for most people <marker>is</marker> is quite lazy.</example>
            <example correction="know">For people I explicity invited can you answer or invite people who <marker>knows</marker> this kind of stuff.</example>
            <example correction="use">Your current (the first) proposition is almost perfect for people who <marker>uses</marker> Diaspora as a blog.</example>
            <example correction="know">Most people <marker>knows</marker> only native language - they is our target audience.</example>
            <example correction="are">Weird people <marker>is</marker> weird.</example>
            <example correction="tell">I don't like it when people <marker>tells</marker> me what to do.</example>
            <example>As the number of older, wealthier people <marker>grows</marker>, so does the number of people eager to prey on them.</example>
            <example>There's also speculation that repeat honor from the same people has less value than from new people.</example>
            <example>I'm one of those people who has trouble sitting still.</example>
            <example>Conversation between two people presupposes four attentive ears.</example>
            <example>We should give people rights!</example>
            <example>What concerns most people is the air they breathe</example>
            <example>One of Patrick Johnson's people has been trying to sell our interest.</example>
            <example>Every liberal movement for the equality of marginalized people internalizes the rhetoric that the people in power have used against them.</example>
            <example>The lack of pricing power reported overwhelmingly by business people underscores an absence of inflationary zest.</example>
            <example>Pottery of the Beaker people has been found at both sites, dating to several centuries after copper-working began there.</example>
            <example>The country of nine million people has a fast-growing population, but over two-thirds of the labor force lack formal jobs.</example>
            <example>The problem with you people is that you're too politically correct.</example>
            <example>Meeting young people is hard.</example>
            <example>Meeting with young people is hard.</example>
            <example>Meeting these young people is hard</example>
            <example>What people is he talking about?</example>
            <example>Which people has he interacted with?</example>
            <example>Meeting people is hard.</example>
            <example>One of the effects for people is that they get distracted.</example>
            <example>Preserving government of the people, by the people, and for the people is a constant struggle.</example>
            <example>Meeting new people is one of the pleasures of traveling.</example>
            <example> To target these young people is wrong – because they have done nothing wrong.</example>
            <example>How many people has greed killed?</example>
            <example>How many people has he killed?</example>
            <example>I'm one of the many people who has trouble sitting still.</example>
            <example>Naming these people <marker>does</marker> not imply their agreement.</example>
            <example>Helping people <marker>is</marker> our duty.</example>
            <example>My usual advice to people is just be focused on the problem, learn about the...</example>
            <example>And that no people has a greater claim to that flag than us.</example>
            <example>... believed that <marker>the freedom given to people</marker> leaves the human in a constant fear of failing his/her ...</example>
            <example><marker>Anxiety when meeting or interacting with unknown people</marker> is a common stage of development in young people.</example>
            <example>It will not be long before <marker>one out of five people</marker> owns a car.</example>
            <example>PHE says the risk to people is still “very low”.</example><!--  #2095 -->
            <example>PHE says the risk for people is still “very low”.</example><!--  #2095 -->
            <example>To criticize people is not good.</example><!-- #2820 -->
            <example>The test for most people is relatively simple.</example><!-- #2755 -->
            <example>Whether the effects will be that extreme for most people is yet to be seen.</example><!-- #2755 -->
            <example>Again, the worst that will happen to most people is you lose your warts and birthmarks and moles.</example><!-- #3089 -->
            <example>The worst which might very likely occur to most people is scary.</example><!-- #3089 -->
            <example>The person who very likely can reply to most people is on holiday.</example><!-- #3089 -->
            <example>How many people does it take to change a lightbulb?</example><!-- Premium #1795 -->
            <example>How many very nice, cultured, sophisticated and erudite people does it take to build LanguageTool?</example>
            <example>It is dominated by the center-left People's United Party.</example>
            <example>Write an article based on your own experiences abroad or other people's in your own country.</example>
            <example>Pentecost describes this as follows: In 1984, Alexei Sayle released The Fish People Tapes, an episodic serial based on his Capital FM series Alexei Sayle and the Fish People.</example>
            <example>The earliest documented use of the word "Arab" to refer to a people appears in the Monolith Inscription, an Akkadian language record of the 9th century BC Assyrian Conquest of Syria.</example>
            <example>The English people believes itself to be free; it is gravely mistaken; it is free only during the election of the members of Parliament; as soon as they are elected, the people become slaves; they are nothing.</example>
            <example>A 5,000-year-old city that was home to some 6,000 people has been found in northern Israel.</example>
            <example>It drew strength from the not-so-young people who braved the bitter cold and scorching heat to knock on doors of perfect strangers, and from the millions of Americans who volunteered and organized and proved that more than two centuries later a government of the people, by the people, and for the people has not perished from the Earth.</example>
            <example>Wiltfong, Jim; Sullivan, Colleen; Black, Don; Bray, Hayden; Montovano, Steve; Steffes, James D.; Kingerski, Harry; Lawner, Leslie FYI, Pennsylvania LDC issues with the PUC are handled through Steve Montovano's group, but I don't know which of his people has primary responsibility.</example>
            <example>Branching out to other people is one of the hardest things for some of h...</example>
            <example>Talking back at these people is a complete waste of his time, when he c...</example>
            <example>In order for Japan to play a central role in the infrastructural improvement of Southeast Asia, tremendous effort between its government and people is required.</example>
            <example>...- any list you could use to find people is derived from census activities in the f...</example>
            <example>...ria's population of 7.36 million people is predominantly urbanised and mainly conc...</example>
            <example>...nd is punishing so many innocent people is intolerable. And so the evidence has to...</example>
            <example>Its founder, Rabbi Mordecai Kaplan, said that the idea that God chose the Jewish people leads to racist beliefs among Jews, and thus must be excised from Jewish theology.</example>
            <example>An unhappy people makes for great artists</example>
            <example>How many people is too many?</example>
            <example>One or two people has to take my place so we can be sure we didn't miss anything.</example>
            <example>Talking to people helps us prepare for the event.</example>
            <example>To "move" a people is to force that to happen.</example>
            <example>To move a people is to force that to happen.</example>
            <example>My willingness to help other people shows that I will be a good fit for the position.</example>
            <example>To say he has bad people is an understatement.</example>
            <example>A sure way to not attract people is my screeching.</example>
            <example>Working to prepare people is very great pressure.</example>
            <example>The way we talk about indigenous people has evolved over the years.</example>
            <example>The issue with one or many people is basically a forfeiture of the following:</example>
            <example>Being around people makes me uneasy.</example>
            <example>A crowd as large as 100 people is quite a large crowd.</example>
            <example>That is for people ages 65 and over.</example>
            <example>33,000 people seems like a lot.</example>
            <example>The gap between rich people and poor people is widening more and more each year.</example>
            <example>They believe hardworking people makes them the 'mode...</example>
            <example>Misplaced people gives overseas parties an opportunity to...</example>
            <example>The attitude of the Malay people toward the Jakun people is ambiguous.</example>
            <example>I think this ability to not recognise people stems from a dissociative disorder where one lives with separated ‘memories’ of people confused with living in the here and now.</example>
            <example>The way manufacturers ignore short legged people is just annoying.</example>
            <example>Specifically, “impostor syndrome” refers to the way many accomplished people feels that they are not that accomplished at all and don't deserve the awards, glowing job performance reviews and the like.</example>
            <example>But well, non-mamalian draconic people seems about right.</example>
            <example>Most people is probably a bad way to start that list.</example>
            <example>To be at places where there are people scares me a lot, it even makes me want to just vanish.</example>
        </rule>

        <rule id="WE_RB_ARE_VB" name="we + ... + are + base form verb (gerund)">
            <pattern>
                <token>we</token>
                <token postag='RB'/>
                <token>are</token>
                <marker>
                    <token postag='VB'/>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="4" postag_regexp="yes" postag="VB" postag_replace="VBG"/></suggestion>?</message>
            <example correction='flying'>Today we still are <marker>fly</marker> to space.</example>
        </rule>
        <!--TODO: too many false alarms
        <rule id="THE_NN_VB" name="we + ... + are + base form verb (gerund)">
            <pattern>
                <token postag="SENT_START"/>
                <token>the</token>
                <token postag='NN'/>
                <marker>
                    <token postag='VB'/>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="4" postag_regexp="yes" postag="VB" postag_replace="VBZ"/></suggestion>?</message>
            <example correction='becomes'>The astronaut <marker>becomes</marker> famous.</example>
        </rule>
        -->
        <rule id="SOME_FACULTY" name="some faculty... (some faculty members...)">
            <antipattern>
                <token regexp="yes">faculty|committee|staff</token>
                <token regexp="yes">and|&amp;|or</token>
                <token postag="NNS?|NN:UN?" postag_regexp="yes" chunk_re="[IB]-NP-plural" />
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
            </antipattern>
            <pattern>
                <token regexp="yes">some|many|most|two|three|four|five|six|seven|eight|nine|ten</token>
                <token min="0" regexp="yes">uni|university|college</token>
                <marker>
                    <token regexp="yes">faculty|committee|staff</token>
                </marker>
                <token><exception postag="NNS"/></token>
            </pattern>
            <message>Use a plural noun after '<match no="1"/>' or use <suggestion><match no="3"/> members</suggestion>.</message><!-- TODO: Cannot use postag_replace="NNS" in a suggestion because committee=NNS and staff=JJ -->
            <short>Grammatical problem: missing plural noun</short>
            <example correction="faculty members">Three <marker>faculty</marker> support the change.</example>
            <example correction="faculty members">Many university <marker>faculty</marker> dislike the university president.</example>
            <example>Three <marker>faculty members</marker> support the change.</example>
            <example>Three committee members were present.</example>
            <example>No faculty member has too many committee assignments.</example>
            <example>Some <marker>committees</marker> are a waste of time.</example>
            <example>ASOS was accused by some staff and worker unions of "playing Russian roulette with people’s lives".</example>
        </rule>
        <rule id="NEITHER_NOR" name="neither X or Y (neither X nor Y)">
            <!-- This rule only catches some cases where "or" needs to be change to "nor" -->
            <!-- It is possible correctly use "nor" without "neither":
                 http://english.stackexchange.com/questions/53728/using-nor-in-a-list-without-neither -->
            <antipattern>
                <token skip="-1">neither</token>
                <token>nor</token>
            </antipattern>
            <antipattern>
                <token>neither</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token skip="-1">neither</token>
                <token skip="-1">or</token>
                <token>,</token>
                <token>or</token>
            </antipattern>
            <antipattern>
                <token>neither</token>
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="VB[DZ]" postag_regexp="yes" chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token skip="-1">neither</token>
                <token skip="-1">
                    (
                    <exception scope="next">)</exception>
                </token>
                <token>or</token>
            </antipattern>
            <pattern>
                <token skip="6">
                    neither
                </token>
                <marker>
                    <token>or</token>
                </marker>
                <token/>
            </pattern>
            <message>Use <suggestion>nor</suggestion> with neither.</message>
            <short>Grammatical problem or typo</short>
            <example correction="nor">Neither the teachers <marker>or</marker> the students won.</example>
            <example correction="nor">They were neither helping <marker>or</marker> hurting the plan.</example>
            <example>Still, the Net Works team has not completely ruled BMC out as a potential vendor; but neither is there a commitment (written OR verbal) to make a BMC purchase at this point.</example>
            <example>Neither course requires any special science or math background; both are geared to the intelligent general student.</example>
        </rule>
        <rulegroup id="EITHER_NOR" name="either X nor Y">
            <rule>
                <antipattern>
                    <token>either</token>
                    <token>of</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token min="0" inflected="yes">do</token>
                        <token inflected="yes">not</token>
                        <token postag="V.*" postag_regexp="yes" />
                        <token skip="-1">either</token>
                    </marker>
                    <token>nor</token>
                </pattern>
                <message>Try using 'neither'.</message>
                <suggestion>\3 neither</suggestion>
                <example correction="attached neither">I have <marker>not attached either</marker> the product description nor the pricing schedule.</example>
                <example correction="benefit neither">They protest against roles which <marker>do not benefit either</marker> men nor women.</example>
                <example correction="like neither">I <marker>don't like either</marker> sushi nor eggs.</example>
                <example>It should not overload either of these circuits, nor cause any other electrical problems.</example>
            </rule>
            <rule tags="picky">
                <antipattern>
                    <token skip="-1">either</token>
                    <token>or</token>
                </antipattern>
                <antipattern>
                    <token>either</token>
                    <token skip="-1">that</token>
                    <token>nor</token>
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token><exception inflected="yes">not</exception></token>
                    <token />
                    <token skip="-1">either
                        <exception scope="next" postag="PCT" />
                        <exception>neither</exception>
                    </token>
                    <marker>
                        <token>nor</token>
                    </marker>
                </pattern>
                <message>Try using 'or'.</message>
                <suggestion>or</suggestion>
                <example correction="or">It failed intermittently for more than a day but there was nothing in either our client <marker>nor</marker> in our server logs…</example>
                <example>Richard Murphy, Assistant Secretary of State during the war, testified to Congress in 1984 that the Reagan administration believed a victory for either Iran or Iraq was "neither militarily feasible nor strategically desirable."</example>
                <example>For example, it is not the case either that R is a subset of P nor that P is a subset of R.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="V.*" postag_regexp="yes" />
                    <token>either</token>
                    <token skip="-1">of</token>
                    <marker>
                        <token>nor</token>
                    </marker>
                </pattern>
                <message>Try using 'or'.</message>
                <suggestion>or</suggestion>
                <example correction="or">It should not overload either of these circuits, <marker>nor</marker> cause any other electrical problems.</example>
            </rule>
        </rulegroup>
        <rule id="IS_EVEN_WORST" name="is even worst (worse)" type="grammar">
            <pattern>
                <token regexp="yes">is|w(?:as|ere)</token>
                <token>even</token>
                <marker>
                    <token postag="JJS"/>
                </marker>
                <token><exception postag="NNS?:.*" postag_regexp="yes"/></token>
            </pattern>
            <message>Probably incorrect use of superlative '\3'. Consider using the comparative form instead.</message>
            <suggestion suppress_misspelled="yes"><match no="3" postag="JJR"/></suggestion>
            <example correction="nicer">He was even <marker>nicest</marker> after a year.</example>
            <example correction="iller|worse">He was even <marker>worst</marker>.</example>
            <example>He was even worse after a year.</example>
            <example>He was even best man at my wedding.</example>
        </rule>
        <rulegroup id="JJS_OF_ALL_OTHER" name="superlative + 'of all other'" type="grammar">
            <rule>
                <pattern>
                    <token postag="JJS"/>
                    <token>of</token>
                    <marker>
                        <token>all</token>
                        <token>other</token>
                    </marker>
                </pattern>
                <message>Unless you have already specified someone or something as the \1 and are comparing the remaining items, 'other' should not be used in combination with a superlative. Please check whether 'other' can be removed.</message>
                <suggestion>all</suggestion>
                <example correction="all">Bill is the tallest of <marker>all other</marker> boys.</example>
                <example>Shakespeare is the <marker>greatest</marker> writer and of all other writers Hemingway is the greatest.</example>
                <example>Bill is taller than <marker>any other</marker> boy.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token>most</token>
                    <token postag="JJ"/>
                    <token>of</token>
                    <marker>
                        <token>all</token>
                        <token>other</token>
                    </marker>
                </pattern>
                <message>Unless you have already specified someone or something as the most \3 and are comparing the remaining items, 'other' should not be used in combination with a superlative. Please check whether 'other' can be removed.</message>
                <suggestion>all</suggestion>
                <example correction="all">He is the most important of <marker>all other</marker> players.</example>
                <example>He is more important than <marker>any other</marker> player.</example>
            </rule>
        </rulegroup>

        <rule id="SOME_NN_VBP" name="'some' + sing. noun + verb">
            <antipattern>
                <token>some</token>
                <token>day</token>
            </antipattern>
            <antipattern><!-- #3174 some text zoom settings -->
                <token chunk="B-NP-plural">some</token>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN.*|JJR?"/>
            </antipattern>
            <antipattern><!-- #3223 some time please call / please quickly drop -->
                <token chunk_re="B-NP-.*">some</token>
                <token chunk_re="E-NP-.*" postag_regexp="yes"/>
                <token chunk="B-VP">please</token><!-- Possibly generalize to RB after the POS is corrected -->
                <token chunk="I-VP" postag_regexp="yes" postag="VBP?|RB"/>
            </antipattern>
            <antipattern><!-- ... at some point please. -->
                <token chunk_re="B-NP-.*">some</token>
                <token chunk_re="E-NP-.*" postag_regexp="yes"/>
                <token>please</token>
                <token postag="PCT" />
            </antipattern>
            <antipattern>
                <token>in</token>
                <token>some</token>
                <token>way</token>
                <token>close</token>
            </antipattern>
            <antipattern><!-- #3438 some web site -->
                <token chunk="B-NP-singular">some</token>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?|NNPS?|NNS"/>
            </antipattern>
            <antipattern><!-- #3438 some web source code -->
                <token chunk_re="[IB]-NP-singular">some</token>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?|RB"/>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?" min="0" />
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?|NNPS?|NNS"/>
            </antipattern>
            <antipattern><!-- #3438 tweak some corpus test expectation -->
                <token chunk_re="[IB]-NP-singular">some</token>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?|NNPS?|NNS"/>
            </antipattern>
            <antipattern><!-- #3438 tweak some corpus test expectations -->
                <token chunk_re="[IB]-NP-plural">some</token>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN.*|JJR?" min="0"/>
                <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?|NNPS?|NNS"/>
            </antipattern>
            <antipattern><!-- #3438 some extra quiet time -->
                <token chunk="B-NP-singular">some</token>
                <token chunk="I-NP-singular" postag="RB" />
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN.*|JJR?"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?|NNPS?|NNS"/>
            </antipattern>
            <antipattern>
                <token>for</token>
                <token>some</token>
                <token>reason</token>
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>some</token>
                <token>point</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>some</token>
                <token>extent</token>
            </antipattern>
            <antipattern>
                <token>cell</token>
                <token>phone</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">ground|next</token>
                <token>level</token>
            </antipattern>
            <antipattern>
                <token>some</token>
                <token>time</token>
                <token>back</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">for|after</token>
                <token>some</token>
                <token>time</token>
            </antipattern>
            <antipattern><!-- Nevertheless, I think they're still some way short of solving the problem.  -->
                <token>some</token>
                <token />
                <token>short</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- Some thought black and white were the only colors. -->
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token>some</token>
                <token>thought</token>
                <token chunk_re="B-NP.*" postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- some URL slug -->
                <token>url</token>
                <token>slug</token>
            </antipattern>
            <antipattern><!-- some have come-->
                <token regexp="yes">all|many|some</token>
                <token chunk="B-VP">have</token>
                <token chunk="I-VP" postag="VBN"/>
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP-plural" />
                <token regexp="yes">that|which|who</token>
                <token>in</token>
                <token>some</token>
                <token>way</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">do|will|can|should</token>
                <token>some</token>
                <token />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>some</token>
                <token>effect</token>
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP-singular" />
                <token>that</token>
                <token postag="MD" />
                <token regexp="yes">at|in|on|from</token>
                <token>some</token>
                <token />
                <token postag="VB" />
            </antipattern>
            <pattern>
                <token>some</token>
                <marker>
                    <token postag_regexp="yes" postag="NN(:UN)?">
                        <exception postag="NNP?S|MD|CC|RB|PRP.*" postag_regexp="yes" />
                        <exception regexp="yes">few|maybe|then|great</exception>
                    </token>
                    <token postag="VBP">
                        <exception postag="NN:UN?|IN|JJR|PRP.*|VBD" postag_regexp="yes" regexp="yes">(?!tell$).+</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </marker>
            </pattern>
            <message>It appears that the noun or verb are incorrect.</message>
            <suggestion suppress_misspelled="yes"><match no="2" postag="NN:UN|NN" postag_regexp="yes" postag_replace="NNS"/> \3</suggestion>
            <suggestion>\2 <match no="3" postag="VBZ" /></suggestion>
            <short>Possible agreement error</short>
            <example correction="languages are|language is">I think some <marker>language are</marker> more complicated than others.</example>
            <example correction="times please|time pleases">I expect some <marker>time please</marker> her more than others.</example><!-- #3223 -->
            <example correction="others tell|other tells">Some people say that he died of hunger, some <marker>other tell</marker> that he still wanders.</example><!-- #3455 -->
            <example correction="biologists have|biologist has">Because of this more extensive predation, some <marker>biologist have</marker> expressed concern that murres are heading...</example>
            <example>For example, some <marker>can</marker> accommodate the largest aircraft and other hangars cannot.</example>
            <example>If some <marker>can</marker> contains oily water, check the pump for leaks.</example>
            <example>This <marker>can</marker> is dirty.</example>
            <example>I had some school stuff to do.</example>
            <example>I had to take some <marker>time</marker> off.</example>
            <example>Tim Berners-Lee is selling an NFT of some web source code.</example>
            <example>Cheering crowds took to the streets on Sunday night, some set off fireworks.</example>
            <example>We are applying some text zoom settings.</example><!-- #3174 -->
            <example>When you get some time please call me to discuss.</example><!-- #3223 -->
            <example>... and also if you get some time please quickly drop me a line to catch up.</example><!-- #3223 -->
            <example>We have confirmation via some web site that Tenacious D will be there.</example><!-- #3438 -->
            <example>I have information from some government site about the proposed changes to the regulations.</example><!-- #3438 -->
            <example>She found the information on some blog page about cats.</example><!-- #3438 -->
            <example>I just wanted some extra quiet time.</example>
            <example>That was some pretty cool stuff.</example>
            <example>For some reason Sue was happy with it.</example><!-- "sue" is also a verb -->
            <example>Some cell phone users.</example>
            <example>tweak some corpus test expectations</example>
            <example>We have already lined up some smash hit speakers including Christy Jones.</example>
            <example>Senior management must have been in their offices rolling on the floor every time some employee spoke up about trying to make vision and values a success.</example>
            <example>He added that some default swap selling pressure was coming from players arranging synthetic portfolio products.</example>
            <example>Some thought black and white were the only colors.</example>
            <example>In modern times, there is another theory that some have come to endorse.</example>
            <example>In this way the Enron Principal enters into the PA and the ETA as an agent for any affiliate that may at some stage enter into an EnronOnline Transaction with that counterparty.</example>
            <example>Every man would like to be God, if it were possible; some few find it difficult to admit the impossibility.</example>
        </rule>

        <rule id="IS_CAUSE_BY" name="is cause (caused) by">
            <pattern>
                <token regexp="yes">is|was|are|were|been</token>
                <marker>
                    <token>cause</token>
                </marker>
                <token>by</token>
            </pattern>
            <message>Did you mean <suggestion>caused</suggestion>?</message>
            <example correction='caused'>This is <marker>cause</marker> by a bug.</example>
        </rule>
        <rule id="BE_INTEREST_IN" name="be interesting (interested) in">
            <antipattern>
                <token>there</token>
                <token regexp='yes'>is|was</token>
                <token postag="RB" min="0" />
                <token>interest</token>
            </antipattern>
            <antipattern>
                <token>in</token>
                <token>its</token>
                <token min="0">own</token>
                <token>way</token>
            </antipattern>
            <antipattern>
                <token postag="JJ">
                    <exception>very</exception>
                </token>
                <token>interest</token>
            </antipattern>
            <pattern>
                <token inflected='yes'>be</token>
                <token postag="RB" min="0">
                    <exception>nothing</exception>
                </token>
                <marker>
                    <token inflected='yes'>interest<exception>interested</exception></token>
                </marker>
                <token>in</token>
                <token>
                    <exception regexp="yes">general|light|theory|itself|t?here</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>interested</suggestion>?</message>
            <example correction='interested'>I am <marker>interesting</marker> in this book.</example>
            <example correction='interested'>I am <marker>interest</marker> in this book.</example>
            <example correction="interested">I am very <marker>interest</marker> in pursing my career in the energy market.</example>
            <example>I am <marker>interested</marker> in this book.</example>
            <example>It would have to be pursued by the blink team if there is interest in doing it.</example><!-- #2335 -->
            <example>What's so interesting in there?</example>
            <example>Even during the 1980s, when these feelings were at their strongest, there has never been enough interest in secession to initiate any major movements or referendums.</example>
            <example type='triggers_error'>Usually, I don't like her self-portraits, but I think that she is interesting in this picture.</example>
            <example>the value of EOTT Energy Corp.'s interests in the original operating partnerships</example>
        </rule>
        <rulegroup id="TOO_EITHER" name="'too' in negation (either)">
            <rule>
                <pattern>
                    <token>n't</token>
                    <token min="0">,</token>
                    <marker>
                        <token>too</token>
                    </marker>
                    <token><exception postag="JJ|VBN" postag_regexp="yes"/><exception regexp="yes">many|much</exception></token>
                </pattern>
                <message>For negated sentences, use <suggestion>either</suggestion> instead of 'too'.</message>
                <example correction="either">I am not a child, and my cousin isn't <marker>too</marker>.</example>
                <example>My news isn't too important to people who don't want to know.</example>
                <example>it probably is not too worried about the safety of its money.</example>
                <example>Were not too many on this latest list?</example>
                <example>unless you tell me not too.</example>
            </rule>
            <rule>
                <pattern>
                    <token>no</token>
                    <token postag_regexp="yes" postag="NNS?"></token>
                    <token min="0">,</token>
                    <marker>
                        <token>too</token>
                    </marker>
                </pattern>
                <message>For negated sentences, use <suggestion>either</suggestion> instead of 'too'.</message>
                <example correction="either">I have no problems <marker>too</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="VB"></token>
                    <token postag="NNS"></token>
                    <token min="0">,</token>
                    <marker>
                        <token>too</token>
                    </marker>
                    <token><exception postag="RB|JJ" postag_regexp="yes"/></token>
                </pattern>
                <message>For negated sentences, use <suggestion>either</suggestion> instead of 'too'.</message>
                <example correction="either">I don't have problems <marker>too</marker>.</example>
                <example>Don't take things <marker>too</marker> seriously.</example>
                <example>The updated model does not give answers too different from the earlier version.</example>
            </rule>
        </rulegroup>
        <rule id="PREFER_TO_VBG" name="prefer to [gerund] → [base form]">
            <pattern>
                <token>prefer</token>
                <token>to</token>
                <marker>
                    <token postag='VBG'></token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="3" postag="VB"/></suggestion>?</message>
            <example correction='change'>Some other people prefer to <marker>changing</marker> job.</example>
        </rule>
        <rule id="VE_HAVING" name="'ve having → 've been having">
            <pattern>
                <token regexp='yes'>[cw]ould|should|you|i|we|they</token>
                <marker>
                    <token spacebefore="no">'ve</token>
                    <token>having</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2"/> been having</suggestion>?</message>
            <example correction="'ve been having">I<marker>'ve having</marker> lunch.</example>
        </rule>
        <rule id="HAVE_HAVING" name="have having → have been having">
            <pattern>
                <token>have</token>
                <token>having</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1"/> been having</suggestion>?</message>
            <example correction="have been having">I <marker>have having</marker> lunch.</example>
        </rule>
        <rule id="PRP_MD_CD_IN" name="Missing verb (some cases)">
            <pattern>
                <token postag='PRP'><exception scope="previous" postag="IN|VBN" postag_regexp="yes"/></token>
                <marker>
                    <token postag='MD'>
                        <exception>need</exception>
                    </token>
                    <token postag='CD'/>
                </marker>
                <token postag='IN'/>
            </pattern>
            <message>Did you mean <suggestion><match no="2"/> use <match no="3"/></suggestion> or <suggestion><match no="2"/> be <match no="3"/></suggestion>?</message>
            <example correction='could use one|could be one'>We <marker>could one</marker> of them.</example>
            <example correction='can use two|can be two'>We <marker>can two</marker> of these.</example>
            <example correction='may use one|may be one'>That she <marker>may one</marker> of the Tyr-Ridan</example>
            <example>I'm not convinced we need one for that.</example>
            <example>We need one of those.</example>
            <example>Any more than I would one of NAFTA medals.</example>
        </rule>
        <rule id="HAD_VBP" name="Had + verb present tense">
            <antipattern>
                <token>had</token>
                <token chunk="B-NP-plural"/>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token chunk="B-NP-singular"/>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token chunk="E-NP-singular"/>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token chunk="I-NP-singular"/>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token>had</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token postag="JJ" min="0" />
                <token chunk="E-NP-plural" />
                <token regexp="yes">s?he|I|we|they|you|it</token>
                <token>had</token>
                <token inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">been|done|gone</token>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token postag="VBP" />
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">[a-z\-0-9]+</token>
            </antipattern>
            <antipattern>
                <token>had</token>
                <token>ripple</token>
                <token>effects</token>
            </antipattern>
            <pattern>
                <token>had</token>
                <marker>
                    <token postag='VBP'>
                        <exception postag='JJ[RS]?|VBN' postag_regexp='yes'/><exception regexp="yes">become|sex|fish|lamb|lunch|school|dinner|breakfast|brunch|contact|while|well</exception>
                    </token>
                </marker>
            </pattern>
            <message>Possible agreement error — use the past participle here.</message>
            <suggestion><match no="2" postag="VBN"/></suggestion>
            <example correction="played">They had <marker>play</marker> the game</example>
            <example correction="spent">If I’d known the context, I would never had <marker>spend</marker> a second on searching or doing them.</example>
            <example correction="done">That was the only thing Tom had <marker>do</marker>.</example>
            <example correction="launched">Now Apple had <marker>launch</marker> the new iPad Pro to the market, and I want to know if you know is this program will be available on iOS.</example>
            <example>The jobs I have had are now not essential to my career anymore.</example>
            <example>Any traits it had are removed from any lists of trigger conditions.</example>
            <example>I felt tortured every second and now those horrid symptoms I had are gone.</example>
            <example>All other exceptions you had are the same as what GlobalCounterparty came up with.</example>
            <example>We are resisting Bridgeline's claim to an additional month of storage due to the fact that had gas been released in January 2002.</example>
            <example>I was a bit afraid to share because it had web.archive copyright notices all over the HTML.</example>
            <example>The outbreak had ripple effects across every industry.</example>
        </rule>
        <rule id="AM_I" name="missing 'I' in 'am I'">
            <antipattern>
                <token case_sensitive="yes">AM</token>
                <token postag="NN:U"/>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>am</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token postag="RB" />
                <token>am</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>am<exception scope="previous">I</exception></token>
                </marker>
                <token postag='VBG'/>
            </pattern>
            <message>Did you mean <suggestion>am I</suggestion> or <suggestion>I am</suggestion>?</message>
            <example correction="am I|I am">Whom <marker>am</marker> talking with?</example>
            <example>Whom <marker>am I</marker> talking with?</example>
            <example>AM broadcasting (radio broadcasting using amplitude modulation)...</example>
            <example>The 8 AM meeting is being held in the big conference room.</example>
            <example>I really am going crazy.</example>
        </rule>

        <rulegroup id="SHOULD_BE_DO" name="should be do (done)">
            <antipattern><!-- #3223 and should be please / he can be please tell -->
                <token postag_regexp="yes" postag="CC|PRP"/>
                <token postag="MD"/>
                <token>be</token>
                <token chunk="I-VP">please</token>
                <token chunk="I-VP" postag_regexp="yes" postag="VBP?|RB"/>
            </antipattern>
            <rule>
                <pattern>
                    <token>should</token>
                    <token>be</token>
                    <marker>
                        <token postag='VBP?' postag_regexp='yes'><!-- #2542 MFU 2020-03-04. Was 'VB|NN:UN', but this rule is for incorrect verb forms. Incorrect grammar should not be disambiguated as NN:UN only. Thus, I removed NN:UN. -->
                            <exception postag='JJ|VBN' postag_regexp='yes'/>
                            <exception>president</exception>
                            <exception>off</exception>
                            <exception>home</exception>
                        </token>
                    </marker>
                    <token><exception>of</exception></token>
                </pattern>
                <message>Did you mean <suggestion><match no = "3" postag ="VBN"/></suggestion>?</message>
                <example correction='done'>If you have after-school activities, the homework should be <marker>do</marker> first.</example>
<!-- Remove the comments after the POS is changed  <example correction='pleased'>I guess the family must be <marker>please</marker> because they won the lottery.</example>#3223 -->
                <example>If you have after-school activities, the homework should be <marker>done</marker> first.</example>
                <example>All images should be <marker>part of</marker> the plugin.</example>
                <example>Tom should be home by now.</example>
                <example>We should be home soon.</example>
                <example>There should be motivation.</example><!--  #2542 -->
                <example>If you are not on this list and should be please let me know.</example><!-- #3223 -->
            </rule>
            <rule id="MUST_BE_DO" name="must be do (done)">
                <antipattern>
                    <token>be</token>
                    <token>be</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">must|will|c(an|ould)</token>
                    <token min="0" regexp="yes">now|soon</token>
                    <token>be</token>
                    <marker>
                        <token postag='VB'>
                            <exception postag='JJ|VBN|NN.*' postag_regexp='yes'/>
                            <exception>off</exception>
                        </token>
                    </marker>
                    <token><exception postag="IN"/></token>
                </pattern>
                <message>Did you mean <suggestion><match no = "4" postag ="VBN"/></suggestion>?</message>
                <example correction='done'>If you have after-school activities, the homework must be <marker>do</marker> first.</example>
<!-- Remove the comments after the POS is changed  <example correction='pleased'>Anyone who can do the homework in less than an hour must be <marker>please</marker>, don't you think?</example> #3223 -->
                <example>If you have after-school activities, the homework must be <marker>done</marker> first.</example>
                <example>... if he can be please tell me immediately, and I will contact him.</example><!-- #3223 -->
            </rule>
        </rulegroup>

        <rulegroup id="NEEDNT_TO_DO_AND_DONT_NEED_DO" name="needn't to do(do)">
            <rule>
                <pattern>
                    <token>need</token>
                    <token>not</token>
                    <marker>
                        <token>to</token>
                        <token postag='VB'/>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="4"/></suggestion>?</message>
                <example correction='change'>They need not <marker>to change</marker> them.</example>
            </rule>
            <rule>
                <pattern>
                    <token>need</token>
                    <token>n't</token>
                    <marker>
                        <token>to</token>
                        <token postag='VB'><exception>get</exception></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="4"/></suggestion>?</message>
                <example correction='change'>They needn't <marker>to change</marker> them.</example>
            </rule>
            <rule>
                <antipattern><!-- #2929 -->
                    <token>need</token>
                    <token chunk_re="B-NP-.*" postag_regexp="yes" postag="NN.*|JJ.*" min="0" />
                    <token chunk_re="E-NP-.*" postag_regexp="yes" postag="NN:UN?|NNP?S"/>
                </antipattern>
                <pattern>
                    <token>do</token>
                    <token regexp="yes">n't|not</token>
                    <token>need</token>
                    <marker>
                        <token postag='VB'>
                            <exception regexp='yes'>proof|fake|sex|help|&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>to <match no="4"/></suggestion>?</message>
                <example correction='to change'>They don't need <marker>change</marker> them.</example>
                <example correction="to do">You know you don't need <marker>do</marker> that, don't you?</example>
                <example>They don't need <marker>to change</marker> them.</example>
                <example>We don't need direct soil.</example><!-- #2929 -->
                <example>We don't need water to grow our plants.</example><!-- #2929 -->
                <example>We don't need people like you.</example>
                <example>That's why we don't recreate this, why we don't need mass lists.</example>
            </rule>
        </rulegroup>

        <rule id="IT_IS_JJ_TO_VBG" name="it is ... to doing (do)">
            <antipattern><!-- #4515 it's on to gaining more support -->
                <token inflected='yes'>be</token>
                <token>on</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- #4515 essential to dreaming. -->
                <token>to</token>
                <token chunk="B-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                <token postag="PCT"/>
            </antipattern>
            <antipattern><!-- #4515 important to plumbing and -->
                <token>to</token>
                <token chunk_re="B-NP-(singular|plural)" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk_re="I-NP-(singular|plural)" postag="CC"/>
            </antipattern>
            <pattern>
                <token>it</token>
                <token inflected='yes'>be</token>
                <token min='0' max='1'>not</token>
                <token postag='JJ'>
                    <exception regexp="yes">close|similar|back|akin|equivalent</exception><!-- #2742 -->
                    </token>
                <token>to</token>
                <marker>
                    <token postag='VBG'/>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="6" postag="VB"/></suggestion>?</message>
            <example correction='grasp'>They think that it is not easy to <marker>grasping</marker> skills.</example>
            <example correction='eat'>It is not on to <marker>eating</marker> during a church service.</example><!-- eating/E-NP-singular -->
            <example correction='think'>If it's necessary to <marker>thinking</marker> quickly, count me out of the quiz.</example>
            <example>They think that it is not easy to <marker>grasp</marker> skills.</example>
            <example>It is close to reducing income.</example><!-- #2742 -->
            <example>It is similar to building a marketing campaign.</example><!-- #2742 -->
            <example>It's akin to landing the Mayflower.</example>
            <example>It's equivalent to sawing off the branch you're sitting on.</example>
            <example>Now it's on to gaining more support, and beginning the critical step of establishing a special purpose committee.</example><!-- #4515 -->
            <example>First came the speech; then it was on to eating and drinking.</example><!-- #4515 -->
            <example>Imagination? It is not essential to dreaming.</example><!-- #4515 -->
            <example>But, you know it's important to plumbing and allied trades.</example><!-- #4515 -->
        </rule>

        <rule id="BE_USE_TO_DO" name="be use (used) to">
            <pattern case_sensitive='yes'>
                <token inflected='yes'>be</token>
                <marker>
                    <token>use</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion><match no="2" postag="VBD"/></suggestion>?</message>
            <example correction='used'>He is <marker>use</marker> to a vegetarian diet.</example>
        </rule>
        <rulegroup id="AT_TIME" name="wrong preposition with times 'on (at) 7:30 p.m.'">
             <rule>
                <antipattern>
                    <token>as</token>
                    <token>early</token>
                    <token>as</token>
                    <token postag="CD"/>
                </antipattern>
                <antipattern><!-- an 8:00 a.m. meeting -->
                    <token>an</token>
                    <token postag="CD"/>
                    <token regexp="yes" min="0">.</token>
                    <token postag="CD" min="0"/>
                    <token regexp="yes">[ap]</token>
                    <token>.</token>
                    <token>m</token>
                    <token>.</token>
                    <token postag_regexp="yes" postag="NN:UN?"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">a[dns]|i[nt]|on</token>
                    </marker>
                    <token postag="CD"/>
                    <token regexp="yes" min="0">.</token>
                    <token postag="CD" min="0"/>
                    <token regexp="yes">[ap]</token>
                    <token>.</token>
                    <token>m</token>
                </pattern>
                <message>Did you mean <suggestion>at</suggestion>?</message>
                <example correction="at">She came <marker>on</marker> 7:30 p.m.</example>
                <example correction="at">She came <marker>on</marker> 7 p.m.</example>
                <example>1,500 workers are on the job, starting as early as 5 a.m. to avoid the 110-degree afternoon heat.</example>
                <example>I have an 8:00 a.m. meeting tomorrow.</example>
            </rule>
            <rule>
                <antipattern><!-- an 11 o'clock meeting -->
                    <token>an</token>
                    <token/>
                    <token/>
                    <token/>
                    <token>clock</token>
                    <token postag_regexp="yes" postag="NN:UN?"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">a[dns]|i[nt]|on</token>
                    </marker>
                    <token postag="CD"/>
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>clock</token>
                </pattern>
                <message>Did you mean <suggestion>at</suggestion>?</message>
                <example correction="at">She came <marker>on</marker> 7 o'clock.</example>
                <example>She came <marker>at</marker> 7 o'clock.</example>
                <example>She has an 11 o'clock meeting, so she cannot see you.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HAPPEN_TO" name="wrong preposition: 'happen with' (happen to)">
            <rule>
                <pattern>
                    <token inflected="yes">happen</token>
                    <marker><token>with</token></marker>
                    <token postag="PRP"/>
                </pattern>
                <message>The verb 'happen' usually requires the preposition <suggestion>to</suggestion>.</message>
                <url>https://www.merriam-webster.com/dictionary/happen%20to</url>
                <example correction="to">What happened <marker>with</marker> him?</example>
            </rule>
        </rulegroup>
        <rulegroup id="DISCUSS_ABOUT" name="wrong preposition: 'discuss about something' (discuss something)">
            <rule>
                <pattern>
                    <token inflected="yes">discuss</token>
                    <token>about</token>
                </pattern>
                <message>Consider using <suggestion>\1</suggestion> or <suggestion><match no="1" regexp_match="discuss" regexp_replace="talk"/> \2</suggestion>.</message>
                <url>http://www.oxfordlearnersdictionaries.com/definition/english/discuss</url>
                <short>Redundant preposition</short>
                <example correction="discuss|talk about">Do you have a few minutes to <marker>discuss about</marker> this project?</example>
                <example correction="discussed|talked about">Have you <marker>discussed about</marker> the project?</example>
            </rule>
        </rulegroup>
        <rule id="ON_ADDITION" name="wrong preposition: 'On addition' (In addition)">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token postag='IN'><exception>in</exception></token>
                </marker>
                <token>addition</token>
            </pattern>
            <message>Did you mean <suggestion>in</suggestion>?</message>
            <example correction='In'><marker>On</marker> addition, ...</example>
        </rule>
        <rule id="LEARN_NNNNS_ON_DO" name="wrong preposition: 'learn sth on do' (to do)">
            <pattern>
                <token inflected='yes'>learn</token>
                <token postag='NNS?' postag_regexp='yes'><exception>tool</exception></token>
                <marker>
                    <token postag='IN'><exception>to</exception></token>
                </marker>
                <token postag='VB'/>
            </pattern>
            <message>Did you mean <suggestion>to</suggestion>?</message>
            <example correction='to'>We can learn ways <marker>on</marker> manage complex relationships with colleagues.</example>
        </rule>
        <rule id="ESSENTIAL_ESSENTIALLY" name="essentially">
            <pattern>
                <marker>
                    <token>essential</token>
                </marker>
                <token postag='DT'><exception>that</exception></token>
            </pattern>
            <message>Did you mean <suggestion>essentially</suggestion>?</message>
            <example correction="essentially">This is <marker>essential</marker> the same work</example>
        </rule>
        <rule id="GAVE_GIVE" name="verb before 'gave'">
            <pattern>
                <token postag='VBP?' postag_regexp='yes'><exception postag='NN.*' postag_regexp='yes'/></token>
                <marker>
                    <token>gave</token>
                </marker>
                <token negate='yes'>in</token>
            </pattern>
            <message>Did you mean <suggestion>give</suggestion>?</message>
            <example correction="give">The updates do <marker>gave</marker> the correct date.</example>
            <example>The updates do <marker>give</marker> the correct date.</example>
            <example>That stuff <marker>gave</marker> you a rash last week.</example>
        </rule>
        <rule id="TO_WITHDRAWN" name="to/will before withdrawn">
            <pattern>
                <token regexp="yes">to|will</token>
                <marker>
                    <token>withdrawn</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>withdraw</suggestion>?</message>
            <example correction="withdraw">The team are to <marker>withdrawn</marker>.</example>
            <example correction="withdraw">The team will <marker>withdrawn</marker>.</example>
        </rule>
        <rulegroup id="AFFORD_VB" name="'afford', 'choose', etc. used with base form instead of infinitive">
            <antipattern>
                <token>machine</token>
                <token>learning</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token min="0" inflected="yes">not</token>
                    <token postag="VBN"/>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">
                        afford|choose|deserve|pretend|str(iv|uggl)e|learn
                        <exception>chosen</exception>
                    </token>
                    <marker>
                        <token postag="VB" chunk_re=".-VP">
                            <exception postag="JJR?|NN.*" postag_regexp="yes"/>
                            <exception>reward</exception><!-- MFU 2020-07-20. Is this necessary? Correct? Should it be part of a larger antipattern? -->
                            <exception>please</exception><!-- #3223 -->
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>This verb is used with the infinitive.</message>
                <suggestion>to <match no="2" postag="VB"/></suggestion>
                <short>Grammatical problem: missing 'to'</short>
                <example correction="to spend">We cannot afford <marker>spend</marker> the whole month in the Alps.</example>
                <example>We cannot afford <marker>to spend</marker> the whole month in the Alps.</example>
                <example>He didn't deserve to lose his job.</example>
                <example>...that gorillas are intelligent enough to learn sign language.</example>
                <example>I choose uniform objects.</example>
                <example>I failed him and he deserved better.</example>
                <example>These carefully chosen marketing images ...</example>
                <example>Old people deserve respect.</example>
                <example>On that point the learned disagree.</example>
                <example>When destiny calls, the chosen have no choice.</example>
                <example>Pretend please you're my husband.</example><!-- #3223 -->
                <example>Some CEOs we've chosen haven't made money for shareholders.</example>
                <example>Can the current techniques of machine learning be deployed successfully to solve even the simplest version of this environment?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">
                        afford|choose|deserve|pretend|str(iv|uggl)e|learn
                        <exception>chosen</exception>
                    </token>
                    <token>not</token>
                    <marker>
                        <token postag="VB" chunk_re=".-VP">
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>This verb is used with the infinitive.</message>
                <suggestion>to <match no="3" postag="VB"/></suggestion>
                <short>Grammatical problem: missing 'to'</short>
                <example correction="to spend">We cannot afford not <marker>spend</marker> the whole month in the Alps.</example>
            </rule>
        </rulegroup>
        <rule id="BE_FOND_TO" name="Wrong preposition: 'be fond to' (be fond of)">
            <pattern>
                <token postag='VBP?' postag_regexp='yes'/>
                <token>fond</token>
                <marker>
                    <token postag='IN'><exception>of</exception></token>
                </marker>
                <token postag='VBG'/>
            </pattern>
            <message>Did you mean <suggestion>of</suggestion>?</message>
            <example correction='of'>Children are fond <marker>to</marker> skipping.</example>
        </rule>

        <rule id="MANY_KINDS_OF" name="many kinds of + singular noun">
            <antipattern>
                <token>many</token>
                <token>kinds</token>
                <token>of</token>
                <token chunk="B-NP-plural"/>
                <token chunk="E-NP-plural"/>
            </antipattern>
            <pattern>
                <token>many</token>
                <token>kinds</token>
                <token>of</token>
                <marker>
                    <token postag='NN'/>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">Did you mean <suggestion><match no="4" postag="N.*" postag_regexp="yes" postag_replace="NNS" /></suggestion>?</message>
            <example correction='books'>There are many kinds of <marker>book</marker> in the shop.</example>
            <example>How Many Kinds Of Immigrant Visas Does It Take To Staff A Startup?</example>
        </rule>
        <rule id="THE_NN_AND_THE_NN" name="the ... and the ... is (are)">
            <pattern>
                <token>the</token>
                <token postag='NN'><exception case_sensitive="yes" regexp="yes">[A-Z][a-z]+</exception></token>
                <token>and</token>
                <token>the</token>
                <token postag='NN'>
                    <exception case_sensitive="yes" regexp="yes">[A-Z][a-z]+</exception>
                    <exception>latter</exception><!-- www.ldoceonline.com/dictionary/latter -->
                    </token>
                <marker>
                    <token>is</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>are</suggestion>?</message>
            <example correction='are'>The plane and the train <marker>is</marker> fast.</example>
            <example>The main character of the animated cartoon The Ant and the Aardvark is a blue aardvark voiced by John Byner.</example>
            <example>...the circle is the former and the latter is called a disk.</example><!-- Regression 2020-07-02 -->
        </rule>
        <rule id="ARRIVE_NNP" name="'arrive' + proper noun ('arrive in' + proper noun)">
            <pattern>
                <marker>
                    <token>arrive</token>
                </marker>
                <token postag='NNP'/>
            </pattern>
            <message>Did you mean <suggestion>arrive in</suggestion> or <suggestion>arrive at</suggestion>?</message>
            <example correction='arrive in|arrive at'>I would like to <marker>arrive</marker> Dallas next day.</example>
        </rule>
        <rule id="WILL_LIKE_TO" name="'will like to' (would like to)">
            <pattern>
                <token postag='PRP'/>
                <marker>
                    <token>will</token>
                </marker>
                <token>like</token>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>would</suggestion>?</message>
            <example correction='would'>I <marker>will</marker> like to do something.</example>
        </rule>
        <rule id="WHO_NOUN" name="Noun following 'who'">
            <pattern>
                <token>
                    who
                    <exception case_sensitive="yes">WHO</exception><!-- https://en.wikipedia.org/wiki/World_Health_Organization -->
                </token>
                <token postag='NN'>
                    <exception postag='VB'/>
                    <exception postag='VBD'/>
                    <exception postag='RB'/>
                    <exception postag='RP'/>
                    <exception>haven</exception>
                </token>
            </pattern>
            <message>A noun should not follow 'who'. Try changing to a verb or maybe to <suggestion>who is a \2</suggestion>.</message>
            <example correction="who is a participant">A student <marker>who participant</marker> in the program</example>
            <example>To all who haven't given up: ...</example>
            <example>One of the earliest tests was developed in mainland China by the country's Center for Disease Control. By January 24, its protocol had been posted on the WHO website.</example>
            <example>For folks who ain't close to it.</example>
        </rule>
        <rule id="THEY_WARE" name="'they ware' vs 'they were'">
            <pattern>
                <token regexp="yes">they|we|you</token>
                <marker>
                    <token>ware</token>
                </marker>
            </pattern>
            <message>'ware' is a noun. Did you mean <suggestion>were</suggestion>?</message>
            <example correction="were">They <marker>ware</marker> busy</example>
            <example type="triggers_error">We <marker>ware</marker> totally amazed by the sight.</example>
        </rule>
        <rulegroup id="A_STOKE" name="having a stoke (stroke)">
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <marker>
                        <token>a</token>
                        <token>stoke</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2 <match no="3" regexp_match="(?i)toke" regexp_replace="troke" /></suggestion>?</message>
                <url>https://www.nhs.uk/conditions/stroke/</url>
                <example correction="a stroke">He is having <marker>a stoke</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <token postag="JJ" min="0" />
                    <marker>
                        <token>stoke</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)toke" regexp_replace="troke" /></suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/a%20stroke</url>
                <example correction="stroke">That was a <marker>stoke</marker> of genius.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">recover|suffer|damage|die|disability</token>
                    <token>from</token>
                    <token>a</token>
                    <token postag="JJ" min="0" />
                    <marker>
                        <token>stoke</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="5" regexp_match="(?i)toke" regexp_replace="troke" /></suggestion> (= brain attack)?</message>
                <url>https://www.merriam-webster.com/dictionary/a%20stroke</url>
                <example correction="stroke">He needs to recover from a <marker>stoke</marker>.</example>
            </rule>
        </rulegroup>

        <rulegroup id="A_INFINITIVE" name="a infinitive">
            <url>https://languagetool.org/insights/post/verbs-as-nouns/</url>
            <short>Grammatical mistake</short>
            <antipattern><!-- https://www.americansforthearts.org/by-program/reports-and-data/legislation-policy/legislative-issue-center/the-create-act -->
                <token>create</token>
                <token>act</token>
            </antipattern>
            <antipattern>
                <token skip="1">nerf</token>
                <token regexp="yes">guns?|wars?|football</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>bring</token>
                <token skip="6">your</token>
                <token regexp="yes">days?</token>
            </antipattern>
            <antipattern>
                <token>Q</token>
                <token regexp="yes">and|&amp;</token>
                <token>A</token>
            </antipattern>
            <antipattern><!-- Z and A are ... -->
                <token case_sensitive="yes" regexp="yes">[A-H]|[J-Z]</token>
                <token min="0">,</token>
                <token regexp="yes">and|&amp;|or</token>
                <token case_sensitive="yes">A</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/PROTECT_IP_Act -->
                <token>Protect</token>
                <token>IP</token>
                <token>Act</token>
            </antipattern>
            <antipattern><!-- Name of a Plan of Ring.com -->
                <token>Protect</token>
                <token>Plus</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Imagine_Dragons -->
                <token>imagine</token>
                <token>dragons</token>
            </antipattern>
            <antipattern>
                <token>Do</token>
                <token>Not</token>
                <token>Track</token>
            </antipattern>
            <antipattern>
                <token>enter</token>
                <token regexp="yes">or|and|&amp;</token>
                <token />
                <token regexp="yes">keys?</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">the|an?</token>
                <token regexp="yes" postag="VBP?" postag_regexp="yes">[A-Z].+</token>
                <token regexp="yes">and|or|&amp;</token>
                <token regexp="yes" postag="VBP?" postag_regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern>
                <token>lynch</token>
                <token regexp="yes">mobs?</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">GROW</token>
            </antipattern>
            <antipattern>
                <token>grow</token>
                <token regexp="yes">rooms?|lights?|beds|models?</token>
            </antipattern>
            <antipattern><!-- "the develop branch" (tech speech) -->
                <token>develop</token>
                <token regexp="yes">branch(es)?</token>
            </antipattern>
            <antipattern><!-- who the frig are you? (informal) -->
                <token>the</token>
                <token>frig</token>
            </antipattern>
            <antipattern>
                <token>mosh</token>
                <token regexp="yes">pits?</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Serie_A -->
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern><!-- https://en.equipauto.com/ -->
                <token>equip</token>
                <token>auto</token>
            </antipattern>
            <antipattern><!-- https://www.rotary.org/en/get-involved/interact-clubs -->
                <token>interact</token>
                <token regexp="yes">clubs?</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- https://www.assurehealthcaregroup.com/ -->
                <token>Assure</token>
                <token>Healthcare</token>
            </antipattern>
            <antipattern><!-- Brexit term -->
                <token>remain</token>
                <token regexp="yes">campaigns?|people|movement|party|politicians?|alliances?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">redeem|unlock</token>
                <token regexp="yes">code|gift|coupon</token>
            </antipattern>
            <antipattern><!-- "the refer a friend" -->
                <token>refer</token>
                <token>a</token>
                <token>friend</token>
            </antipattern>
            <antipattern>
                <token>N</token>
                <token>/</token>
                <token>A</token>
            </antipattern>
            <antipattern><!-- "L.A" -->
                <token case_sensitive="yes">L</token>
                <token spacebefore="no">.</token>
                <token case_sensitive="yes" spacebefore="no">A</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token regexp="yes" spacebefore="no">[a-z]</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">a</token>
            </antipattern>
            <antipattern>
                <token>conceal</token>
                <token regexp="yes">macro|palettes?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">write|read</token>
                <token min="0">only</token>
                <token regexp="yes">access|protection|operations?|buffers?</token>
            </antipattern>
            <antipattern><!-- "Thanks for the add." (https://www.urbandictionary.com/define.php?term=thanks%20for%20the%20add) -->
                <token>for</token>
                <token>the</token>
                <token>add</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- "Click the Connect Domain item", "It is not on the Ignore List" -->
                <token>the</token>
                <token regexp="yes">[A-Z].+</token>
                <token regexp="yes">Your|My|The|An?|Our|Their|Its</token>
                <token postag="NN.*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[Tt]he|[Aa]n?</token>
                <token regexp="yes">[A-Z]{2,30}</token><!-- all UPPERCASE writing -->
            </antipattern>
            <antipattern> <!-- "Please click the unsubscribe link at the end of the mail" (TODO: we should probably have a rule that suggests putting the verb in quotes) -->
                <token postag="VBP?" postag_regexp="yes" />
                <token regexp="yes">CTAs?|files?|rates?|teams?|commands?|requests?|queues?|buttons?|events?|macros?|links?|teasers?|attributes?|icons?|keys?|functions?|functionalit(y|ies)|methods?|features?|page|parameters?|options?|steps?|columns?|plans?|sections?|signals?|actions?|process(es)?|modes?|screens?|errors?|tools?|operations?|statements?</token>
            </antipattern>
            <antipattern> <!-- this is better covered by rule ALTER_BOY -->
                <token regexp="yes">at|to|worship(s|ped)?|around</token>
                <token regexp='yes'>an?|the</token>
                <token>alter</token>
            </antipattern>
            <antipattern>
                <token>Remind</token>
                <token>app</token>
            </antipattern>
            <antipattern>
                <token postag="CD"/>
                <token spacebefore="no">.</token>
                <token spacebefore="no">a</token>
            </antipattern>
            <antipattern><!-- "Let's start with the do's" (already caught by VERB_APOSTROPHE_S) -->
                <token>the</token>
                <token>do</token>
                <token>'s</token>
            </antipattern>
            <antipattern><!-- the merge process/es to be/become -->
                <token>the</token>
                <token/>
                <token postag_regexp="yes" postag="NN(S|:UN?)?"/>
                <token>to</token>
                <token regexp="yes">be(come)?</token>
            </antipattern>
            <antipattern><!-- a be ce. MFU 2019-08-25 I did not find a reference. -->
                <token>a</token>
                <token>be</token>
                <token>ce</token>
            </antipattern>
            <antipattern><!-- Technical talk: "The delete request failed." -->
                <token regexp="yes">an?|the</token>
                <token regexp="yes">put|delete|get|post|patch</token>
                <token>request</token>
            </antipattern>
            <antipattern><!-- https://www.collinsdictionary.com/dictionary/english/scissor -->
                <token regexp="yes">an?|the</token>
                <token>scissor</token>
                <token postag_regexp="yes" postag="NN.*"/>
            </antipattern>
            <antipattern><!-- #489 file name extensions -->
                <token/>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">\w{2,4}|&file_name_extensions;</token>
            </antipattern>
            <antipattern><!-- the translate.google.com website -->
                <token/>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">[a-z0-9\-]+</token>
                <token spacebefore="no">.</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">click|tap</token>
                <token min="0">on</token>
                <token>the</token>
                <token postag='VB|VBP' postag_regexp='yes' />
            </antipattern>
            <antipattern><!-- Copied from Premium #845 the send to a friend feature -->
                <token regexp="yes">an?|the</token>
                <token>send</token>
                <token>to</token>
                <token>a</token>
                <token>friend</token>
                <token postag_regexp="yes" postag="NN.*"/>
            </antipattern>
            <antipattern><!-- Copied from Premium #845 example: https://www.nerdwallet.com/mortgages/refinance-rates -->
                <token>refinance</token>
                <token>rate</token>
            </antipattern>
            <antipattern><!-- Copied from Premium #845 https://pymotw.com/2/bisect/ -->
                <token>bisect</token>
                <token>module</token>
            </antipattern>
            <antipattern><!-- Copied from Premium #845 UK informal: https://dictionary.cambridge.org/dictionary/english/munch -->
                <token>a</token>
                <token>munch</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- the Subscribe and Save button -->
                <token>the</token>
                <token regexp="yes" postag="VBP?" postag_regexp="yes">[A-Z][a-z]+</token>
                <token regexp="yes">and|or|&amp;</token>
                <token regexp="yes" postag="VBP?" postag_regexp="yes">[A-Z][a-z]+</token>
            </antipattern>
            <antipattern><!-- The Don't Ask, Don't Tell Repeal Act -->
                <token regexp="yes">the|an?</token>
                <token>do</token>
                <token>n't</token>
                <token>ask</token>
                <token min="0">,</token>
                <token>don</token>
            </antipattern>
            <antipattern><!-- Qur'an -->
                <token regexp="yes">Qur|Ma</token>
                <token regexp="yes">&apostrophe;</token>
                <token>an</token>
            </antipattern>
            <antipattern><!-- Du'a (https://en.wikipedia.org/wiki/Dua) -->
                <token>Du</token>
                <token regexp="yes">&apostrophe;</token>
                <token>a</token>
            </antipattern>
            <antipattern><!-- C and A are the same -->
                <token regexp="yes" case_sensitive="yes">[A-Z]</token>
                <token regexp="yes">and|or|&amp;</token>
                <token case_sensitive="yes">A</token>
            </antipattern>
            <antipattern><!-- "a.k.a you" -->
                <token>a</token>
                <token>.</token>
                <token>k</token>
                <token>.</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>us</token>
                <token>of</token>
                <token>a</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">.*[a-z].*</token>
                <token>AN</token>
                <token regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token regexp='yes'>an?|the</token>
                <token postag='VB|VBP' postag_regexp='yes' />
                <token spacebefore="no">_</token>
            </antipattern>
            <antipattern><!-- #3076 the co-lead singer -->
                <token regexp='yes'>an?|the</token>
                <token regexp="yes">co-?lead</token><!-- Not a standard adjective in English -->
                <token chunk='E-NP-singular' />
            </antipattern>
            <antipattern><!-- The Ascend Group (name of a company or organization) -->
                <token regexp='yes'>an?|the</token>
                <token postag='VB|VBP' postag_regexp='yes' regexp="yes" case_sensitive="yes">[A-Z].*</token>
                <token regexp="yes" case_sensitive="yes">Group|Holding|Association|Club|Team|Org(ani[zs]ation)?|Corp(oration)?|Inc|plc|PLC</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(right|left|middle|double)-click</token>
                <token min="0" postag_regexp="yes" postag="NN.*|JJ.*" />
                <token regexp="yes">operations?</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/what_the_eff -->
                <token>what</token>
                <token>the</token>
                <token regexp="yes">eff?</token>
            </antipattern>
            <antipattern><!-- www.lexico.com/definition/write_down -->
                <token>write</token><!-- Should be hyphenated -->
                <token>down</token>
            </antipattern>
            <antipattern><!-- Achieve3000 is a tool for teachers -->
                <token>achieve</token>
                <token>3000</token>
            </antipattern>
            <antipattern><!-- https://www.gov.uk/government/publications/prevent-duty-guidance -->
                <token>prevent</token>
                <token>duty</token>
            </antipattern>
            <antipattern><!-- It was an inter- or multidisciplinary act. -->
                <token>inter</token>
                <token spacebefore="no">-</token>
                <token regexp="yes">and|or</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Aston_Martin_Vanquish -->
                <token regexp="yes">V(anquish|ANQUISH)</token>
                <token>S</token>
            </antipattern>
            <antipattern><!-- a Netmail message / an Excite Travel Vacations package [This AP and below are for regressions from the new temp_of rule] -->
                <token regexp="yes">an?|the</token>
                <token chunk_re="I-NP-(singular|plural)" regexp="yes">\p{Lu}\p{L}.*</token>
                <token chunk_re="[IE]-NP-(singular|plural)"/>
            </antipattern>
            <antipattern><!-- Special case: an excel attachment -->
                <token regexp="yes">an?|the</token>
                <token chunk="I-NP-singular">excel</token>
                <token chunk_re="[IE]-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
            </antipattern>
            <antipattern><!-- hyphenation: www.investopedia.com/terms/c/carveout.asp -->
                <token>carve</token>
                <token>out</token>
            </antipattern>
            <antipattern><!-- hyphenation: www.ldoceonline.com/dictionary/the-be-all-and-end-all -->
                <token>be</token>
                <token>all</token>
                <token>and</token>
                <token>end</token>
                <token>all</token>
            </antipattern>
            <antipattern><!-- don't pass/come bet www.casinonewsdaily.com/craps-guide/ -->
                <token>do</token>
                <token>n't</token>
                <token skip="-1" regexp="yes">pass|come</token>
                <token regexp="yes">bets?</token>
            </antipattern>
            <antipattern><!-- an accept/decline  -->
                <token regexp="yes">an?|the</token>
                <token/>
                <token>/</token>
            </antipattern>
            <antipattern><!-- Prefix with missing hyphen: an inter creditor agreement  -->
                <token regexp="yes">an?|the</token>
                <token chunk_re="[IE]-NP-(singular|plural)" regexp="yes">arch|counter|dis|inter|pan|post|sub|vice</token><!-- prefixes that are also verbs -->
                <token chunk_re="[IE]-NP-(singular|plural)"/>
            </antipattern>
            <antipattern><!-- Phrasal verb/noun hyphenation confusion. X + OFF -->
                <token regexp="yes">an?|the</token>
                <token>send</token>
                <token>off</token>
            </antipattern>
            <antipattern><!-- Found by other rules that give a better analysis: a lose ball  -->
                <token regexp="yes">an?|the</token>
                <token chunk_re="[IE]-NP-(singular|plural)">lose</token><!-- LOSE_LOSS -->
                <token chunk_re="[IE]-NP-(singular|plural)"/>
            </antipattern>
            <antipattern><!-- Found by other rules that give a better analysis: an (and) have a -->
                <token>an</token>
                <token chunk="B-VP" postag_regexp="yes" postag="VBP?"/>
                <token chunk="B-NP-singular"/>
            </antipattern>
            <antipattern><!-- an (and) be applied -->
                <token>an</token>
                <token chunk="B-VP">be</token>
                <token chunk="I-VP" postag="VBN"/>
            </antipattern>
            <antipattern><!-- a don't worry, be happy thing [also, if the text is not correct, do not give an incorrect suggestion] -->
                <token regexp="yes">an?|the</token>
                <token/>
                <token>n't</token>
            </antipattern>
            <antipattern><!-- Informal BrE and other: www.lexico.com/definition/do -->
                <token regexp="yes">an?|the</token>
                <token>do</token>
            </antipattern>
            <antipattern><!-- states within the slot of width a are -->
                <token skip="-1" chunk="E-NP-plural" postag="NNS"/>
                <token>of</token>
                <token chunk_re="[BE]-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                <token>a</token>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/>
            </antipattern>
            <antipattern><!-- elements of A are -->
                <token skip="-1" chunk="E-NP-plural" postag="NNS"/>
                <token>of</token>
                <token>a</token>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/>
            </antipattern>
            <antipattern><!-- the thieve(s) -->
                <token regexp="yes">an?|the</token>
                <token/>
                <token>(</token>
                <token>s</token>
                <token>)</token>
            </antipattern>
            <antipattern><!-- Found by PREPOSITION_VERB -->
                <token regexp="yes">an?|the</token>
                <token regexp="yes">believe|confirm|contribute|respond|prepay</token>
            </antipattern>
            <rule><!-- a/an + VBP -->
                <antipattern><!-- let a be -->
                    <token>let</token>
                    <token>a</token>
                    <token>be</token>
                </antipattern>
                <antipattern><!-- (gb)a are / a'/a be -->
                    <token regexp="yes">[)/]</token>
                    <token spacebefore="no">a</token>
                    <token chunk_re="[BI]-VP" postag_regexp="yes" postag="VB.*"/>
                </antipattern>
                <antipattern><!-- McGarrett A are -->
                    <token postag="NNP"/>
                    <token case_sensitive="yes">A</token>
                    <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/>
                </antipattern>
                <antipattern><!-- https://en.wikipedia.org/wiki/Chlorophyll_a -->
                    <token>chlorophyll</token>
                    <token>a</token>
                </antipattern>
                <antipattern><!-- Islamic terms: www.iis.ac.uk/academic-articles/what-shi-islam -->
                    <token regexp="yes">al-Jama|bay|Shari|Shi</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>a</token>
                </antipattern>
                <antipattern><!-- variants of A denote -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>of</token>
                    <token case_sensitive="yes">A</token>
                    <token postag_regexp="yes" postag="VB[PD]"/><!-- Do not use the chunker: denote/I-NP-plural -->
                </antipattern>
                <antipattern><!--  a2, …, an -->
                    <token regexp="yes">[a-z][0-9]</token>
                    <token>,</token>
                    <token>…</token>
                    <token>,</token>
                    <token>an</token>
                </antipattern>
                <antipattern>
                    <token>in</token>
                    <token>-</token>
                    <token spacebefore="no">a</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>an?</token>
                    <token postag='VB|VBP' postag_regexp='yes'>
                        <!-- Many of the excluded words are grammatically wrong but handled by different/better rules -->
                        <exception regexp="yes">cherry\-?pick|commit|remix|hula-hoop|roger|booby-trap|long-running|spend|merge|thank|add|create|re(map|store|place|quire|factor)|occupy|emotes?|Vex|am|humph</exception>
                        <exception>bach</exception><!-- informal noun in NZ: https://www.lexico.com/definition/bach -->
                        <exception>GOOGLE</exception><!-- uppercase only tagged as VB, not sure why -->
                        <exception postag='VBP?|(SENT|PARA)_END' postag_regexp='yes' negate_pos='yes' regexp='yes'>(?!tell$).+</exception>
                        <exception regexp="yes">(right|left|double)-clicks?|fact-checks?</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FindSuggestionsFilter" args="wordFrom:2 desiredPostag:JJ.*|VBN|NN:UN?"/>
                <!-- very long -->
                <message>After '\1', the verb '\2' doesn't fit. Is '\2' spelled correctly? If '\2' is the first word in a compound adjective, use a hyphen between the two words. Using the verb '\2' as a noun may be non-standard.</message>
                <suggestion>\1 {suggestion}</suggestion>
                <example correction="a competed|a complete|a compote">This is <marker>a compete</marker> catastrophe, I think.</example><!-- compete/I-NP-singular -->
                <example correction="a competed|a complete|a compote"><marker>a compete</marker></example>
                <example correction="A restructured"><marker>A restructure</marker> of the DPC's stakeholding may also be on the agenda.</example><!-- Incorrect suggestion: a restructured. Why does the suggestion not include 'restructuring'? -->
                <example correction="a Brine|a Briny|a being|a boring|a brine|a briny">... the club managed to <marker>a bring</marker> their total revenue up to € 54 million euros.</example><!-- Incorrect suggestions, incorrect 'a' -->
                <example correction="a Smoke|a Stone|a smoke|a stoked|a stone|a store|a stove">My grandmother Mimi (mom's mom) had <marker>a stoke</marker> on Monday.</example>
                <example correction="an BS|an Bi|an Re|an bed|an bet|an bi|an by|an bye|an pe|an re">Let me know if Ic <marker>an be</marker> of assistance.</example>
                <example correction="a Sand|a Seed|a sand|a seed|a sent">Might be overkill for your current needs, but worth <marker>a send</marker>.</example>
                <example correction="a project|a protest">Each direction has a working fiber and <marker>a protect</marker> fiber in each direction.</example>
                <example correction="a decline|a reclined">More seat pitch, better seat width and <marker>a recline</marker> of a full 180 degrees is offered.</example>
                <example correction="an extent">At Intel's first and blend" financing of a reduced rate increase and (2) <marker>an extend</marker> and blend product with financed rate reduction embedded in a collar.</example>
                <example correction="an incest">The markets were great in 98 and 99 with the first annuities that we made <marker>an invest</marker> in.</example>
                <example correction=""><!--Not a noun in standard English. -->Only <marker>a reload</marker> of the page will fix this. [https://github.com/languagetool-org/languagetool/issues/1379]</example>
                <example>This is <marker>a complete</marker> catastrophe, I think.</example>
                <example>Let's have a listen to what he wants to say</example>
                <example>He had a listen.</example>
                <example>a show</example>
                <example>We don't have time for a refactor: we're shipping in two weeks.</example><!-- https://en.wiktionary.org/wiki/refactor#Noun -->
                <example>Sections 4.a and 5.<marker>a are</marker> not correct.</example>
                <example>...Dutch sailor Jan van Riebeeck establishes a <marker>resupply camp</marker> that eventually becomes Cape Town.</example>
                <example>The <marker>lynch mob</marker> was coming to town to kill all enemies.</example>
                <example>How do I get a <marker>redeem code</marker>?</example>
                <example>A startle response.</example>
                <example>He pulled a stun gun.</example>
                <example>Let angle A be x.</example>
                <example>Vitamin C and A are almost the same.</example>
                <example>A context menu is a menu in a graphical user interface that appears upon user interaction, such as a right-click mouse operation.</example>
                <example>In the U.S.A be the best.</example><!-- #2511 -->
                <example>What is a Parse Error?</example>
                <example>It was an inter- or multidisciplinary act.</example>
                <example>... but prefer to wait until early 2002 with the next reduction in the refinance rate.</example><!-- Copied from Premium #845 -->
                <example>Python provides the bisect module.</example><!-- Copied from Premium #845 -->
                <example>It has been awhile since we put the mail feedbag on and had a munch.</example><!-- Copied from Premium #845 -->
                <example>AI and AN are also in line for this constructive disruption.</example>
                <example>It was an inter- or multidisciplinary act.</example>
                <example>An Obey spokesman said panel Democrats are working with Republicans to...</example><!-- #4233 -->
                <example>Let a be the edge-length of a uniform antiprism.</example>
                <example>If the ratio a'/a be sufficiently constant, as is often the case...</example><!-- be/I-VP -->
                <example>... and Omnibus Amendment for McGarrett A are clean and (ii) the Series Certificates and ...</example>
                <example>An excel attachment to the order details the Staff findings.</example>
                <example>In Fido's heyday, sending a Netmail message to a user on a distant...</example>
                <example>Someone in his group may have a Confirm sheet with the details on it.</example>
                <example>... against Microsoft's ActiveX technology, changing personal data in a Quicken database.</example>
                <example>... the Newport Pagnell plant rolled out the last of nearly 13,000 cars made there since 1955, a Vanquish S.</example>
                <example>As I do not have any details of this deal, I cannot comment on the need for a carve out of margining rights.</example>
                <example>CD-R is a Write Once Read Many (WORM) optical medium.</example>
                <example>Both Alice and Bob have arrived at the same value, because (ga)b and (gb)a are equal mod p.</example>
                <example>The important thing is that we don't use this information as a be all and end all test of whether we take on a candidate or not.</example>
                <example>The absorption peaks of chlorophyll a are at 665 nm and 465 nm.</example>
                <example>The player may lay odds on a don't come bet, just like a don't pass bet.</example>
                <example>Conversely, you can take back (pick up) a don't pass or don't come bet after the first roll.</example>
                <example>The Twelver Shi'a do not view Abu Bakr's being with Muhammad...</example>
                <example>If we need to establish an accept/decline box I'd recommend...</example>
                <example>Simply book an Excite Travel Vacations package by October 31, 2001.</example>
                <example>Smith's bill would ban the use of methyl tertiary butyl ether, an oxygenate used in 85 percent of reformulated gasoline.</example>
                <example>... will be speaking to all the creditors with a view to reaching an inter creditor arrangement on repayment of the debt.</example>
                <example>I won't be able to drink a beer with you as a send off, but perhaps we can have one in London.</example>
                <example>He sustained the injury while chasing down a lose ball in the fourth quarter.</example>
                <example>We invite you to come an have a look.</example>
                <example>I will make the revisions as noted an send the agreement to you for execution.</example>
                <example>It will take FERC a month or so to approve, but we expect it to be approved an be applied retroactively to December 14, 2000.</example>
                <example>This is a don't worry, be happy, thing.</example>
                <example>We had a do at the weekend, to celebrate the ...</example>
                <example>After that, then it may be a do able item.</example>
                <example>Take care a do not worry about looks.</example>
                <example>After a week, a thieve(s) also stole my new car.</example>
                <example>... the states within the slot of width a are highly constrained so that the energy E of...</example>
                <example>... and the p-heights of the elements of A are finite for each p, then A is isomorphic to a direct sum of finite cyclic groups.</example>
                <example>In the International Phonetic Alphabet, variants of A denote various vowels.</example><!-- denote/I-NP-plural -->
                <example>The way these are booked now indicates that a confirm will need to be generated between the two.</example><!-- Found by PREPOSITION_VERB -->
                <example>Someone in his group may have a confirm sheet with the details on it.</example>
                <example>This is a late payment provision and as such a believe that the provision should be more than...</example><!-- Found by PREPOSITION_VERB -->
                <example>Research will a contribute a resource to the Trading Algorithm effort, presumably one at this point in time.</example><!-- Found by PREPOSITION_VERB -->
                <example>Please allow one to two business days for a respond.</example><!-- Found by PREPOSITION_VERB -->
                <example>He said we would need either a parent guarantee or a prepay to transact with occidental energy marketing.</example><!-- Found by PREPOSITION_VERB -->
                <example type="triggers_error">The open e and back a are often indicated in writing by the use of the letters "alaph"...</example>
                <example>... because if a1, a2, …, an are the elements of F, then the polynomial (x − a1)(x − a2) ··· (x − an) + 1 has no zero in F.</example>
                <example>Many of them that end in -a are feminine.</example>
            </rule>
            <rule><!-- the + VBP -->
                <antipattern><!-- in the conquer phase -->
                    <token postag_regexp="yes" postag="IN|CC"/>
                    <token>the</token>
                    <token/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <pattern>
                    <token>the</token>
                    <token postag='VB|VBP' postag_regexp='yes'>
                        <!-- Many of the excluded words are grammatically wrong but handled by different/better rules -->
                        <exception regexp="yes">cherry\-?pick|commit|remix|hula-hoops?|booby-traps?|roger|long-running|spend|merge|thank|add|create|re(map|store|place|quire|factor)|occupy|emotes?|Vex|am|humph</exception>
                        <exception>bach</exception><!-- informal noun in NZ: https://www.lexico.com/definition/bach -->
                        <exception>GOOGLE</exception><!-- uppercase only tagged as VB, not sure why -->
                        <exception postag='VBP?|(SENT|PARA)_END' postag_regexp='yes' negate_pos='yes' regexp='yes'>(?!tell$).+</exception>
                        <exception regexp="yes">(right|left|double)-clicks?|fact-checks?</exception>
                        <exception>are</exception><!-- Found by THE_ARE  -->
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FindSuggestionsFilter" args="wordFrom:2 desiredPostag:JJ.*|VBN"/>
                <message>After '\1', the verb '\2' doesn't fit. Is '\2' spelled correctly? If '\2' is the first word in a compound adjective, use a hyphen between the two words. Using the verb '\2' as a noun may be non-standard.</message>
                <suggestion>to \2</suggestion>
                <suggestion>\1 {suggestion}</suggestion>
                <example correction="to tell|the fell|the tall|the well">... and Enron about <marker>the tell</marker> Joann we had incurred several days of penalties.</example>
                <example correction="to expectorate|the expectorated">In some brands, <marker>the expectorate</marker> is stained, so that one can see the bacteria and debris.</example><!-- Sounds OK, but I did not find 'expectorate' as a noun in the standard dictionaries -->
                <example>... and Enron about <marker>to tell</marker> Joann we had incurred several days of penalties.</example>
                <example>This test was done by sending the Netmail message to a user.</example>
                <example>The adapt_image.png</example>
                <example>What the eff?</example>
                <example>For the <marker>merge processes</marker> to be faster, we must...</example>
                <example>... that script the way abecedary derives from Latin a be ce de.</example>
                <example><marker>The add/drop</marker> transaction is not final until the changes have been processed</example>
                <example>Okay, so I guess we add "merchandize" to the <marker>prohibit.txt</marker>?</example><!-- #489 -->
                <example>The Unroll.me website.</example>
                <example>Please use the translate.google.com website.</example>
                <example>The remain campaign.</example>
                <example>The vex robotics.</example>
                <example>Flush the write buffer.</example>
                <example>Vitamin C and A are almost the same.</example>
                <example>The restore of our backup failed.</example><!-- Dev Speech (https://en.wiktionary.org/wiki/restore#Noun) -->
                <example>In the U.S.A be the best.</example><!-- #2511 -->
                <example>When I Heard the Learn’d Astronomer</example>
                <example>Check out the <marker>send to a friend feature</marker> next to each article.</example><!-- Copied from Premium #845 -->
                <example>... but prefer to wait until early 2002 with the next reduction in the refinance rate.</example><!-- Copied from Premium #845 -->
                <example>... Skyler Jett, replaced Lionel Richie as the co-lead singer for The Commodores.</example><!-- #3076 -->
                <example>"Mount" Megiddo is not actually a mountain, but a tell (a hill created by many generations of people living and rebuilding on the same spot).</example>
                <example>We need to effectively adjust the write down of the asset to reflect what we truly believe is collectible.</example><!-- Found by WRITE_UP_HYPHEN -->
                <example>Provide Suzanne with the headcount for the confirm/settlements program on May 5th.</example>
                <example>Policy on the Concur Expense home page under the Company Links section.</example>
                <example>... and the do last night was great.</example>
                <example>... and within a week the thieve(s) ordered an expensive monthly cell phone package.</example>
                <example>Here the are again the sums of powers of differences from the mean.</example><!-- Found by THE_ARE -->
                <example>The believe it is at a minimum half a million, maybe more.</example>
                <example>... and sorting of entire data can be obtained in the conquer phase by merging the segments.</example>
                <example>... into multiple sub problems and so the conquer stage will be more complex than decrease and conquer algorithms.</example>
            </rule>
            <rule default="temp_off">  <!-- ARTICLE_VB from Premium (gp4); temp off FOR NOW, improvement incoming -->
                <antipattern>
                    <token><exception postag="SENT_START"/></token>
                    <token case_sensitive="yes">A</token>
                </antipattern>
                <antipattern><!-- https://www.rotary.org/en/get-involved/interact-clubs -->
                    <token>interact</token>
                    <token regexp="yes">clubs?</token>
                </antipattern>
                <antipattern><!-- brexit term -->
                    <token>remain</token>
                    <token regexp="yes">campaigns?|people|movement|party|politicians?</token>
                </antipattern>
                <antipattern><!-- the conquer stage will... [the 'verb' is really a modifier that acts as an adjective] -->
                    <token regexp="yes">an?|the</token>
                    <token/>
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token postag="MD"/>
                </antipattern>
                <antipattern><!-- Cannot use <or> in an antipattern -->
                    <token regexp="yes">an?|the</token>
                    <token/>
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token regexp="yes" inflected="yes">be|become</token><!-- The safe option is to use  only be/become, not all verbs -->
                </antipattern>
                <antipattern>
                    <token regexp="yes">lowercase|small</token>
                    <token>a</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">write|read</token>
                    <token regexp="yes">access|protection</token>
                </antipattern>
                <antipattern><!-- "Thanks for the add." (https://www.urbandictionary.com/define.php?term=thanks%20for%20the%20add) -->
                    <token>for</token>
                    <token>the</token>
                    <token>add</token>
                </antipattern>
                <antipattern>
                    <token>lynch</token>
                    <token regexp="yes">mobs?</token>
                </antipattern>
                <antipattern>
                    <token>redeem</token>
                    <token regexp="yes">code|gift</token>
                </antipattern>
                <antipattern><!-- already covered by OPT_IN_HYPHEN (including a suggestion) -->
                    <token>opt</token>
                    <token regexp="yes">in|out</token>
                </antipattern>
                <antipattern> <!-- "Please click the unsubscribe link at the end of the mail" (TODO: we should probably have a rule that suggests putting the verb in quotes) -->
                    <token postag="VBP?" postag_regexp="yes" />
                    <token regexp="yes">buttons?|links?|teasers?|icons?|keys?|functions?|functionalit(y|ies)|methods?|features?|page|parameters?|options?|steps?|columns?|plans?|sections?|signals?|actions?|process(es)?|modes?</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>hots</token><!-- Not NNS, because it is only NNS in the phrase 'the hots' -->
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token>be</token>
                    <token>ce</token>
                </antipattern>
                <antipattern><!-- https://www.collinsdictionary.com/dictionary/english/scissor -->
                    <token regexp="yes">an?|the</token>
                    <token>scissor</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- Necessary because of incorrect disambiguation in VBZNNS_DT_NN-->
                    <token regexp="yes">an?|the</token>
                    <token/>
                    <token>all</token>
                    <token regexp="yes">day|week|month|year|afternoon|morning</token>
                </antipattern>
                <antipattern><!-- https://en.wikipedia.org/wiki/Is%E2%80%93ought_problem -->
                    <token>the</token>
                    <token>is</token>
                    <token>–</token>
                    <token>ought</token>
                    <token>problem</token>
                </antipattern>
                <antipattern><!-- a be ce. MFU 2019-08-25 I did not find a reference. -->
                    <token>a</token>
                    <token>be</token>
                    <token>ce</token>
                </antipattern>
                <antipattern><!-- Technical talk: "The delete request failed." -->
                    <token regexp="yes">an?|the</token>
                    <token regexp="yes">put|delete|get|post|patch</token>
                    <token>request</token>
                </antipattern>
                <antipattern><!-- #489 file name extensions -->
                    <token/>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">\w{2,4}|&file_name_extensions;</token>
                </antipattern>
                <antipattern><!-- the translate.google.com website -->
                    <token/>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">[a-z0-9\-]+</token>
                    <token spacebefore="no">.</token>
                </antipattern>
                <antipattern><!-- #845 the send to a friend feature -->
                    <token regexp="yes">an?|the</token>
                    <token>send</token>
                    <token>to</token>
                    <token>a</token>
                    <token>friend</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- #845 https://en.wikipedia.org/wiki/Chlorophyll_a -->
                    <token>Chlorophyll</token>
                    <token>a</token>
                </antipattern>
                <antipattern><!-- #845 example: https://www.nerdwallet.com/mortgages/refinance-rates -->
                    <token>refinance</token>
                    <token>rate</token>
                </antipattern>
                <antipattern><!-- #845 https://pymotw.com/2/bisect/ -->
                    <token>bisect</token>
                    <token>module</token>
                </antipattern>
                <antipattern><!-- #845 https://en.wikipedia.org/wiki/Copulative_a -->
                    <token>copulative</token>
                    <token>a</token>
                </antipattern>
                <antipattern><!-- #845 -->
                    <token>where</token>
                    <token>a</token>
                    <token>is</token>
                    <token>non-zero</token>
                </antipattern>
                <antipattern><!-- #845 UK informal: https://dictionary.cambridge.org/dictionary/english/munch -->
                    <token>a</token>
                    <token>munch</token>
                </antipattern>
                <antipattern><!-- #1350 the do's and don'ts [not correct, found by open-source DOS_AND_DONTS -->
                    <token>the</token>
                    <token>do</token>
                    <token>'s</token>
                </antipattern>
                <antipattern><!-- the excel document [Found by A_GOOGLE ]-->
                    <token regexp="yes">an?|the</token>
                    <token>excel</token>
                    <token postag_regexp="yes" postag="NN.*" regexp="yes" inflected="yes">document|file|folder|format|sheet|spreadsheet</token>
                </antipattern>
                <antipattern><!-- www.lexico.com/definition/write_down -->
                    <token>write</token><!-- Should be hyphenated -->
                    <token>down</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token spacebefore="yes" regexp="yes">an?|the<exception postag_regexp="yes" postag="NNPS?"/><exception scope="next" case_sensitive="yes" regexp="yes">[A-Z].+</exception></token><!-- Assume initial caps is NNP -->
                        <token postag="VBZ" chunk="B-VP"><!-- VBP already found by A_INFINITIVE -->
                            <exception negate_pos="yes" postag="VBZ"/>
                        </token>
                    </marker>
                </pattern>
                <message>In standard English, the word '\2' is a verb only. Did you mean to use a determiner in front of the verb, for example,<suggestion>that \2</suggestion>? Or, possibly, a hyphen is missing in a compound adjective.</message>
                <short>Possible grammar error</short>
                <example correction="that happens">… but <marker>the happens</marker> very rarely.</example>
                <example correction="that happens">… but <marker>the happens</marker>'s on occasion.</example>
    <!--            <example correction="That disambiguate"><marker>A disambiguate</marker> is not easy.</example> GUI shows an error, but testrules says no errors. -->
                <example>… but <marker>that</marker> happens very rarely.</example>
                <example>The <marker>book</marker> is on the table.</example>
                <example>...is placed on top of the opening to support the <marker>bricks</marker> above.</example>
                <example>Alabama had an <marker>estimated</marker> population of under 10,000 people...</example>
                <example>A <marker>disambiguated</marker> (or otherwise processed) sentence...</example>
                <example>The <marker>emerging</marker> of the butterfly from the...</example>
                <example>In particular, if <marker>A</marker> criticizes the actions of B...</example>
                <example>The <marker>Qur'an</marker> does not depict...</example>
                <example>If the ratio <marker>a'/a</marker> be sufficiently constant, as is often the case....</example>
                <example>... with Paul Jones and <marker>the Blues Society</marker> of Italian bluesman Guido...</example>
                <example>The <marker>voices</marker> all die down slowly.</example>
                <example>...of black pants with purple jersey made the <marker>Ravens</marker> the first NFL team to wear dark colors.</example>
                <example>...educational programme using time travel as <marker>a means</marker> to explore scientific ideas and famous...</example>
                <example>..., Surprise Package AC-130s were converted to <marker>the Pave Pronto</marker> configuration...</example>
                <example>In <marker>the off season</marker>, Paul O'Neill...</example>
                <example>...denotes the open back unrounded vowel and <marker>lowercase a</marker> denotes the open front unrounded vowel.</example>
                <example>They've really got <marker>the hots</marker> for each other.</example>
                <example>... that script the way abecedary derives from Latin <marker>a be ce</marker> de.</example>
                <example>... the problem into multiple subproblems and so <marker>the conquer stage</marker> will be more complex than...</example>
                <example>... and there was no discernible flicker if <marker>the refresh rate</marker> was set to a sufficiently high value.</example>
                <example>The boy observed <marker>the birds</marker> all day.</example>
                <example>I received <marker>the thank</marker> you mail.</example>
                <example>...ethical argument is unsound and fails to solve <marker>the is–ought problem</marker> posed by David Hume.</example>
                <example>Okay, so I guess we add "merchandize" to the <marker>prohibit.txt</marker>?</example><!-- #489 -->
                <example>Check out the <marker>send to a friend feature</marker> next to each article.</example><!-- #845 -->
                <example>Chlorophyll a is found in all chloroplasts, as well as their cyanobacterial ancestors.</example><!-- #845 -->
                <example>... but prefer to wait until early 2002 with the next reduction in the refinance rate.</example><!-- #845 -->
                <example>Python provides the bisect module.</example><!-- #845 -->
                <example>Copulative a is the Greek prefix ἁ- or ἀ- ha-, a-.</example><!-- #845 -->
                <example>... f: R → R, f(x) = ax + b (where a is non-zero) is a bijection.</example><!-- #845 -->
                <example>... (or ski archery), where the rifle is replaced by a recurve bow.</example><!-- #845 -->
                <example>It has been awhile since we put the mail feedbag on and had a munch.</example><!-- #845 -->
                <example>He lives in the woods all by himself.</example><!-- #1350 -->
                <example>On the paper she had enumerated the do's and don'ts for him.</example><!-- #1350 -->
                <example>There are 25 tables in the standard presented in <marker>an excel</marker> format.</example>
                <example>We need to effectively adjust the write down of the asset to reflect what we truly believe is collectible.</example>
                <example>The AN's official newspaper was Secolo d'Italia.</example>
                <example>... all strings with the same number of a's as b's, the nonterminal U generates all...</example>
    <!-- testrules error     <example type="triggers_error">Please follow the unsubscribe instructions below.</example> -->
    <!-- testrules error     <example type="triggers_error">Greg, I am mailing to you a copy of the unwind/rebook summary for the Trigen deal.</example> -->
                <example>In the masculine, Russian also distinguishes between animate and inanimate nouns with regard to the accusative; only the animates carry a marker in this case.</example>
            </rule>
        </rulegroup>      

        <rule id="THE_HOT_DOG" name="the hot-dog (hot dog)">
            <!-- nouns that are verbs when spelled with a hyphen in between -->
            <pattern>
                <token regexp="yes">the|an?|my|y?our|his|their</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token regexp="yes">lip-syncs?|hot-dogs?</token>
                </marker>
            </pattern>
            <message>The word "\2" spelled with a hyphen is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="-" regexp_replace=" " /></suggestion>?</message>
            <example correction="hot dog">He was eating a delicious <marker>hot-dog</marker>.</example>
        </rule>
        <rule id="THE_WELSH" name="the/a welsh (Welsh)">
            <pattern>
                <token regexp="yes">the|an?|y?our|my|their|his|her|its|s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception>few</exception>
                </token>
                <marker>
                    <token case_sensitive="yes">welsh</token>
                </marker>
            </pattern>
            <message>Consider capitalizing this word if you want to describe something related to the country "Wales".</message>
            <suggestion>Welsh</suggestion>
            <url>https://www.lexico.com/definition/welsh</url>
            <example correction="Welsh">The castle stands high above a crossing point of the river Wye, an area taken from the <marker>welsh</marker> by the Normans only in the late C11.</example>
        </rule>
        <rule id="A_SCISSOR" name="a scissor (scissors)">
            <antipattern>
                <token>scissor</token>
                <token>sisters</token>
            </antipattern>
            <antipattern><!-- singular form can be used as a modifier -->
                <token>scissor</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>scissors</token>
            </antipattern>
            <pattern>
                <token regexp="yes">an?|the</token>
                <token regexp="yes">scissors?</token>
            </pattern>
            <message>The noun "scissors" is mostly used in plural form.</message>
            <suggestion>scissors</suggestion>
            <suggestion>\1 pair of scissors</suggestion>
            <url>https://www.lexico.com/definition/scissors</url>
            <example correction="scissors|a pair of scissors">I needed <marker>a scissor</marker> to finally cut it.</example>
        </rule>
        <rulegroup id="IN_A_HARRY" name="In a harry (hurry)">
            <antipattern>
                <token>harry</token>
                <token regexp="yes">potter.*|styles.*|truman</token>
            </antipattern>
            <antipattern>
                <token>harry</token>
                <token />
                <token regexp="yes">prequel|sequel|movie|book|novel|film|song|track|context|quiz|spin|roleplay|costume|exhibit</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>in</token>
                    <token>a</token>
                    <token case_sensitive="yes">harry</token>
                </pattern>
                <message>Did you mean <suggestion>\1 \2 <match no="3" regexp_match="(?i)a" regexp_replace="u" /></suggestion>?</message>
                <example correction="in a hurry">He was <marker>in a harry</marker>.</example>
                <example>Now you can rent and stay in a harry potter-themed apartment.</example>
                <example>In a Harry Potter book.</example>
                <example>In a Harry Gouding book.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">harry</token>
                    </marker>
                    <token>up</token>
                </pattern>
                <message>Did you mean the verb <suggestion>hurry</suggestion> or the name <suggestion><match no="1" case_conversion="startupper" /></suggestion>?</message>
                <example correction="hurry|Harry">Push <marker>harry</marker> up!</example>
                <example correction="hurry|Harry">Please <marker>harry</marker> up.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        harry
                        <exception postag="VB.*" postag_regexp="yes" scope="previous" />
                    </token>
                    <token>up</token>
                </pattern>
                <message>Did you mean <suggestion>hurry up</suggestion>?</message>
                <example correction="Hurry up"><marker>Harry up</marker>!</example>
                <example>What's harry up to?</example>
                <example>Freddy picked Harry up by his collar.</example>
            </rule>
        </rulegroup>
        <rule id="A_BLESS_DAY" name="Have a bless (blessed) day">
            <pattern>
                <token regexp="yes">an?|the</token>
                <marker>
                    <token>bless</token>
                </marker>
                <token regexp="yes">day|week|month|year|weekend|holiday|vacation|&weekdays;</token>
            </pattern>
            <message>Did you mean <suggestion>blessed</suggestion> or <suggestion>blessing</suggestion>?</message>
            <example correction="blessed|blessing">Have a <marker>bless</marker> day!</example>
        </rule>
        <rulegroup id="CC_VERB" name="Correct use of 'cc'">
            <url>https://www.merriam-webster.com/dictionary/cc</url>
            <rule>
                <pattern>
                    <token regexp="yes">
                        cc(e?d|ing)
                        <exception case_sensitive="yes">CCD</exception>
                    </token>
                </pattern>
                <message>The correct form of the verb 'to cc' here is <suggestion><match no="1" regexp_match="^(..)e?" regexp_replace="$1'" case_conversion="alllower" /></suggestion>.</message>
                <example correction="cc'd">I <marker>cced</marker> you on the mail.</example>
                <example correction="cc'ing">I am <marker>CCing</marker> you on the mail I'm about to send.</example>
                <example>Tom has <marker>cc'd</marker> me on all emails he sent to the customer.</example>
                <example>The Palomar-Quest large-area CCD camera.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_BUILT" name="'the built'">
            <!-- developer speech: "The built (build) is failing" -->
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|.*CI|travis</token>
                    <marker>
                        <token>built</token>
                    </marker>
                    <token regexp="yes">is|was|has|fail(ing|ed|s|ure)?|success|succeed(ing|ed|s)|stages?|logs?|systems?|settings?|pipelines?|scripts?|pass(es)?|matrix|process</token>
                </pattern>
                <message>Did you mean the noun <suggestion>build</suggestion>?</message>
                <example correction="build">The <marker>built</marker> is failing.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|.*CI|travis|failing|failed|succeeded</token>
                    <marker>
                        <token>built</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token><!-- Punctuation character -->
                </pattern>
                <message>Did you mean the noun <suggestion>build</suggestion>?</message>
                <example correction="build">I have restarted the <marker>built</marker>.</example>
                <example>How it's built.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MUST_HAVE" name="Hyphen in 'must have/see'">
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|of|from|my|y?our|his|their</token>
                    <token postag="JJ" min="0">
                        <exception postag="NN.*" postag_regexp="yes" regexp="yes">(?!absolute$).+</exception>
                    </token>
                    <marker>
                        <token>must</token>
                        <token regexp="yes">sees?|try|haves?|hears?|reads?|watch|go|dos?|listen|buy|eats?|visit|know|loves?|plays?|use</token>
                    </marker>
                </pattern>
                <message>It appears that a hyphen is missing in this expression.</message>
                <suggestion><match no="3" />-<match no="4" /></suggestion>
                <example correction="must-see">That's a <marker>must see</marker> attraction.</example>
                <example correction="must-read">A collection of <marker>must read</marker> books.</example>
                <example correction="must-love">The festival is a world class event and it is a <marker>must love</marker>.</example>
                <example>Avengers is a <marker>must-see</marker> movie.</example>
                <example correction="must-have">It is an absolute <marker>must have</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>must</token>
                        <token regexp="yes">sees?|try|haves?|hears?|reads?|watch|go|do|listen|buy|eats?|visit|know|loves?|plays?|use</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">for|from|by</token>
                </pattern>
                <message>It appears that a hyphen is missing in this expression.</message>
                <suggestion><match no="2" />-<match no="3" /></suggestion>
                <example correction="Must-haves"><marker>Must haves</marker> for anyone who loves nature.</example>
                <example correction="Must-reads"><marker>Must reads</marker> from your favorite author.</example>
                <example><marker>Must-visit</marker> places in Amsterdam.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|DT|PRP.*" postag_regexp="yes" />
                    <token postag="CD"><exception>one</exception></token>
                    <marker>
                        <token>must</token>
                        <token regexp="yes">sees?|try|haves?|hears?|reads?|watch|go|do|listen|buy|eats?|visit|know|loves?|plays?|use</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that a hyphen is missing in this expression.</message>
                <suggestion><match no="3" />-<match no="4" /></suggestion>
                <example correction="must-read">Our 9 <marker>must read</marker> blog articles from Techcrunch.</example>
                <example correction="must-listen">10 <marker>must listen</marker> songs from the Beatles.</example>
                <example>10 <marker>must-visit</marker> places in Amsterdam.</example>
                <example>One must go to the library.</example>
                <example>You must do to your excercises.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|DT|VB.*" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception>one</exception>
                    </token>
                    <token min="0">RPM</token>
                    <marker>
                        <token>must</token>
                        <token>offer</token>
                    </marker>
                    <token regexp="yes">requirements?|exceptions?|proposals?|rules?|process|generators?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>\4-\5</suggestion>?</message>
                <example correction="must-offer">He started looking into the <marker>must offer</marker> requirements.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WOLD_WOULD" name="wold vs. would">
            <antipattern>
                <token>cold</token>
                <token regexp="yes" inflected="yes">call|press|shoulder|turkey</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <token>wold</token>
                </pattern>
                <message>Did you mean <suggestion>\1 would</suggestion>?</message>
                <example>He conquered it and wanted to make it his wold.</example>
                <example correction="She would"><marker>She wold</marker> like to attend the event.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token postag="RB" min="0" />
                    <token>cold</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">be|have</token>
                    <token min="0">n't</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- why's it so cold? -->
                    <token>'s</token>
                    <token regexp="yes">s?he|it|we|they|I|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|I|you</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">cold|coud|cud</token>
                    </marker>
                    <token postag="VBP?|PCT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>could</suggestion>?</message>
                <example correction="could">They <marker>cold</marker> do it on their own.</example>
                <example>I can make you cold.</example>
                <example>Aren't you cold?</example>
                <example>Why's it so cold?</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?|my|your|s</token>
                    <token regexp="yes">[cw]old</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">[cw]old</token>
                    </marker>
                    <token>have</token>
                    <token postag="VBN" />
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)old" regexp_replace="ould" /></suggestion>?</message>
                <example correction="would">Tom <marker>wold</marker> have done it differently.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes">[cw]old</token>
                    </marker>
                    <token postag="PRP">
                        <exception>one</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)old" regexp_replace="ould" /></suggestion>?</message>
                <example correction="Would"><marker>Wold</marker> you do it again?</example>
                <example>Cold one day warm the next.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">who|where|when|what|how|which</token>
                    <marker>
                        <token regexp="yes">[cw]old</token>
                    </marker>
                    <token postag="PRP">
                        <exception>one</exception>
                    </token>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception>are</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)old" regexp_replace="ould" /></suggestion>?</message>
                <example correction="would">When <marker>wold</marker> you do it again?</example>
                <example correction="would">Where <marker>wold</marker> we be without them.</example>
                <example>How cold it is!</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token>wold</token>
                </antipattern>
                <antipattern>
                    <token postag="JJ.*|DT" postag_regexp="yes" />
                    <token>wold</token>
                    <token postag="VB[DZ]" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token case_sensitive="yes">
                        wold
                        <exception scope="previous" postag="SENT_START|PCT" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean the modal verb <suggestion>would</suggestion>?</message>
                <example correction="would">I <marker>wold</marker> do it again.</example>
                <example>Other terms used to mean "an area with a high density of trees" are wood, woodland, wold, weald, holt, frith and firth.</example>
                <example>Our troubled wold pains me; it could be so much better.</example><!-- confusion of "world" -->
            </rule>
        </rulegroup>
        <rule id="HE_SEAS" name="seas vs. sees">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <token>seas</token>
            </pattern>
            <message>Did you mean <suggestion>\1 \2 sees</suggestion>?</message>
            <example correction="He usually sees"><marker>He usually seas</marker> the sun when he opens his window in the morning.</example>
        </rule>
        <rule id="YOU_HAV" name="you hav (have)">
            <pattern>
                <token regexp="yes">you|they|I|we</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>hav</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>have</suggestion>?</message>
            <example correction="have">I <marker>hav</marker> no idea.</example>
            <example>I <marker>have</marker> seen the light.</example>
        </rule>
        <rule id="THE_ARE" name="the (they, there) are">
            <antipattern>
                <token>the</token>
                <token postag="NN">are</token>
                <token postag_regexp="yes" postag="VB[DZ]"/>
            </antipattern>
            <pattern>
                <marker>
                    <token>the</token>
                    <token>are</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>they \2</suggestion> or <suggestion>there \2</suggestion>?</message>
            <example correction="They are|There are"><marker>The are</marker> many people.</example>
            <example correction="they are|there are">And <marker>the are</marker> beautiful!</example>
            <example correction="They are|There are"><marker>The are</marker>n't ready yet.</example>
            <example correction="they are|there are">Here <marker>the are</marker> again the sums of powers of differences from the mean...</example>
            <example correction="They are|There are"><marker>The are</marker> going to the party.</example>
            <example correction="they are|there are">They may be as basic as pictures on a board that <marker>the are</marker> used to request food, drink, or other care;</example>
            <example><marker>There are</marker> different places to see.</example>
            <example>The are is a unit of measurement (www.lexico.com/en/definition/are).</example>
            <example>Though the are has fallen out of use, the hectare is still ...</example>
            <example>... and the are became of historic interest only.</example>
            <example type="triggers_error">The are used to be a common unit of measurement.</example><!-- TODO. Disambiguation VBN_VBD applies used/VBN, thus the AP fails. -->
        </rule>
        <rule id="AN_ARE" name="an + are">
            <antipattern><!--  a2, …, an -->
                <token regexp="yes">[a-z][0-9]</token>
                <token>,</token>
                <token>…</token>
                <token>,</token>
                <token>an</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>an
                        <exception postag="NNP"/>
                    </token>
                    <token regexp="yes">aren?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>and \2</suggestion>?</message>
            <example correction="and are">They are great <marker>an are</marker> very responsive.</example>
            <example>They are great <marker>and are</marker> very responsive.</example>
            <example>Among Non-Arab Muslims, translations of the <marker>Qur'an</marker> are most often accompanied by the original text.</example>
            <example>... because if a1, a2, …, an are the elements of F, then the polynomial (x − a1)(x − a2) ··· (x − an) + 1 has no zero in F.</example>
        </rule>
        <rulegroup id="THE_THEY" name="the (they)">
            <antipattern>
                <token>the</token>
                <token regexp="yes">further|lower|love|hole|amount|staff|&uncommon_verbs;</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">
                    off?|from|to|at|by|for|with(in|out)?|[io]n
                    <exception postag="SENT_START" scope="previous" />
                </token>
                <token>the</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>wo</token>
                <token>n't</token>
                <token>fix</token>
                <token regexp="yes">status|state|issues?|tasks?|cards?</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">and|or|as|after|before</token>
                    <token>the</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" />
                    <token regexp="yes">the|an?|my|y?our|his|her</token>
                </antipattern>
                <antipattern><!-- the lower the ... -->
                    <token postag="CC" />
                    <token>the</token>
                    <token postag="JJR" />
                    <token regexp="yes">the|my|y?our|their|his|her|its</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>the</token>
                    <token postag="VB[DP]?" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                    <token regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">when|if|and|because|since|unless|but|as|before|after</token>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token postag="VB[DP]?" postag_regexp="yes">
                        <exception regexp="yes">time|reload</exception>
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">
                        the|an?|my|y?our|their|his|her|its|us|him|me
                        <exception case_sensitive="yes">US</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>they</suggestion> or <suggestion>then</suggestion>?</message>
                <example correction="they|then">We can do it if <marker>the</marker> create the concept.</example>
                <example correction="they|then">What if <marker>the</marker> allowed us to do it?</example>
                <example correction="they|then">The Tour Down Under is the largest cycling event outside Europe and <marker>the</marker> was the first event outside Europe to be granted UCI ProTour status.</example>
                <example correction="they|then">I asked the nurse to let me talk to them and when <marker>the</marker> pulled the curtain back no one was there.</example>
                <example correction="they|then">In politics and civic affairs leaders of the pillar organizations cooperated and <marker>the</marker> acknowledged the right of the other pillars, so public life generally ran smoothly.</example>
                <example>The older tires get, the harder the rubber becomes and the lower the traction becomes.</example>
                <example>We will call the first the furnace and the second the refrigerator.</example>
                <example>Tokyo was really wonderful and the welcome the Japanese extended to us was also just as wonderful.</example>
                <example>Detroit techno developed as the DJ The Electrifying Mojo did his radio program, which fused eclectic sounds into the signature Detroit techno sound.</example>
                <example>These races, Ionian and Dorian, were the foremost in ancient time, the first a Pelasgian and the second a Hellenic people.</example>
                <example>The macro currently has two triggers, the first a time based trigger that fires at 5:00 am and the second a keystroke trigger.</example>
                <example>In that case each of the equations describes a spherical cone, with the cusp located at the satellite, and the base a sphere around the satellite.</example>
                <example>But the reason the Sooners lost the game was ...</example>
                <example>Our kids knew how old they were, and the season their birthday was in.</example>
                <example>... (full signature, no changes made), but the Annex A is not attached, we do not have...</example>
                <example>This matters because the lower the marginal product, the lower the welfare cost of debt.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>the</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">an?|the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" min="1" max="2" />
                    <token postag="VB[ZD]" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>these</token>
                    <token regexp="yes">days|weeks</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">if|when|once</token>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token postag="MD" min="0" />
                    <token postag="VB[DP]?" postag_regexp="yes" />
                    <token regexp="yes">th[eo]se|an?|the|t?here|my|y?our|his|her|their</token>
                </pattern>
                <message>Did you mean <suggestion>they</suggestion>, <suggestion>that</suggestion> or <suggestion>there</suggestion>?</message>
                <example correction="they|that|there">It doesn't matter if <marker>the</marker> go a little further.</example>
                <example>Others seem to think that if the party a given journalist favors is in power they should remain silent on wrongdoing and report only the good stuff.</example>
            </rule>
            <rule>
                <antipattern><!-- adjective without hyphen "This book is a must-read" -->
                    <token>must</token>
                    <token regexp="yes">have|read|go|see|visit|be|do|offer|take|watch|trip|fix</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- the Will.I.Am Song -->
                    <token>the</token>
                    <token postag="MD" regexp="yes">[A-Z].+</token>
                    <token postag="RB|VBP" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker><token>the</token></marker>
                    <token postag="MD" />
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>they</suggestion>, <suggestion>that</suggestion> or <suggestion>there</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="They|That|There"><marker>The</marker> cannot help you.</example>
                <example correction="They|That|There"><marker>The</marker> would not do it like that.</example>
                <example correction="They|That|There"><marker>The</marker> will make me truly happy.</example>
                <example correction="they|that|there">But <marker>the</marker> would be pretty far down my trouble list.</example>
                <example correction="they|that|there">As usual, <marker>the</marker> will provide details separately on the location.</example>
                <example correction="they|that|there">For <marker>the</marker> should be created.</example>
                <example>On any Day, if the Must Offer Generator cannot generate the full PMax it must file a generation outage report.</example>
                <example>The must have toy this year...</example>
                <example>Justify the need.</example>
                <example>Ripping the will up after all.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token case_sensitive="yes" regexp="yes">do|did</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>they</suggestion> or <suggestion>that</suggestion>?</message>
                <example>The Don't Laugh Challenge.</example>
                <example>The Don't Quit Podcast.</example>
                <example>Do the Don't.</example>
                <example correction="They|That"><marker>The</marker> don't know.</example>
                <example correction="they|that">What <marker>the</marker> didn't know about was ...</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token postag="RB">
                        <exception postag="NN.*|JJ.*|IN" postag_regexp="yes" />
                        <exception regexp="yes">home|way|moment|while|sudden|bit|same|before|after|cappella|right</exception>
                        <exception regexp="yes">\d.*</exception><!-- 1st -->
                    </token>
                    <token postag="MD" />
                </pattern>
                <message>Did you mean <suggestion>they</suggestion>?</message>
                <example correction="They"><marker>The</marker> really would like to do it again.</example>
                <example correction="they">If they don't have employees, <marker>the</marker> probably won't have Corp Charges.</example>
                <example correction="they">So far this season indicates <marker>the</marker> really might finish in the top 10 nationally for the first time since 1983.</example>
                <example>The 1st will come from the asset management deals.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[a-z].+</token>
                    <token>The</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP" />
                    <token>the</token>
                    <token postag="RB" />
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="DT">the</token>
                        <token postag="RB">
                            <exception postag="NN.*|JJ.*|IN" postag_regexp="yes" />
                            <exception regexp="yes">about|t?here|otherwise|please|sometimes|somewhat</exception>
                        </token>
                        <token postag="VB[DP]" postag_regexp="yes">
                            <exception postag="JJ.*" postag_regexp="yes" />
                        </token>
                    </marker>
                    <token regexp="yes">an?|the|my|y?our|his|her|their</token>
                </pattern>
                <message>Did you mean <suggestion>\1y \2 \3</suggestion>?</message>
                <example correction="They unsuccessfully attacked"><marker>The unsuccessfully attacked</marker> the ship in the Gulf of Taranto in early March 1944.</example>
                <example>Thanks by the way dude!</example>
                <example>During the rest of the decade, they would star together in Grumpier Old Men, Out to Sea, and the widely panned The Odd Couple II.</example>
                <example>The well reached a total vertical depth of 14,080 feet and was drilled laterally for almost 5,000 feet.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>never</token>
                    <token>say</token>
                    <token>never</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP" />
                    <token>the</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>the</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>the</token>
                    <token regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="DT">the</token>
                        <token postag="RB">
                            <exception postag="NN.*|JJ.*|IN" postag_regexp="yes" />
                            <exception regexp="yes">about|t?here|otherwise|please|sometimes|somewhat</exception>
                        </token>
                        <token postag="VBP" chunk="B-VP">
                            <exception postag="JJ.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\1y \2 \3</suggestion>?</message>
                <example correction="They also use"><marker>The also use</marker> camouflage to hide from their enemies.</example>
                <example correction="they always do">Tom and Mary are going to do that the way <marker>the always do</marker>.</example>
                <example>Thanks by the way dude!</example>
                <example>The about section.</example>
                <example>So, about the never say never part:</example>
                <example>Sorry for the late thank you.</example>
                <example>Incorrect grammar: I already untick the automatically update.</example><!-- found by A_RB_NN -->
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|W.*|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">did|do|[cw]ould|will|wo</token>
                    <token min="0">n't</token>
                    <marker>
                        <token postag="DT">the</token>
                        <token postag="RB">
                            <exception postag="NN.*|JJ.*|IN" postag_regexp="yes" />
                            <exception regexp="yes">about|t?here|otherwise|please|sometimes|somewhat</exception>
                        </token>
                        <token postag="VB[DP]" postag_regexp="yes">
                            <exception postag="JJ.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\4y \5 \6</suggestion>?</message>
                <example correction="they quietly finish">Did <marker>the quietly finish</marker> up the project?</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
                    <marker>
                        <token>the</token>
                    </marker>
                    <token postag="RB">
                        <exception postag="JJ.*|NN.*" postag_regexp="yes" />
                        <exception>please</exception>
                    </token>
                    <token postag="VB[DP]?" postag_regexp="yes" />
                    <token regexp="yes">the|y?our|my|his|her|their|its|th[oe]se|this</token>
                </pattern>
                <message>Did you mean <suggestion>they</suggestion>?</message>
                <example correction="they">It ensures <marker>the</marker> correctly get the results back.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">have|had|are|were</token>
                    <token postag="RB" min="0" />
                    <token postag="VBZ" />
                </antipattern>
                <antipattern>
                    <token>Have</token>
                    <token regexp="yes">Doughnut|Drill</token>
                </antipattern>
                <antipattern>
                    <token>Have</token>
                    <token />
                    <token regexp="yes">program|project</token>
                </antipattern>
                <antipattern>
                    <token>of</token>
                    <token>the</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token />
                    <token regexp="yes">word|verb|form|nots</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">the</token>
                    <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token regexp="yes">and|or</token>
                    <token>the</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Tt]he</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">[Hh]ave|[Hh]ad|[Aa]re|[Ww]ere</token>
                </pattern>
                <message>Did you mean <suggestion>they</suggestion>?</message>
                <example correction="They"><marker>The</marker> have scheduled 2.5 hours for the presentation.</example>
                <example>The Have Doughnut tests showed this most strongly.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COD_CODE" name="cod (code)">
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">access|area|country|dial(ling)|dress|Morse|post(al)?|sec(ret|urity)|zip|programming|software|java(script)?|typescript|react|kotlin|jquery|php|django|ruby|python|html|laravel|asp|perl|swift</token>
                    <marker><token>cod</token></marker>
                </pattern>
                <message>Did you mean <suggestion>code</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="code">Do you know the Morse <marker>cod</marker>?</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token>Cape</token>
                    <marker><token>Code</token></marker>
                </pattern>
                <message>Did you mean <suggestion>Cod</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Cod">She was rushed to Cape <marker>Code</marker> Hospital in Hyannis.</example>
            </rule>
        </rulegroup>
        <rule id="A_HAVE_VBN" name="A have been (I have been)">
            <pattern>
                <marker>
                    <token>
                        a
                        <exception regexp="yes" scope="previous">&apostrophe;|hepatitis|letter|fil</exception>
                    </token>
                </marker>
                <token>have</token>
                <token postag="RB" min="0" />
                <token postag="VBN" />
            </pattern>
            <message>Did you mean <suggestion>I</suggestion>?</message>
            <example correction="I"><marker>A</marker> have never been there.</example>
            <example correction="I"><marker>A</marker> have witnessed the biggest event ever.</example>
            <example>Several cases of hepatitis A have been diagnosed in Denver.</example>
            <example>Popeyes and Chick-fil-A have been fueling the debate about where to get the best chicken sandwich for weeks.</example>
            <example>The Oakland A's have seen quite a few catchers squat.</example>
        </rule>
        <rulegroup id="HAVE_A_VBN" name="have a (I) been">
            <rule>
                <pattern>
                    <marker>
                        <token>have</token>
                        <token>a</token>
                        <token skip="-1" postag="VBN">
                            <exception postag="VBD" />
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>\1 I \3</suggestion>, <suggestion>\1 \2</suggestion> or <suggestion>\1 \3</suggestion>?</message>
                <example correction="Have I been|Have a|Have been"><marker>Have a been</marker> there before?</example>
                <example correction="have I done|have a|have done">What <marker>have a done</marker>?</example>
                <example>Why do you have a fractured bone?</example>
            </rule>
            <rule>
                <pattern>
                    <token>a</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean only <suggestion>\1</suggestion> or <suggestion>\2</suggestion>?</message>
                <example correction="a|been">Grateful to have <marker>a been</marker> a part of such an incredible event.</example>
            </rule>
        </rulegroup>
        <rule id="EVER_DAY" name="ever day (every day)">
            <pattern>
                <token>
                    ever
                    <exception postag="RB" scope="previous" />
                    <exception scope="previous">never</exception>
                </token>
                <token regexp="yes">
                    day|one
                    <exception postag="CD" scope="next" />
                </token>
            </pattern>
            <message>Did you mean <suggestion>every \2</suggestion>?</message>
            <example correction="every day">I go to the park <marker>ever day</marker>.</example>
            <example correction="Every one"><marker>Ever one</marker> of the brothers was there last night.</example>
            <example>The important thing to remember is that no one is ever one hundred percent anything.</example>
            <example>There is only ever one curve for any particular controller.</example>
            <example>Never ever one to lose.</example><!-- one vs. want confusion -->
        </rule>
        <rule id="EVER_NN" name="ever day (every day)">
            <pattern>
                <marker>
                    <token>
                        ever
                    </token>
                    <token postag="NNP?" postag_regexp="yes">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </marker>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>every \2</suggestion>?</message>
            <example correction="Every co-worker"><marker>Ever co-worker</marker> came to my  office party.</example>
            <example>I wasn't usually home when the lawn was cut, so all I ever saw were the results.</example>
            <example>All Tom ever saw were the results.</example>
            <example>… not knowing if the 1300 story would ever get made.</example>
        </rule>
        <rulegroup id="WANT_ONE" name="'want' vs. 'one'">
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes">
                        <exception regexp="yes">do|did</exception>
                    </token>
                    <token>you</token>
                    <token>one</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        I|you|we|they
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>one</token>
                    </marker>
                    <token>to</token>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>want</suggestion>?</message>
                <example correction="want">Do you <marker>one</marker> to win?</example>
                <example correction="want">Did you ever <marker>one</marker> to climb the Mount Everest?</example>
                <example>He will give you one to accomplish it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">
                        I|you|we|they
                    </token>
                    <token regexp="yes">do(es)?</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>one</token>
                    </marker>
                    <token>to</token>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>want</suggestion>?</message>
                <example correction="want">You don't <marker>one</marker> to win?</example>
            </rule>
        </rulegroup>
        <rulegroup id="HIGH_LIGHT" name="high light (highlight)">
            <rule>
                <pattern>
                    <token regexp="yes">to|can(not)?|[cw]ould|should|did|will|[hw]as|have|were|been|he|she|it|they|I|we|you|please|be</token>
                    <marker>
                        <token>high</token>
                        <token regexp="yes">light(ed|s)?</token>
                    </marker>
                </pattern>
                <message>The verb 'to highlight' is written as one word.</message>
                <suggestion>\2\3</suggestion>
                <example correction="highlight">Please <marker>high light</marker> the important words in your text.</example>
                <example correction="highlight">I would like to <marker>high light</marker> his skills.</example>
                <example>He can reach the high light on the roof.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ca|[cw]ould|should|did|wo|[hw]as|were|have</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>high</token>
                        <token regexp="yes">light(ed|s)?</token>
                    </marker>
                </pattern>
                <message>The verb 'to highlight' is written as one word.</message>
                <suggestion>\3\4</suggestion>
                <example correction="highlight">He couldn't <marker>high light</marker> the important words in his text.</example>
                <example>He couldn't reach the high light.</example>
            </rule>
        </rulegroup>
        <rule id="THE_HEADQUARTER" name="the + headquarter">
            <pattern>
                <or>
                    <token regexp="yes">the(ir)?|'s|our|my|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </or>
                <marker>
                    <token>headquarter</token>
                </marker>
            </pattern>
            <message>The word '\2' is a verb. The noun to describe a corporate head office ends with an 's'.</message>
            <suggestion>headquarters</suggestion>
            <url>https://en.wikipedia.org/wiki/Headquarters</url>
            <example>Google is headquartered in Mountain View</example>
            <example>Google's headquarters are in Mountain View</example>
            <example correction="headquarters">I wanted to visit Google's <marker>headquarter</marker>.</example>
            <example correction="headquarters">Amazon built their new <marker>headquarter</marker> in Seattle.</example>
            <example correction="headquarters">More than 1,000 employees work in the corporate <marker>headquarter</marker>.</example>
        </rule>
        <rulegroup id="SPEAK_SPEECH" name="speak (speech)">
            <rule>
                <pattern>
                    <marker>
                        <token>speak</token>
                        <token regexp="yes" inflected="yes" postag="NN.*" postag_regexp="yes">recognition|synthesis|therapy|impediment|bubble|analysis</token>
                    </marker>
                </pattern>
                <message>The word 'speak' is not a noun. Did you mean <suggestion>speech \2</suggestion>?</message>
                <example correction="speech recognition">The <marker>speak recognition</marker> can even understand Chinese.</example>
                <example correction="speech bubbles">I drew many <marker>speak bubbles</marker> that need to be filled with words.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BEG_BAG" name="confusion of 'beg' vs 'bag'">
            <antipattern>
                <token skip="2">let</token>
                <token>beg</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <token regexp="yes" min="0">paper|plastic|tea|laptop|messenger|duffel|clutch|cotton|beach|grocery|shopping|i?phone|shoulder|lunch|tote|hobo|hand|bucket|baguette|basket|school</token>
                    <marker>
                        <token regexp="yes">begs?</token>
                    </marker>
                </pattern>
                <message>The word '\4' is a verb. Did you mean the noun <suggestion><match no="4" regexp_match="e" regexp_replace="a" /></suggestion>?</message>
                <example correction="bags">Santa has some presents in his big <marker>begs</marker>.</example>
                <example correction="bag">I was carrying the stuff in a green grocery <marker>beg</marker>.</example>
                <example>The cat is in the <marker>bag</marker>.</example>
                <example>Many people in the world beg to fit in.</example>
                <example>Let her beg.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token regexp="yes" min="0">paper|plastic|tea|laptop|messenger|duffel|clutch|cotton|beach|grocery|shopping|i?phone|shoulder|lunch|tote|hobo|hand|bucket|baguette|basket|school</token>
                    <marker>
                        <token regexp="yes">begs?</token>
                    </marker>
                </pattern>
                <message>The word '\4' is a verb. Did you mean the noun <suggestion><match no="4" regexp_match="e" regexp_replace="a" /></suggestion>?</message>
                <example correction="bags">Reusable shopping <marker>begs</marker> are good for the nature.</example>
                <example correction="bags">Brown <marker>begs</marker> are not so modern anymore.</example>
                <example correction="bags">Plastic <marker>begs</marker> were sold more often before the climate crisis became awareness.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">begs?</token>
                    </marker>
                    <token regexp="yes" min="0">is|are|were|was</token>
                    <token regexp="yes">full|filled</token>
                    <token regexp="yes">with|of</token>
                </pattern>
                <message>The word '\1' is a verb. Did you mean the noun <suggestion><match no="1" regexp_match="e" regexp_replace="a" /></suggestion>?</message>
                <example correction="bag">He had a <marker>beg</marker> full of chocolate.</example>
                <example correction="Bags">My <marker>Begs</marker> are filled with clothes.</example>
                <example>He begs full pardon.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|is|were|been|have|[wh]as|I|you|he|she|it|they|[cw]ould|should|can|ca</token>
                    <token min="0" regexp="yes">n't|'s|'m</token>
                    <marker>
                        <token inflected="yes">bag</token>
                    </marker>
                    <token>for</token>
                    <token min="0" regexp="yes">y?our|his|her|their|my|its</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">attention|mercy|money|scraps|forgiveness|change|help|love|life|justice|compliments?|food|gas|bread|alcohol|beer|drugs|death</token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="a" regexp_replace="e" /></suggestion> ('to ask someone earnestly')?</message>
                <example correction="begging">He is <marker>bagging</marker> for mercy.</example>
                <example correction="begged">They <marker>bagged</marker> for his attention.</example>
                <example correction="begging">She's <marker>bagging</marker> for help.</example>
                <example correction="begged">He hasn't <marker>bagged</marker> for justice.</example>
                <example>He <marker>begged</marker> for money when he was young.</example>
                <example>We need a new bag for bread.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HEAVE_USE_OF" name="make heave (heavy) use of">
            <rule>
                <pattern>
                    <token inflected="yes">make</token>
                    <token min="0" />
                    <marker>
                        <token>heave</token>
                    </marker>
                    <token regexp="yes">use|usage</token>
                </pattern>
                <message>Did you mean <suggestion>heavy</suggestion>?</message>
                <example correction="heavy">I'm looking at code that makes <marker>heave</marker> use of UFCS.</example>
                <example correction="heavy">He's making a <marker>heave</marker> use of them.</example>
                <example>He's making such <marker>heavy</marker> use of it.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>heave</token>
                    </marker>
                    <token regexp="yes">use|usage</token>
                    <token regexp="yes">of|at</token>
                </pattern>
                <message>Did you mean <suggestion>heavy</suggestion>?</message>
                <example correction="heavy">There's fairly <marker>heave</marker> use of java.</example>
                <example correction="heavy">You can witness a <marker>heave</marker> use of social media in the last decade.</example>
                <example correction="heavy">Java is in <marker>heave</marker> use at LanguageTool.</example>
            </rule>
        </rulegroup>
        <rule id="A_COMPLAIN" name="a + complain/restrain">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>her</token>
            </antipattern>
            <antipattern>
                <token skip="2">let</token>
                <token regexp="yes">(complain|restrain|constrain)s?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">an?|the|my|his|her|their|our|your|'s</token>
                <token postag="JJS?|RB" postag_regexp="yes" min="0">
                    <exception postag="NN.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token regexp="yes">(complain|restrain|constrain)s?</token>
                </marker>
            </pattern>
            <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="ain" regexp_replace="aint" /></suggestion>?</message>
            <example correction="complaint">He sent his <marker>complain</marker> to the mailing list.</example>
            <example correction="complaints">The <marker>complains</marker> are totally valid!</example>
            <example correction="complaint">Tom's <marker>complain</marker> wasn't heard.</example>
            <example correction="restraint">The <marker>restrain</marker> of trade doctrine is based on the two concepts of prohibiting agreements.</example>
            <example>A <marker>complaint</marker> is better than receiving no feedback at all.</example>
            <example>Let's complain about it.</example>
            <example>I will make her complain about it.</example>
            <example>I'll have her restrain the conditions.</example>
            <example>Many people in the world complain that they don't have time to read.</example>
        </rule>
        <rulegroup id="COMPLAINT_COMPLAINED" name="He complaint/restraint (complained/restrained)">
            <rule>
                <pattern>
                    <token postag="PRP">
                        <exception regexp="yes">one|her</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">(complain|restrain|constrain)t</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a noun. Did you mean the verb <suggestion><match no="3" regexp_match="aint" regexp_replace="ained" /></suggestion>?</message>
                <example correction="complained">I <marker>complaint</marker> about the poor quality.</example>
                <example correction="complained">He formally <marker>complaint</marker> about the train not arriving in time.</example>
                <example correction="restrained">I <marker>restraint</marker> the dog.</example>
                <example>One complaint that I didn't understand.</example>
                <example>That was her only complaint.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">would|could|should</token>
                    <token min="0">n't</token>
                    <token>have</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">(complain|restrain|constrain)t</token>
                    </marker>
                </pattern>
                <message>The word '\5' is a noun. Did you mean the verb <suggestion><match no="5" regexp_match="aint" regexp_replace="ained" /></suggestion>?</message>
                <example correction="complained">I could have <marker>complaint</marker> but I went on.</example>
                <example correction="restrained">We shouldn't have <marker>restraint</marker> the requirements further.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token regexp="yes">has|have</token>
                    <token min="0">n't</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">(complain|restrain|constrain)t</token>
                    </marker>
                </pattern>
                <message>The word '\5' is a noun. Did you mean the verb <suggestion><match no="5" regexp_match="aint" regexp_replace="ained" /></suggestion>?</message>
                <example correction="complained">Tom has already <marker>complaint</marker> about the poor quality.</example>
                <example correction="restrained">The doctor hasn't <marker>restraint</marker> the blood flow yet.</example>
            </rule>
        </rulegroup>
        <rule id="IS_THERE_ANY_NNS" name="Is (are) there any chances">
            <pattern>
                <token postag="SENT_START" />
                <token postag="CC" min="0" />
                <marker>
                    <token>is</token>
                </marker>
                <token>there</token>
                <token regexp="yes">any|some</token>
                <token postag="NNP?S" postag_regexp="yes">
                    <exception>data</exception>
                    <exception case_sensitive="yes">DOS</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>are</suggestion>?</message>
            <example correction="Are"><marker>Is</marker> there any chances that you will be buying a new car?</example>
            <example correction="are">But <marker>is</marker> there any Germans that like Baseball?</example>
            <example correction="Are"><marker>Is</marker> there some details you can share about your setup?</example>
            <example>Is there any data that proves this?</example>
        </rule>
        <rulegroup id="AN_VB_PRP" name="'an' vs. 'and' vs. 'any'">
            <rule>
                <pattern>
                    <token>an</token>
                    <token>chance</token>
                </pattern>
                <message>Did you mean <suggestion>a \2</suggestion> or <suggestion>any \2</suggestion>?</message>
                <example correction="a chance|any chance">Is there <marker>an chance</marker> you will be using a new username instead?</example>
            </rule>
            <rule>
                <pattern>
                    <token>an</token>
                    <token>chances</token>
                </pattern>
                <message>Did you mean <suggestion>any \2</suggestion> or <suggestion>and \2</suggestion>?</message>
                <example correction="any chances|and chances">Are there <marker>an chances</marker> you will be using a new username instead?</example>
            </rule>
            <rule>
                <antipattern>
                    <!-- already handled better by I_A -->
                    <token>I</token>
                    <token>an</token>
                </antipattern>
                <pattern>
                    <token>an</token>
                    <token postag="VB.*" postag_regexp="yes">
                        <exception case_sensitive="yes" regexp="yes">[AEIUO].*</exception>
                        <exception postag="NN.*" postag_regexp="yes" regexp="yes">[aeiou].*</exception>
                    </token>
                    <token regexp="yes">it|you|him|her|them|us<exception case_sensitive="yes">IT</exception></token>
                </pattern>
                <message>Did you mean <suggestion>and \2 \3</suggestion>?</message>
                <example correction="and replace it">Remove the annotation <marker>an replace it</marker> with a new one.</example>
                <example>Your guild just wants an edge you don’t need.</example>
                <example>If it’s an Encore it cant be very old.</example>
                <example>An experienced IT manager knows how to deal with such cases.</example>
                <example correction="and like it">They will find it <marker>an like it</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="THE_THIRD_PARTY" name="the third-party">
            <pattern>
                <token regexp="yes">the|an?</token>
                <marker>
                    <token regexp="yes">
                        third\-?part(y|ies)
                        <exception scope="next" regexp="yes">and|or|add|log</exception>
                        <exception scope="next" postag="NN.*|UNKNOWN|CD|JJ" postag_regexp="yes" />
                    </token>
                </marker>
            </pattern>
            <message>The noun <suggestion><match no="2" regexp_match="(?i)\-?(p)art" regexp_replace=" $1art" /></suggestion> is written as two words.</message>
            <url>https://www.lexico.com/en/definition/third_party</url>
            <example correction="third party">The <marker>third-party</marker> wasn't informed about the change.</example>
            <example>A third-party service.</example>
            <example>You can get the third-party Homeseer kit.</example>
            <example>A third-party add on.</example><!-- rule ADD_ON will catch this -->
        </rule>
        <rulegroup id="PREPOSITION_VERB" name="the + verb">
            <url>https://languagetool.org/insights/post/verbs-as-nouns/</url>
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes" />
                <token>her</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>him</token>
                <token regexp="yes">/|n?or|and|&amp;</token>
                <token>her</token>
            </antipattern>
            <antipattern><!-- "...people who work with her grow ..." -->
                <token postag="NN.*|VB.*" postag_regexp="yes" />
                <token>with</token>
                <token>her</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>A</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>U</token>
                <token>.</token>
                <token>S</token>
                <token>.</token>
                <token>A</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>.</token>
                <token>k</token>
                <token>.</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">let|[A-Z]</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>A</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token>B</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">s</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <!-- "Many macro's require" (wrong apostrophe+s is handled by different rule) -->
                <token postag="NN" />
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">s</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <!-- the reflect.com management -->
                <token></token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">[a-z0-9\-]{2,12}</token>
            </antipattern>
            <antipattern>
                <!-- only a few understand the problem -->
                <token regexp="yes">an?|the</token>
                <token>few</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- the Create Shop button -->
                <token regexp="yes">the|an?</token>
                <token postag="JJS?" postag_regexp="yes" min="0" />
                <token postag="VB.*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern><!-- "While solution s begins to work" -->
                <token spacebefore="yes">s</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>A</token>
            </antipattern>
            <antipattern>
                <token postag="NN.*|UNKNOWN|PRP" postag_regexp="yes" />
                <token regexp="yes">and|or|&amp;</token>
                <token>her</token>
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">click|tap|hit</token>
                <token>the</token>
            </antipattern>
            <rule><!-- the propose -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>propose</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion>proposal</suggestion>.</message>
                <example correction="proposal">The committee is reviewing the <marker>propose</marker> for the new restaurant.</example>
            </rule>
            <rule><!-- the translate -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">translates?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion><match no="3" regexp_match="(?i)ranslate" regexp_replace="ranslation" /></suggestion>.</message>
                <example correction="translation">The <marker>translate</marker> to English was done correctly.</example>
            </rule>
            <rule><!-- the prepay -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">prepays?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion><match no="3" regexp_match="(?i)repay" regexp_replace="repayment" /></suggestion>.</message>
                <example correction="prepayment">The <marker>prepay</marker> is due tomorrow.</example>
            </rule>
            <rule><!-- the reroute -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">re-?route</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion>rerouting</suggestion>.</message>
                <example correction="rerouting">The <marker>reroute</marker> was announced prior to arrival.</example>
            </rule>
            <rule><!-- the recreate -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">re-?create</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion>recreation</suggestion>.</message>
                <example correction="recreation">The <marker>recreate</marker> was necessary after it got destroyed.</example>
            </rule>
            <rule><!-- the restock -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">re-?stock</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion>restocking</suggestion> (= act of replenishing stock).</message>
                <example correction="restocking">Due to the high demand, we needed a <marker>restock</marker>.</example>
            </rule>
            <rule><!-- the wive -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>wive</token>
                    </marker>
                </pattern>
                <message>The word "\3" is an archaic verb. The noun is spelled <suggestion><match no="3" regexp_match="(?i)ive" regexp_replace="ife" /></suggestion> (= married woman).</message>
                <example correction="wife">My <marker>wive</marker> is such a beautiful woman.</example>
            </rule>
            <rule><!-- the japanise -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">japani[zs]e</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun/adjective is spelled <suggestion>Japanese</suggestion>.</message>
                <example correction="Japanese">The <marker>Japanise</marker> love sushi food.</example>
            </rule>
            <rule><!-- the exorcize -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">exorci[zs]es?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion><match no="3" regexp_match="(?i)xorci[zs]e" regexp_replace="xercise" /></suggestion>.</message>
                <example correction="exercise">He finished the <marker>exorcize</marker> without asking any questions to the teacher.</example>
            </rule>
            <rule><!-- the prophesy -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">prophesy|prophesies</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion><match no="3" regexp_match="(?i)phes" regexp_replace="phec" /></suggestion>.</message>
                <example correction="prophecy">He could make a <marker>prophesy</marker> and they would always come true.</example>
            </rule>
            <rule><!-- the prise -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>prise</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion>price</suggestion>.</message>
                <example correction="price">The <marker>prise</marker> of milk dropped significantly and was now compared to butter very cheap.</example>
            </rule>
            <rule><!-- the send off -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>send</token>
                        <token regexp="yes">offs?</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>\3-\4</suggestion> (= celebration)?</message>
                <example correction="send-off">I got an affectionate <marker>send off</marker> from my colleagues</example>
            </rule>
            <rule><!-- the depart -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">departs?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is spelled <suggestion><match no="3" regexp_match="(?i)epart" regexp_replace="eparture" /></suggestion>.</message>
                <example correction="departure">The <marker>depart</marker> time was delayed.</example>
            </rule>
            <rule><!-- the jumpstart -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">jumpstarts?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. The noun is either spelled <suggestion><match no="3" regexp_match="(?i)jumpstart" regexp_replace="jump start" /></suggestion> or <suggestion><match no="3" regexp_match="(?i)jumpstart" regexp_replace="jump-start" /></suggestion>.</message>
                <example correction="jump start|jump-start">The <marker>jumpstart</marker> was successful.</example>
            </rule>
            <rule><!-- the brighten -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>brighten</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb and doesn't fit in this context. Did you mean the adjective <suggestion>bright</suggestion> or <suggestion>brightened</suggestion>?</message>
                <example correction="bright|brightened">The <marker>brighten</marker> color.</example>
            </rule>
            <rule><!-- the suppress -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>suppress</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb and doesn't fit in this context. Did you mean the noun <suggestion>suppression</suggestion> (= act of suppressing)?</message>
                <example correction="suppression">The <marker>suppress</marker> of our enemies failed.</example>
            </rule>
            <rule><!-- the comprise -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">comprises?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)comprise" regexp_replace="compromise" /></suggestion> (= consent)?</message>
                <example correction="compromise">They found a <marker>comprise</marker>.</example>
            </rule>
            <rule ><!-- the reship -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>reship</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. Did you mean the noun <suggestion>reshipment</suggestion> (= act of reshipping something)?</message>
                <example correction="reshipment">The <marker>reship</marker> order number.</example>
            </rule>
            <rule><!-- the protect -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>protect</token>
                    </marker>
                    <token postag="IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is a verb. Did you mean the noun <suggestion>protection</suggestion>?</message>
                <example correction="protection">The <marker>protect</marker> of stray dogs is his first priority.</example>
            </rule>
            <rule><!-- the refinance -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>refinance</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. Did you mean the noun <suggestion>refinancing</suggestion> (= give a second loan)?</message>
                <example correction="refinancing">He was broke, so he needed a <marker>refinance</marker>.</example>
            </rule>
            <rule><!-- the diagnose -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>diagnose</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a verb. Did you mean the noun <suggestion>diagnosis</suggestion>?</message>
                <example correction="diagnosis">The doctor send me the <marker>diagnose</marker>.</example>
            </rule>
            <rule><!-- the log in -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>log</token>
                        <token>in</token>
                    </marker>
                    <token regexp="yes">credentials?|passwords?|forms?|users?|usernames?|informations?|details?|name|emails?|fields?|pages?|account|site|section|buttons?|and|or|issues?|problems?|rewards?|options?|times?|attempts?|queues?|is|might|was|has|would|should|could|can|\p{P}</token>
                </pattern>
                <message>Did you mean the noun <suggestion>login</suggestion> instead of the verb 'to log in'?</message>
                <example correction="login">Your <marker>log in</marker> attempt was not successful.</example>
                <example>You can check the log in the files stored on the server.</example>
            </rule>
            <rule><!-- the arrange -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>arrange</token>
                    </marker>
                </pattern>
                <message>The word 'arrange' is not a noun. Did you mean <suggestion>arrangement</suggestion>?</message>
                <example correction="arrangement">The <marker>arrange</marker> was fine for me.</example>
                <example>Alternatively, could you call your caseworker to have her arrange a switch for you?</example>
            </rule>
            <rule><!-- the improve -->
                <antipattern><!-- Click the Improve this Page link -->
                    <token skip="2">improve</token>
                    <token regexp="yes">page|site</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>improve</token>
                    </marker>
                </pattern>
                <message>The word 'improve' is not a noun. Did you mean <suggestion>improvement</suggestion>?</message>
                <example correction="improvement">The <marker>improve</marker> was fine for me.</example>
            </rule>
            <rule><!-- the reschedule -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>reschedule</token>
                    </marker>
                </pattern>
                <message>The word 'reschedule' is not a noun. Did you mean <suggestion>rescheduling</suggestion>?</message>
                <example correction="rescheduling">Your <marker>reschedule</marker> didn't reach me.</example>
            </rule>
            <rule><!-- the administer -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>administer</token>
                    </marker>
                </pattern>
                <message>The word 'administer' is not a noun. Did you mean <suggestion>administrator</suggestion>?</message>
                <example correction="administrator">Your <marker>administer</marker> should have sent you the login instructions.</example>
            </rule>
            <rule><!-- the exhale -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>exhale</token>
                    </marker>
                </pattern>
                <message>The word 'exhale' is not a noun. Did you mean <suggestion>exhalation</suggestion>?</message>
                <example correction="exhalation">The main reason for the <marker>exhale</marker> is to rid the body of carbon dioxide</example>
            </rule>
            <rule><!-- the prevent -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>
                            prevent
                            <exception scope="next">duty</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The word 'prevent' is not a noun. Did you mean <suggestion>prevention</suggestion>?</message>
                <example correction="prevention">The <marker>prevent</marker> of intruders was turned on every night.</example>
            </rule>
            <rule><!-- the homeschool -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">homeschools?</token>
                    </marker>
                </pattern>
                <message>The word 'homeschool' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)school" regexp_replace=" school" /></suggestion>?</message>
                <example correction="home school">He learned all about life in his <marker>homeschool</marker>.</example>
            </rule>
            <rule><!-- the doubleclick -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">double\-?clicks?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)-?click" regexp_replace=" click" /></suggestion> (= noun)?</message>
                <example correction="double click">He tried a <marker>doubleclick</marker> to open the folder.</example>
                <example correction="double click">He tried a <marker>double-click</marker> to open the folder.</example>
                <example>He uses the DoubleClick advertising platform.</example>
            </rule>
            <rule><!-- the injure -->
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>injure</token>
                    </marker>
                </pattern>
                <message>The word 'injure' is not a noun. Did you mean <suggestion>injury</suggestion>?</message>
                <example correction="injury">He got an <marker>injure</marker> while playing football.</example>
            </rule>
            <rule><!-- the confirm -->
                <antipattern>
                    <token skip="2">confirm</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|'s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">confirms?</token>
                    </marker>
                </pattern>
                <message>The word 'confirm' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)rm" regexp_replace="rmation" case_conversion="preserve" /></suggestion>?</message>
                <example correction="confirmation">He sent the <marker>confirm</marker> to the client.</example>
                <example correction="CONFIRMATION">COULD YOU PLEASE ORDER THE FOLLOWING STAMPS FOR THE <marker>CONFIRM</marker> TO EXECUTE?</example>
                <example correction="confirmation">automatically generating and sending a <marker>confirm</marker></example> 
            </rule>
            <rule><!-- the conceal -->
                <antipattern>
                    <token>conceal</token>
                    <token regexp="yes">macro|palettes?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>conceal</token>
                    </marker>
                </pattern>
                <message>The word 'conceal' is not a noun. Did you mean <suggestion><match no="3" regexp_match="$" regexp_replace="er" /></suggestion> (= cosmetic) or <suggestion>concealment</suggestion> (= being hidden)?</message>
                <example correction="concealer|concealment">Your <marker>conceal</marker> looks nice.</example>
            </rule>
            <rule><!-- the explode -->
                <antipattern>
                    <token skip="4">explode</token>
                    <token regexp="yes">gems?|nerf</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">your|their|his|her|my|the|our|an?|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>explode</token>
                    </marker>
                </pattern>
                <message>The word 'explode' is not a noun. Did you mean <suggestion>explosion</suggestion>?</message>
                <example correction="explosion">It was a big <marker>explode</marker>.</example>
            </rule>
            <rule><!-- the rebrand/understand -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">(rebr|underst|misunderst)and</token>
                    </marker>
                </pattern>
                <message>The word 'rebrand' is not a noun. Did you mean <suggestion><match no="3" regexp_match="$" regexp_replace="ing" /></suggestion>?</message>
                <example correction="rebranding">Their <marker>rebrand</marker> is pretty.</example>
                <example>A <marker>rebranding</marker> of our Corporate Design might be necessary soon.</example>
                <example correction="understanding">That's my <marker>understand</marker> of his motivation.</example>
                <example>Please let her rebrand our company logo.</example>
                <example>It helped her understand herself.</example>
                <example>It is impossible to make her understand the theory.</example>
                <example>Only a few understand the problem.</example>
            </rule>
            <rule><!-- the breathe -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>breathe</token>
                    </marker>
                </pattern>
                <message>The word 'breathe' is a verb. Did you mean the noun <suggestion>breath</suggestion>?</message>
                <example correction="breath">They were out of their <marker>breathe</marker>.</example>
                <example>Let's breathe the fresh air.</example>
            </rule>
            <rule><!-- the believe -->
                <antipattern><!-- https://de.wikipedia.org/wiki/Ripley%E2%80%99s_Believe_It_or_Not! -->
                    <token>believe</token>
                    <token>it</token>
                    <token>or</token>
                    <token>not</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>believe</token>
                    </marker>
                </pattern>
                <message>The word 'believe' is a verb. Did you mean the noun <suggestion>belief</suggestion>?</message>
                <example correction="belief">My <marker>believe</marker> in god.</example>
            </rule>
            <rule><!-- the advertise -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>
                            advertise
                        </token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion>advertisement</suggestion>?</message>
                <example correction="advertisement">He watched the new <marker>advertise</marker> on YouTube and skipped it.</example>
            </rule>
            <rule><!-- the analyze -->
                <antipattern><!-- Google Analytics section/report "the Analyze Traffic report" -->
                    <token regexp="yes" skip="3">analy.e</token>
                    <token regexp="yes">reports?|pages?|sections?|sites?|features?|buttons?|links?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">
                            analy[sz]e
                            <exception scope="next">des</exception><!-- french "Analyse des infiniment petits" -->
                        </token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion>analysis</suggestion>?</message>
                <example correction="analysis">The <marker>analyze</marker> of animal deseases was performed by his colleague.</example>
                <example>Guillaume de l'Hôpital used the chain rule implicitly in his Analyse des infiniment petits.</example>
                <example>Let's analyze this picture.</example>
            </rule>
            <rule><!-- the analyzes -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s|those|these|many</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>analyzes</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the plural noun <suggestion>analyses</suggestion>?</message>
                <example correction="analyses">Many <marker>analyzes</marker> of animal deseases were performed by the institute.</example>
            </rule>
            <rule><!-- the emphasize -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">
                            emphasi[sz]e
                        </token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion>emphasis</suggestion>?</message>
                <example correction="emphasis">We should put an <marker>emphasize</marker> on this.</example>
            </rule>
            <rule><!-- the shelve -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>shelve</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>shelf</suggestion> or <suggestion>shelves</suggestion> (= plural of shelf)?</message>
                <example correction="shelf|shelves">The book was in the <marker>shelve</marker>.</example>
            </rule>
            <rule><!-- the relabel -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>relabel</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>relabeling</suggestion>?</message>
                <example correction="relabeling">He could send the package after the <marker>relabel</marker>.</example>
            </rule>
            <rule><!-- the awaken -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>awaken</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>awakening</suggestion>?</message>
                <example correction="awakening">The night terror is an abrupt <marker>awaken</marker> early in the night.</example>
            </rule>
            <rule><!-- the extend -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>extend</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>extent</suggestion>?</message>
                <example correction="extent">The <marker>extend</marker> of her jurisdiction</example>
            </rule>
            <rule><!-- the degrade -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>degrade</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>degradation</suggestion>?</message>
                <example correction="degradation">He was experiencing a <marker>degrade</marker> of performance.</example>
            </rule>
            <rule><!-- the require -->
                <antipattern>
                    <!-- dev speech -->
                    <token skip="2">require</token>
                    <token regexp="yes">state|statements?|modules?|code|paths?|urls?|functions?|commands?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                        <exception regexp="yes">third-part.*</exception><!-- handled by THE_THIRD_PARTY -->
                    </token>
                    <marker>
                        <token regexp="yes">requires?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)require" regexp_replace="requirement" /></suggestion>?</message>
                <example correction="requirements">One of the new <marker>requires</marker> is ...</example>
                <example>A <marker>requirement</marker> needs to be fulfilled.</example>
                <example>McDonald's now requires a bachelor's in philosophy for its cashiers.</example>
                <example>It is the OAuth URI the third-party requires.</example>
                <example>The require statement was missing, so it caused an error during runtime.</example>
                <example>A requires B.</example>
                <example>The students were chosen because St Paul's requires formal wear at dinner.</example>
            </rule>
            <rule><!-- the immigrate -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">immigrates?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)mmigrate" regexp_replace="mmigrant" /></suggestion>?</message>
                <example correction="immigrant">I'm an <marker>immigrate</marker> from Syria ...</example>
            </rule>
            <rule><!-- the reflect -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>reflect</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>reflection</suggestion>?</message>
                <example correction="reflection">The <marker>reflect</marker> of light was visible after the sunrise.</example>
                <example>The reflect.com management approved my request.</example>
            </rule>
            <rule><!-- the acknowledge -->
                <antipattern>
                    <token skip="2">acknowledge</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>acknowledge</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>acknowledgment</suggestion>?</message>
                <example correction="acknowledgment">He gave his <marker>acknowledge</marker> after he reviewed the process.</example>
            </rule>
            <rule><!-- the contribute -->
                <antipattern>
                    <token skip="2">contribute</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">contributes?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)ontribute" regexp_replace="ontribution" /></suggestion>?</message>
                <example correction="contribution">The <marker>contribute</marker> of code was a success.</example>
            </rule>
            <rule><!-- the begin -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>begin</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>beginning</suggestion> or <suggestion>start</suggestion>?</message>
                <example correction="beginning|start">2020 is the <marker>begin</marker> of something fantastic.</example>
                <example>Let solution S begin to work.</example>
            </rule>
            <rule><!-- the deploy -->
                <antipattern>
                    <token>deploy</token>
                    <token>.</token>
                    <token regexp="yes" spacebefore="no">\w{1,4}</token>
                </antipattern>
                <antipattern><!-- tech speech -->
                    <token regexp="yes">.*deploy</token>
                    <token regexp="yes">master|branch</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|'s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">(re-?)?deploys?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)deploy" regexp_replace="deployment" /></suggestion> (= release, placement)?</message>
                <example correction="deployment">The <marker>deploy</marker>.</example>
                <example correction="deployment">Yesterday’s <marker>deploy</marker> introduced a new format for fingerprinting Z-Wave devices.</example>
                <example>Is this your your deploy.rb?</example>
            </rule>
            <rule><!-- the bodypaint -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">body\-?paint</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion><match no="3" regexp_match="(?i)body\-?paint(s)?" regexp_replace="body paint" /></suggestion> (spelled as two words)?</message>
                <example correction="body paint">She is a big fan of my <marker>bodypaint</marker>.</example>
            </rule>
            <rule><!-- the announce -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>announce</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>announcement</suggestion>?</message>
                <example correction="announcement">The <marker>announce</marker> of his resign.</example>
            </rule>
            <rule><!-- the receive -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>receive</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>reception</suggestion> (= the act of receiving) or <suggestion>receipt</suggestion> (= invoice)?</message>
                <example correction="reception|receipt">The <marker>receive</marker> of the message.</example>
            </rule>
            <rule><!-- the assemble -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>assemble</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>assembly</suggestion>?</message>
                <example correction="assembly">The <marker>assemble</marker> line.</example>
            </rule>
            <rule><!-- the publish -->
                <antipattern>
                    <!-- dev speech -->
                    <token skip="2">publish</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>publish</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>publishing</suggestion>?</message>
                <example correction="publishing">The <marker>publish</marker> date.</example>
            </rule>
            <rule><!-- the approve -->
                <antipattern>
                    <token>APPROVe</token>
                    <token>trial</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">approves?
                            <exception case_sensitive="yes">APPROVe</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)approve" regexp_replace="approval" /></suggestion>?</message>
                <example correction="approval">Sally needs your <marker>approve</marker>.</example>
                <example>The Adenomatous Polyp Prevention on Vioxx (APPROVe) trial was designed to assess whether rofecoxib could reduce the risk of adenomatous polyps in individuals with a recent history of these tumours.</example>
            </rule>
            <rule><!-- the remind -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">
                            reminds?
                            <exception scope="next" regexp="yes">code|app|application</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)remind" regexp_replace="reminder" /></suggestion>?</message>
                <example correction="reminder">He sent a <marker>remind</marker> to her.</example>
            </rule>
            <rule><!-- the withdraw -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">withdraws?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)draw" regexp_replace="drawal" /></suggestion>?</message>
                <example correction="withdrawal">The <marker>withdraw</marker> succeeded.</example>
            </rule>
            <rule><!-- the seize -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>seize</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>size</suggestion>?</message>
                <example correction="size">Please notice the enormous <marker>seize</marker> of the Statue of Liberty.</example>
            </rule>
            <rule><!-- the resign -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>resign</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>resignation</suggestion>?</message>
                <example correction="resignation">He announced his <marker>resign</marker> yesterday.</example>
            </rule>
            <rule><!-- the thieve -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>thieve</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>thief</suggestion>?</message>
                <example correction="thief">The <marker>thieve</marker> stole my watch!</example>
            </rule>
            <rule><!-- the relieve -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>relieve</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion>relief</suggestion>?</message>
                <example correction="relief">It was a <marker>relieve</marker>.</example>
            </rule>
            <rule><!-- the exaggerate -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="RB" min="0"></token>
                    <marker>
                        <token>exaggerate</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adjective <suggestion>exaggerated</suggestion>?</message>
                <example correction="exaggerated">It was a wildly <marker>exaggerate</marker> story.</example>
            </rule>
            <rule><!-- the misspell -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">misspells?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)spell" regexp_replace="spelling" /></suggestion>?</message>
                <example correction="misspelling">The <marker>misspell</marker> was correctly detected by LanguageTool.</example>
            </rule>
            <rule><!-- the resell -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">resells?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)sell" regexp_replace="seller" /></suggestion> or <suggestion><match no="3" regexp_match="(?i)sell" regexp_replace="sale" /></suggestion>?</message>
                <example correction="reseller|resale">The <marker>resell</marker> market is performing very well.</example>
            </rule>
            <rule><!-- the oversell -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>oversell</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)sell" regexp_replace="sale" /></suggestion> or <suggestion><match no="3" regexp_match="(?i)sell" regexp_replace="selling" /></suggestion>?</message>
                <example correction="oversale|overselling">The <marker>oversell</marker> caused a shortage.</example>
            </rule>
            <rule><!-- the portray -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>portray</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)ay" regexp_replace="ayal" /></suggestion>?</message>
                <example correction="portrayal">They did a <marker>portray</marker> of my life.</example>
            </rule>
            <rule><!-- the expire -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>expire</token>
                    </marker>
                </pattern>
                <message>The word '<match no="3" />' is not a noun. Did you mean <suggestion><match no="3" regexp_match="(?i)pire" regexp_replace="piry" /></suggestion>?</message>
                <example correction="expiry">You can find the <marker>expire</marker> date is on the bottom of the milk bottle.</example>
                <example>An <marker>expiry</marker> date is required for most products sold in retail.</example>
            </rule>
            <rule><!-- the responds -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">responds?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)respond" regexp_replace="response" /></suggestion>?</message>
                <example correction="response">He sent his <marker>respond</marker> to the mailing list.</example>
                <example correction="responses">The <marker>responds</marker> were overall positive.</example>
                <example correction="response">Sorry for the late <marker>respond</marker>.</example>
                <example>A <marker>response</marker> will be prepared.</example>
                <example>I'll have her respond to the customer's mail.</example>
            </rule>
            <rule><!-- the invent -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">invents?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)nvent" regexp_replace="nvention" /></suggestion>?</message>
                <example correction="invention">He presented the <marker>invent</marker> of electric cars.</example>
                <example correction="invention">My only <marker>invent</marker> has been patented.</example>
                <example>Let her invent the future.</example>
                <example>Let’s invent something.</example>
            </rule>
            <rule><!-- the renew -->
                <antipattern>
                    <token>renew</token>
                    <token>command</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">(auto-?)?renews?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)new" regexp_replace="newal" /></suggestion>?</message>
                <example correction="renewal">He requested a <marker>renew</marker> of his subscription.</example>
                <example>Let her renew the office equipment.</example>
            </rule>
            <rule><!-- the redeliver -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">(re-?|mis)?deliver</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)eliver" regexp_replace="elivery" /></suggestion>?</message>
                <example correction="redelivery">The <marker>redeliver</marker> service was on time.</example>
                <example>I'll have her redeliver the parcel.</example>
            </rule>
            <rule><!-- the infect -->
                <antipattern>
                    <token>infect</token>
                    <token regexp="yes">decks?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">(dis|re-?)?infects?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)infect" regexp_replace="infection" /></suggestion>?</message>
                <example correction="infection">I couldn't go to work due to my <marker>infect</marker>.</example>
                <example>My son has an infect deck we are constantly upgrading.</example>
            </rule>
            <rule><!-- the prove -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>prove</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion>proof</suggestion>?</message>
                <example correction="proof">Where's the <marker>prove</marker>?</example>
                <example>I'd like to help her prove it.</example>
            </rule>
            <rule><!-- the create -->
                <antipattern>
                    <token skip="2">create</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <antipattern><!-- https://www.americansforthearts.org/by-program/reports-and-data/legislation-policy/legislative-issue-center/the-create-act -->
                    <token>create</token>
                    <token>act</token>
                </antipattern>
                <antipattern>
                    <token>create</token>
                    <token regexp="yes">and|or</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>
                            create
                            <exception case_sensitive="yes">CREATE</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion>creation</suggestion>?</message>
                <example correction="creation">The <marker>create</marker> of the world.</example>
                <example>I will make her <marker>create</marker> the future.</example>
                <example>Person A creates something special.</example>
                <example>After I did that I reopened the app and was directed to the create account screen.</example>
                <example>Assuming both the CREATE and INSERT failed.</example>
                <example>The create and update.</example>
            </rule>
            <rule><!-- the replace -->
                <antipattern>
                    <!-- dev speech -->
                    <token>replace</token>
                    <token regexp="yes">(string|field|expression|text)s?|all|regexp?|reg(ular)?|utilit(y|ies)</token>
                </antipattern>
                <antipattern>
                    <token skip="2">replace</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <antipattern>
                    <token>replace</token>
                    <token skip="2">this</token>
                    <token>replace</token>
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>replace</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)place" regexp_replace="placement" /></suggestion>?</message>
                <example correction="replacement">After the accident, he needed a <marker>replace</marker> of the car's front window.</example>
                <example>I will let her replace the furniture in our flat.</example>
                <example>This isn’t the sort of problem where a replace this, replace that approach is likely to be successful.</example>
            </rule>
            <rule><!-- the intend -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>intend</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion>intent</suggestion>?</message>
                <example correction="intent">My <marker>intend</marker> was to improve the overall situation.</example>
            </rule>
            <rule><!-- the arrive -->
                <antipattern>
                    <token skip="2">arrive</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>arrive</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)rrive" regexp_replace="rrival" /></suggestion>?</message>
                <example correction="arrival">After the <marker>arrive</marker> he first needed to park his car.</example>
                <example>I will let her arrive on time.</example>
            </rule>
            <rule><!-- the appoint -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">appoints?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)point" regexp_replace="pointment" /></suggestion>?</message>
                <example correction="appointment">Let's setup an <marker>appoint</marker> to discuss the latest development.</example>
            </rule>
            <rule><!-- the troubleshoot -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>troubleshoot</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)roubleshoot" regexp_replace="roubleshooting" /></suggestion> or <suggestion><match no="3" regexp_match="(?i)roubleshoot" regexp_replace="roubleshooting" /> guide</suggestion>?</message>
                <example correction="troubleshooting|troubleshooting guide">Please check the <marker>troubleshoot</marker> document for a solution.</example>
            </rule>
            <rule><!-- the compensate -->
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>compensate</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)ompensate" regexp_replace="ompensation" /></suggestion>?</message>
                <example correction="compensation">He received a nice <marker>compensate</marker> for his work.</example>
            </rule>
            <!-- <rule>
                <antipattern>
                    <token skip="1" regexp="yes">(re-?)?submit</token>
                    <token regexp="yes">(button|link|form|account|page|screen|draft|view|parameter|permission|function|feature|request|command|procedure|call|api|section|query|dialog|option|menu|plugin|script|method|endpoint|event|operation|window)s?|process(es)?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">(re-?)?submit</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)ubmit" regexp_replace="ubmission" /></suggestion>?</message>
                <example correction="resubmission">The <marker>resubmit</marker> of the form finally worked.</example>
            </rule> -->
            <rule><!-- the grow -->
                <antipattern>
                    <token case_sensitive="yes">GROW</token>
                </antipattern>
                <antipattern>
                    <token>grow</token>
                    <token regexp="yes">rooms?|lights?|beds?|models?</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>poor</token>
                    <token>grow</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                        <exception>weak</exception>
                    </token>
                    <marker>
                        <token regexp="yes">grows?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a verb. Did you mean the noun <suggestion><match no="3" regexp_match="(?i)rows?" regexp_replace="rowth" /></suggestion>?</message>
                <example correction="growth">The unexpected <marker>grow</marker> in revenue was caused by their new ad campaign.</example>
                <example>The grow room.</example><!-- https://en.wikipedia.org/wiki/Growroom -->
                <example>Help me to make her grow.</example>
                <example>Executives who work with her grow as leaders.</example>
                <example>The rich grow richer and the poor grow poorer.</example>
                <example>In the past year, I have seen my relationship with her grow so much.</example>
                <example>The GROW principle.</example>
                <example>The weak grow strong.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_ADD_ON" name="the + add on">
            <rule>
                <pattern>
                    <token regexp='yes'>an?|the|that|which|this|those|my|his|her|their|our|your|s</token>
                    <token postag="JJS?|RB" postag_regexp="yes" min="0" />
                    <marker>
                        <token>add</token>
                        <token regexp="yes">(in|on)s?</token>
                    </marker>
                </pattern>
                <message>This noun is usually spelled with a hyphen.</message>
                <suggestion><match no="3" />-<match no="4" /></suggestion>
                <example correction="add-on">The newest <marker>add on</marker> was released yesterday</example>
                <example>Our <marker>add-ons</marker> in total have more than 1,000,000 users.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>firefox|mozilla|google|chrome|safari|docs|browser|edge|opera|software|system|hardware|game|third\-party|windows|word|gmail|mail</token>
                    <marker>
                        <token>add</token>
                        <token regexp="yes">(in|on)s?</token>
                    </marker>
                </pattern>
                <message>This noun is usually spelled with a hyphen.</message>
                <suggestion><match no="2" />-<match no="3" /></suggestion>
                <example correction="add-on">The Firefox <marker>add on</marker> was released yesterday</example>
                <example>Our word <marker>add-in</marker> has more than 1,000,000 users.</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_INSTALL" name="a/the + install">
            <antipattern><!-- linux command -->
                <token>apt</token>
                <token>install</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>an?|the|my|his|her|their|y?our|s</token>
                    <marker>
                        <token regexp="yes">((un|auto|re|pre)\-?)?installs?</token>
                    </marker>
                    <token postag="VB.*|JJ|RB|CC|SENT_END" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>The word '<match no="2" />' is not a noun.</message>
                <suggestion><match no="2" regexp_match="(?i)install" regexp_replace="installation"/></suggestion>
                <example correction="installations">The <marker>installs</marker> are dropping since March.</example>
                <example correction="re-installation">Have you tried a <marker>re-install</marker>?</example>
                <example correction="installation">Their <marker>install</marker> is working.</example>
                <example correction="installation">My <marker>install</marker> button is functional.</example>
                <example correction="installation">He did the <marker>install</marker> but didn't succeed.</example>
                <example>Their <marker>installation</marker> worked fine.</example>
                <example>The British <marker>install</marker> the son of Sharif Hussein bin Ali.</example>
                <example>He <marker>installs</marker> their app.</example>
                <example>A package manager that installs and runs Swift command line tool packages.</example>
                <example>Business heats up for small Virginia Beach company that installs Ikea kitchens.</example>
                <example>Creating an installer that installs the JRE.</example>
                <example>A software that installs in just 3 minutes.</example>
                <example>But his installs in less than a minute.</example>
                <example>My software doesn't work but his installs at my PC.</example>
                <example>Let's uninstall.</example>
                <example>I will make her install daily updates.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>an?|the</token>
                    <marker>
                        <token regexp="yes">((un|auto|re|pre)\-?)?installs?</token>
                    </marker>
                </pattern>
                <message>The word '<match no="2" />' is not a noun.</message>
                <suggestion><match no="2" regexp_match="(?i)install" regexp_replace="installation"/></suggestion>
                <example correction="installation">He also did an <marker>install</marker> of the alarm system.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJS?|VBD" postag_regexp="yes">
                        <exception>please</exception>
                        <exception postag="RB" />
                    </token>
                    <marker>
                        <token regexp="yes">((un|auto|re|pre)\-?)?installs?</token>
                    </marker>
                    <token postag="VB.*|SENT_END|IN" postag_regexp="yes" />
                </pattern>
                <message>The word '<match no="2" />' is not a noun.</message>
                <suggestion><match no="2" regexp_match="(?i)install" regexp_replace="installation"/></suggestion>
                <example correction="uninstallation">My attempted <marker>uninstall</marker> worked.</example>
                <example correction="installation">The recent <marker>install</marker> of a new leader made the country a better place.</example>
                <example>Their <marker>installation</marker> worked fine.</example>
                <example>The British <marker>install</marker> the son of Sharif Hussein bin Ali.</example>
                <example>He <marker>installs</marker> their app.</example>
                <example>A package manager that installs and runs Swift command line tool packages.</example>
                <example>Business heats up for small Virginia Beach company that installs Ikea kitchens.</example>
                <example>Creating an installer that installs the JRE.</example>
                <example>Please install by Hitting your Start INSTALLER.BAT.</example>
                <example>A software that installs in just 3 minutes.</example>
                <example>But his installs in less than a minute.</example>
                <example>List of software I often install on new setups.</example>
                <example>sudo apt install gimp</example>
                <example>Please install by hitting Start.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>that|this</token>
                    <token postag="JJS?|VBD" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">((un|auto|re|pre)\-?)?install</token>
                    </marker>
                    <token postag="VB.*|JJ|RB" postag_regexp="yes">
                        <exception postag="NN.*|IN" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word '<match no="3" />' is not a noun.</message>
                <suggestion><match no="3" regexp_match="(?i)install" regexp_replace="installation"/></suggestion>
                <example correction="installation">He performed that <marker>install</marker> recently.</example>
                <example correction="uninstallation">That <marker>uninstall</marker> has worked.</example>
                <example>A package manager that installs and runs Swift command line tool packages.</example>
                <example>Business heats up for small Virginia Beach company that installs Ikea kitchens.</example>
                <example>Creating an installer that installs the JRE.</example>
                <example>A software that often installs in just 3 minutes.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>those|these|whose</token>
                    <token postag="JJS?|VBD" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">((un|auto|re|pre)\-?)?installs</token>
                    </marker>
                    <token postag="VB.*|JJ|RB" postag_regexp="yes"/>
                </pattern>
                <message>The word '<match no="3" />' is not a noun.</message>
                <suggestion><match no="3" regexp_match="(?i)install" regexp_replace="installation"/></suggestion>
                <example correction="installations">He performed those <marker>installs</marker> recently.</example>
                <example correction="uninstallations">These <marker>uninstalls</marker> have worked.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <token postag="CD" />
                    <token postag="JJS?|VBD" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">((un|auto|re|pre)\-?)?installs?</token>
                    </marker>
                    <token postag="VB.*|IN|SENT_END" postag_regexp="yes" />
                </pattern>
                <message>The word '<match no="4" />' is not a noun.</message>
                <suggestion><match no="4" regexp_match="(?i)install" regexp_replace="installation"/></suggestion>
                <example correction="installations">Yesterday we had more than 1000 new <marker>installs</marker>.</example>
                <example correction="uninstallations">Only five <marker>uninstalls</marker> on average.</example>
                <example correction="uninstallation">Only 1 <marker>uninstall</marker> in the last week.</example>
                <example>Number 4 <marker>installs</marker> their app.</example>
                <example>Windows 10 <marker>installs</marker> just fine on my machine.</example>
                <example>Now google <marker>installs</marker> an app on my machine.</example>
                <example>Those three <marker>install</marker> great effects.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GAMEBOY" name="gameboy (game boy)">
            <url>https://en.wikipedia.org/wiki/Game_Boy</url>
            <rule>
                <pattern>
                    <token regexp="yes">gameboys?</token>
                </pattern>
                <message>The handheld game console is spelled as two words.</message>
                <suggestion><match no="1" regexp_match="(?i)gameboy" regexp_replace="Game Boy" /></suggestion>
                <example correction="Game Boy">The <marker>Gameboy</marker> is an 8-bit handheld game console developed and manufactured by Nintendo.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Game|GAME</token>
                    <token regexp="yes">Boy|BOY</token>
                    <token regexp="yes">[A-Z].*</token>
                </antipattern>
                <pattern>
                    <token>game</token>
                    <token>boy</token>
                    <token regexp="yes">advance|color|micro</token>
                </pattern>
                <message>The handheld game console is capitalized.</message>
                <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" /> <match no="3" case_conversion="startupper" /></suggestion>
                <example correction="Game Boy Advance">The <marker>Game boy advance</marker> is an 8-bit handheld game console developed and manufactured by Nintendo.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FOX_NEWS" name="Fox News">
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Fox|FOX</token>
                    <token regexp="yes">News|NEWS|Sports|SPORTS</token>
                </antipattern>
                <pattern>
                    <token>fox</token>
                    <token regexp="yes">news|sports</token>
                </pattern>
                <message>A proper noun needs to be capitalized.</message>
                <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" /></suggestion>
                <example correction="Fox News">I'm watching <marker>fox news</marker>.</example>
                <example>FOX News</example>
                <example>FOX NEWS</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Fox|FOX</token>
                    <token>NFL</token>
                </antipattern>
                <pattern>
                    <token>fox</token>
                    <token>nfl</token>
                </pattern>
                <message>A proper noun needs to be capitalized.</message>
                <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="allupper" /></suggestion>
                <example correction="Fox NFL">I'm watching <marker>fox nfl</marker>.</example>
                <example>FOX NFL</example>
            </rule>
        </rulegroup>
        <rulegroup id="WHITE_HOUSE" name="White House">
            <antipattern case_sensitive="yes">
                <token>White</token>
                <token>House</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|to|daily</token>
                    <marker>
                        <token>white</token>
                        <token>house</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>White House</suggestion> (= the official residence of the president)?</message>
                <example correction="White House">The <marker>white house</marker> is the official residence and workplace of the president of the United States.</example>
                <example>Did you see the wonderful big white house on the hills?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>white</token>
                        <token>house</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>White House</suggestion> (= the official residence of the president)?</message>
                <example correction="White House"><marker>White house</marker> officials are warning Trump against social distancing deadlines.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>white</token>
                        <token>house</token>
                    </marker>
                    <token skip="2" regexp="yes">press.*|news|briefing|offic.*|correspondent.*|meeting|washington|dinner|force|adviser|chief</token>
                </pattern>
                <message>Did you mean <suggestion>White House</suggestion> (= the official residence of the president)?</message>
                <example correction="White House"><marker>white house</marker> officials are warning Trump against social distancing deadlines.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRESIDENT_TRUMP" name="president trump (Trump)">
            <url>https://en.wikipedia.org/wiki/Donald_Trump</url>
            <rule>
                <pattern>
                    <token regexp="yes">donald|melania|ivank?a|fred|tiffany|barron|eric|(ex-)?president|mary|lara</token>
                    <token case_sensitive="yes">trump</token>
                </pattern>
                <message>Proper nouns need to be capitalized.</message>
                <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" /></suggestion>
                <example correction="Donald Trump"><marker>Donald trump</marker> is president of the United States.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">donald|melania|ivank?a|fred|tiffany|barron|eric|president|mary|lara</token>
                    <token>trumps</token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing.</message>
                <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" regexp_match="(?i)s" regexp_replace="" />'s</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="Donald Trump's">It is <marker>Donald trumps</marker> plan to win the next election.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">leader|ceo|commander-in-chief|candidate</token>
                    <marker>
                        <token case_sensitive="yes">trump</token>
                    </marker>
                </pattern>
                <message>The word needs to be capitalized if you mean Donald <suggestion>Trump</suggestion> (= politician, businessman).</message>
                <example correction="Trump">Candidate <marker>trump</marker> is on vacation in Mar-A-Lago.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">trump</token>
                    </marker>
                    <token min="0">'s</token>
                    <token regexp="yes">admin|impeachment|tweet(s|ed)?|wall|decision|tariffs|negotiat(e|ions?)|sign(s|ed)|family|tax|war|wealth|jr|successor|re-?election|(re\-?)?elect(s|ed)?|father|mother|daughters?|sons?|children|child|grand[pm]a|net|investments?|ukraine|compan(y|ies)|attorneys?|team|government|political|vice|campaigns?|victory|2020|2016|presidential|presidency|executive|immigration|economy|administration|cabinet|approval|voters?|scandals?|twitter|russia|associates?|lawyers?|candidacy|military|personal|butler|war|legal|china|trade|deals?|regime|polic(y|ies)|wife|wives|spouses?|relatives?|financial|finances?|career|tv|lawsuits?|health|business(es)?</token>
                </pattern>
                <message>The word needs to be capitalized if you mean Donald <suggestion>Trump</suggestion> (= politician, businessman).</message>
                <example correction="Trump">According to Rudy Giuliani, <marker>trump</marker>'s attorney, Trump had sought advice about pardoning Manafort but was counseled against it.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">trump</token>
                    </marker>
                    <token regexp="yes">and|or|&amp;</token>
                    <token>his</token>
                </pattern>
                <message>The word needs to be capitalized if you mean Donald <suggestion>Trump</suggestion> (= politician, businessman).</message>
                <example correction="Trump">According to <marker>trump</marker> and his attorney, Trump had sought advice about pardoning Manafort but was counseled against it.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">
                            <exception regexp="yes" scope="previous">the|an?</exception>
                            trump
                        </token>
                    </marker>
                    <token postag="VBZ" />
                    <token>his</token>
                </pattern>
                <message>The word needs to be capitalized if you mean Donald <suggestion>Trump</suggestion> (= politician, businessman).</message>
                <example correction="Trump">Yet again <marker>trump</marker> displays his ignorance of and contempt for history and current politics, as well as the lives of all others.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">donald|melania|ivank?a|fred|tiffany|barron|eric|mary|lara|(ex-)?president|leader|ceo|commander-in-chief|candidate|if</token>
                    <marker>
                        <token>Trumps</token>
                    </marker>
                </pattern>
                <message>A possessive apostrophe is required here.</message>
                <suggestion>Trump's</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="Trump's">Donald <marker>Trumps</marker> presidency.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>
                            <exception scope="previous">the</exception>
                            Trumps
                        </token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">admin|impeachment|tweet(s|ed)?|wall|decision|tariffs|negotiat(e|ions?)|sign(s|ed)|family|tax|war|wealth|jr|successor|re-?election|(re\-?)?elect(s|ed)?|father|mother|daughters?|sons?|children|child|grand[pm]a|net|investments?|ukraine|compan(y|ies)|attorneys?|team|government|political|vice|campaigns?|victory|2020|2024|2016|presidential|presidency|executive|immigration|economy|administration|cabinet|approval|voters?|scandals?|twitter|russia|associates?|lawyers?|candidacy|military|personal|butler|war|legal|china|trade|deals?|regime|polic(y|ies)|wife|wives|spouses?|family|relatives?|financial|finances?|career|tv|lawsuits?|health|business(es)?|opponents?</token>
                </pattern>
                <message>A possessive apostrophe is required here.</message>
                <suggestion>Trump's</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="Trump's">Donald <marker>Trumps</marker> first presidency.</example>
            </rule>
            <rule>
                <pattern>
                    <token>mr</token>
                    <token min="0">.</token>
                    <marker>
                        <token case_sensitive="yes">trump</token>
                    </marker>
                </pattern>
                <message>The word needs to be capitalized if you mean Donald <suggestion>Trump</suggestion> (= politician, businessman).</message>
                <example correction="Trump">Mr <marker>trump</marker>'s presidency ended in 2020.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MARKDOWN_NNP" name="Proper noun: Markdown">
            <!-- TODO: add other programming languages: Ruby, Python, Rust, Go ... -->
            <url>https://en.wikipedia.org/wiki/Markdown</url>
            <rule>
                <pattern>
                    <token postag="IN" />
                    <marker>
                        <token chunk="E-NP-singular" case_sensitive="yes">markdown</token>
                    </marker>
                </pattern>
                <message>Did you mean the formatting language <suggestion>Markdown</suggestion> (= proper noun)?</message>
                <example correction="Markdown">I have formatted my text with <marker>markdown</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" skip="1">use|prefer|write|code|format|GitHub|suppport|PHP</token>
                    <marker>
                        <token chunk="E-NP-singular" case_sensitive="yes">markdown</token>
                    </marker>
                </pattern>
                <message>Did you mean the formatting language <suggestion>Markdown</suggestion> (= proper noun)?</message>
                <example correction="Markdown">I'm using <marker>markdown</marker> to format my text.</example>
            </rule>
            <rule>
                <antipattern><!-- They markdown everything (different error) -->
                    <token postag="MD|PRP" postag_regexp="yes" />
                    <token>markdown</token>
                </antipattern>
                <antipattern><!-- They markdown everything (different error) -->
                    <token postag="MD" />
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="RB" />
                    <token>markdown</token>
                </antipattern>
                <antipattern><!-- They markdown everything (different error) -->
                    <token inflected="yes">do</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="RB" />
                    <token>markdown</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">markdown</token>
                    </marker>
                    <token regexp="yes">(sub-?)?headings?|format(ting)?s?|syntax|(pre-?)?processors?|language|implementation|parsers?|(pre-?)?processors?|mark-?ups?|tags?|(hyper-?)?links?|plug-?ins?|text|paragraphs?|links?|bold|italic|lists?|(un)?ordered|code|doc(ument)?s?|tables?</token>
                </pattern>
                <message>Did you mean the formatting language <suggestion>Markdown</suggestion> (= proper noun)?</message>
                <example correction="Markdown">I have written a <marker>markdown</marker> parser.</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_GOOGLE" name="a/the + proper noun">
            <antipattern>
                <token>let</token>
                <token>'s</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">google|excel|chevy|react|skype|photoshop|kindle|discover|aspire|velcro|intuit</token>
                    </marker>
                </pattern>
                <message><suggestion><match no="3" case_conversion="startupper" /></suggestion> is a proper noun and needs to be capitalized.</message>
                <example correction="Google">The <marker>google</marker> skills are outstanding!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|her|his|their</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ff]acetime</token>
                    </marker>
                </pattern>
                <message><suggestion>FaceTime</suggestion> is a proper noun and needs to be capitalized.</message>
                <example correction="FaceTime">The <marker>facetime</marker> meeting was nice!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>an?|the|that|which|this|those|my|his|her|their|y?our|'s</token>
                    <token postag="JJ.*|VBD" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">google|excel|chevy|react|skype|photoshop|kindle|discover|aspire|velcro|intuit</token>
                    </marker>
                    <token postag_regexp="yes" postag="PCT|NN.*"/>
                </pattern>
                <message><suggestion><match no="3" case_conversion="startupper" /></suggestion> is a proper noun and needs to be capitalized.</message>
                <example correction="Google">Have you seen the simplified <marker>google</marker> doc?</example>
                <example correction="Excel">Have you seen the simplified <marker>excel</marker> sheet?</example>
                <example correction="Excel">My <marker>excel</marker> skills are outstanding!</example>
                <example correction="Excel">That's the largest <marker>excel</marker> document I've ever worked on.</example>
                <example correction="Chevy">Their <marker>chevy</marker> impala is the best.</example>
                <example correction="React">Our new <marker>react</marker> plugin is only working with latest Chrome.</example>
                <example correction="Kindle">The <marker>kindle</marker> tablet is a popular e-book reader from Amazon</example>
                <example correction="Google">Peter's <marker>google</marker> doc contains some spelling mistakes</example>
                <example>The bassist who wanted to <marker>excel</marker> at improvising</example>
                <example>He wanted to <marker>google</marker> for the medicine.</example>
                <example>The <marker>Chevy</marker> Impala is a beautiful car.</example>
                <example>Brand advertising presents a substantial opportunity to help people around the world discover Google's brand and products.</example>
                <example>Let's google life.</example>
                <example correction="Excel">The <marker>excel</marker>, powerpoint and word program.</example>
                <example correction="Skype">Please open your <marker>skype</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GOGGLE_GOOGLE" name="goggle vs. Google">
            <rule>
                <pattern>
                    <marker>
                        <token>goggle</token>
                    </marker>
                    <token regexp="yes">analytics|mail|ads|adsense|adwords|maps|groups|earth|drive|docs|translate|chrome(cast)?|classroom|flights|glass|hangouts|news|photos?|pixels?|pl?ay|scholar|search|employees?|headquarters?|company|users?|slides?|services?|features?|slides</token>
                </pattern>
                <message>Did you mean <suggestion>Google</suggestion> (= Internet company)?</message>
                <example correction="Google">He was using <marker>goggle</marker> docs for his thesis.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" skip="2" inflected="yes">find|(re)?search</token>
                    <token regexp="yes">on|at|via</token>
                    <marker>
                        <token>goggle</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Google</suggestion> (= Internet company)?</message>
                <example correction="Google">He was searching on <marker>goggle</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TWITTER" name="twitter (Twitter)">
            <rule>
                <pattern>
                    <token regexp="yes">on|via|at</token>
                    <marker>
                        <token case_sensitive="yes">twitter</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Twitter</suggestion> (= microblogging service, capitalized)?</message>
                <example correction="Twitter">I said something bad on <marker>twitter</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">use</token>
                    <marker>
                        <token case_sensitive="yes">twitter</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Twitter</suggestion> (= microblogging service, capitalized)?</message>
                <example correction="Twitter">I'm using <marker>twitter</marker> to express my opinions.</example>
            </rule>
            <rule>
                <antipattern><!-- I can twitter ... -->
                    <token postag="MD|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token>twitter</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">twitter</token>
                    </marker>
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token min="0">s</token>
                    <token regexp="yes">accounts?|repl(y|ies)|trends?|profiles?|avatar|C[FTMECO]O|employees?|managers?|engineers?|APIs?|dms?|usages?|usernames?|stock|shareholders?|investors?|users?|founders?|apps?|acquire[ds]?]announce[sd]?|web(site)?|homepage|shares?|released?|introduce[sd]?|feeds?|acquisitions?|bots?</token>
                </pattern>
                <message>Did you mean <suggestion>Twitter</suggestion> (= microblogging service, capitalized)?</message>
                <example correction="Twitter">I have a <marker>twitter</marker> account.</example>
                <example>I can twitter trends.</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="10" regexp="yes">facebook|instagram|whatsapp|tweets?|tweeting|tweeted|dms?</token>
                    <marker>
                        <token case_sensitive="yes">twitter</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Twitter</suggestion> (= microblogging service, capitalized)?</message>
                <example correction="Twitter">I'm using Facebook and <marker>twitter</marker> to communicate.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="10" case_sensitive="yes">twitter</token>
                    </marker>
                    <token regexp="yes">facebook|instagram|whatsapp|tweets?|tweeting|tweeted|dms?</token>
                </pattern>
                <message>Did you mean <suggestion>Twitter</suggestion> (= microblogging service, capitalized)?</message>
                <example correction="Twitter">I'm using <marker>twitter</marker> and Facebook to communicate.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ON_SKYPE" name="Let's talk on skype (Skype)">
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" skip="2">talk|meet|discuss|plan|chat|call|see|message|text|do|elaborate|contact|share|reply|answer|question|dm</token>
                    <token regexp="yes">on|via</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">zoom|skype|hangouts|slack|teams|twitter</token>
                    </marker>
                </pattern>
                <message>Did you mean the communication tool <suggestion><match no="3" case_conversion="startupper" /></suggestion> (= proper noun, capitalized)?</message>
                <example correction="Skype">Let's have a chat on <marker>skype</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" skip="2">talk|meet|discuss|plan|chat|call|see|message|text|do|elaborate|contact|share|reply|answer|question|dm</token>
                    <token regexp="yes">on|via</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ff]acetime</token>
                    </marker>
                </pattern>
                <message>Did you mean the communication tool <suggestion>FaceTime</suggestion> (= proper noun, capitalized)?</message>
                <example correction="FaceTime">Let's have a chat on <marker>facetime</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" skip="3">invitation|invite</token>
                    <token regexp="yes" skip="1">for|to</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">zoom|skype|hangouts|slack|twitter</token>
                    </marker>
                </pattern>
                <message>Did you mean the communication tool <suggestion><match no="3" case_conversion="startupper" /></suggestion> (= proper noun, capitalized)?</message>
                <example correction="Slack">He got invited to their <marker>slack</marker> channel.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes" skip="1">zoom|skype|hangouts|slack|twitter</token>
                    </marker>
                    <token regexp="yes">chats?|talks?|calls?|meetings?|presentations?|conversations?|stand\-?up|apps?|interviews?|discussions?|messages?|messaging|channels?|contacts?|notifications?|conferenc(e|ing)|answers?|repl(y|ies)|accounts?</token>
                </pattern>
                <message>Did you mean the communication tool <suggestion><match no="1" case_conversion="startupper" /></suggestion> (= proper noun, capitalized)?</message>
                <example correction="Skype">Let's have a quick <marker>skype</marker> call.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes" skip="1">[Ff]acetime</token>
                    </marker>
                    <token regexp="yes">chats?|talks?|calls?|meetings?|presentations?|conversations?|stand\-?up|apps?|interviews?|discussions?|messages?|messaging|channels?|contacts?|notifications?|conferenc(e|ing)|answers?|repl(y|ies)|accounts?</token>
                </pattern>
                <message>Did you mean the communication tool <suggestion>FaceTime</suggestion> (= proper noun, capitalized)?</message>
                <example correction="FaceTime">Let's have a quick <marker>facetime</marker> call.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token regexp="yes">react|discover|google|slack|zoom|excel</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">yahoo|zoom|skype|hangouts|slack|twitter|excel|google|chevy|react|photoshop|kindle|discover</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="NN.*|IN|EX|CC" postag_regexp="yes" />
                    </token>
                    <token inflected="yes" regexp="yes">do|will|be|have|can|should|might|must|need|go|want|try|think|hope|believe|[tm]ake</token>
                </pattern>
                <message>The name of this brand needs to be capitalized.</message>
                <suggestion><match no="2" case_conversion="startupper" /></suggestion>
                <example correction="Google">We got a lot of visitors before <marker>google</marker> was down.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ON_EXCEL" name="In excel (Excel)">
            <url>https://en.wikipedia.org/wiki/Microsoft_Excel</url>
            <rule>
                <pattern>
                    <token regexp="yes">in|on|of|for|into|with(out|in)?|at</token>
                    <marker>
                        <token case_sensitive="yes">excel</token>
                    </marker>
                </pattern>
                <message>Capitalize this word if you mean the computer program <suggestion>Excel</suggestion>.</message>
                <example correction="Excel">I'm very good in <marker>excel</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">excel</token>
                    </marker>
                    <token regexp="yes">charts?|sheets?|files?|spreadsheets?|formats?|software|program|20\d{2}|macros?|formulas?|functions?|cells?|documents?|workshops?|trainings?</token>
                </pattern>
                <message>Capitalize this word if you mean the computer program <suggestion>Excel</suggestion>.</message>
                <example correction="Excel">Please send me the <marker>excel</marker> file via e-mail.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GOOGLE_PRODUCTS" name="Google product names">
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Google</token>
                    <token>Play</token>
                    <token>Store</token>
                </antipattern>
                <pattern>
                    <token>
                        google
                        <exception scope="previous" regexp="yes">to|can(not)?|n't|[cw]ould|should|must|please</exception>
                    </token>
                    <token>play</token>
                    <token>store</token>
                </pattern>
                <message>Did you mean <suggestion>Google Play Store</suggestion>?</message>
                <example correction="Google Play Store">My app is also available on the <marker>Google play store</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>slides</token>
                    <token>into</token>
                </antipattern>
                <pattern>
                    <token>
                        Google
                        <exception scope="previous" regexp="yes">to|can(not)?|n't|[cw]ould|will|should|must|please</exception>
                    </token>
                    <token case_sensitive="yes" regexp="yes">assistant|analytics|mail|ads|adsense|admob|inc|maps|groups|earth|drive|docs|translate|chrome(cast)?|classroom|flights|glass|hangouts|news|pixel|pay|scholar|pixelbooks?|stadia|duo|nest|waymo|workspace|slides|lens</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" /></suggestion>?</message>
                <example correction="Google Analytics">We use <marker>Google analytics</marker>.</example>
                <example>We have to google mail providers.</example>
                <example>We can't google news.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        Google
                    </token>
                    <token min="0">'s</token>
                    <token>AdWords</token>
                </pattern>
                <message>Google renamed their advertising platform to <suggestion><match no="1" case_conversion="startupper" />\2 Ads</suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/Google_Ads</url>
                <example correction="Google Ads">We use <marker>Google Adwords</marker>.</example>
                <example correction="Google's Ads">The city is also home to the headquarters of <marker>Google's AdWords</marker> program.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>Google</token>
                    <token>'s</token>
                    <token>Adwords</token>
                </antipattern>
                <pattern>
                    <token>
                        adwords
                        <exception scope="previous" regexp="yes">google|goggle</exception>
                    </token>
                </pattern>
                <message>In 2018 Google renamed their advertising platform to <suggestion>Google Ads</suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/Google_Ads</url>
                <example correction="Google Ads">We use <marker>Adwords</marker>.</example>
                <example>The city is also home to the headquarters of Google's AdWords program.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">chrome|chromium</token>
                    </marker>
                    <token regexp="yes">extension|add-?on|browsers?|updates?|downloads?|adblock|beta|developer|support|incognito|version|web|windows?|tabs?|releases?|compatibility|dev(elopment)?</token>
                </pattern>
                <message>The proper noun <suggestion>Chrome</suggestion> (= software from Google) needs to be capitalized.</message>
                <example correction="Chrome">The <marker>chrome</marker> browser is better than Internet Explorer.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">chrome|chromium</token>
                        <token regexp="yes">\d{2,3}</token>
                    </marker>
                </pattern>
                <message>The proper noun <suggestion>Chrome \2</suggestion> (= software from Google) needs to be capitalized.</message>
                <example correction="Chrome 70">I'm using <marker>chromium 70</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>chrome</token>
                    <token regexp="yes">books?</token>
                </pattern>
                <message>Did you mean <suggestion>Chrome<match no="2" case_conversion="alllower" /></suggestion> (= computer from Google)?</message>
                <url>https://en.wikipedia.org/wiki/Chromebook</url>
                <example correction="Chromebook">I'm working on my new <marker>chrome book</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>google</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">[a-z].*</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Oo]n|[Vv]ia|[Ww]ith(out)?|[Ff]rom|[Aa]t|[Ff]or|[Tt]hrough</token>
                    <marker>
                        <token case_sensitive="yes">google</token>
                    </marker>
                </pattern>
                <message>The name of this company should be capitalized.</message>
                <suggestion>Google</suggestion>
                <example correction="Google">Have you searched for it on <marker>google</marker>?</example>
            </rule>
        </rulegroup>
        <rulegroup id="OPERA_BROWSER" name="capitalization of 'Opera' (browser)">
            <url>https://en.wikipedia.org/wiki/Opera_(web_browser)</url>
            <rule>
                <antipattern>
                    <token regexp="yes">soap|chamber</token>
                    <token>opera</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">install?|update</token>
                    <token min="0" />
                    <marker>
                        <token case_sensitive="yes">opera</token>
                    </marker>
                </pattern>
                <message>The proper noun <suggestion>Opera</suggestion> (= web browser) needs to be capitalized.</message>
                <example correction="Opera">He installed <marker>opera</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">soap|chamber</token>
                    <token>opera</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">opera</token>
                    </marker>
                    <token regexp="yes">extension|add-?on|browser|update|download|adblock|beta|developer|support|incognito|version|web|window|tab|release|compatibility|software|touch|dev(elopment)?</token>
                </pattern>
                <message>The proper noun <suggestion>Opera</suggestion> (= web browser) needs to be capitalized.</message>
                <example correction="Opera">The <marker>opera</marker> browser is better than Internet Explorer.</example>
                <example>The Bay (web series), a soap opera web series that premiered in 2010.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Opera</token>
                    <token regexp="yes">[A-Z0-9].*</token>
                </antipattern>
                <pattern>
                    <token>opera</token>
                    <token regexp="yes">mini|gx|mobile|\d{2,3}</token>
                </pattern>
                <message>The proper noun <suggestion>Opera <match no="2" case_conversion="startupper" /></suggestion> (= web browser) needs to be capitalized.</message>
                <example correction="Opera 61">I'm using <marker>opera 61</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NORTH_POLE" name="north pole (North Pole)">
            <antipattern case_sensitive="yes">
                <token regexp="yes">North|South</token>
                <token>Pole</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">magnet.*</token>
                <token>pole</token>
            </antipattern>
            <antipattern>
                <token skip="-1">pole</token>
                <token regexp="yes">magnet.*</token>
            </antipattern>
            <antipattern><!-- It has a north and a south pole -->
                <token regexp="yes">a|one</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">north|south</token>
                <token chunk="E-NP-singular">pole</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>north</token>
                    <token>pole</token>
                </pattern>
                <message>Consider capitalizing this term if you mean the northernmost point of the earth.</message>
                <suggestion>North Pole</suggestion>
                <url>https://www.merriam-webster.com/dictionary/north%20pole</url>
                <example correction="North Pole">He was the first man who every walked to the <marker>north pole</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>south</token>
                    <token>pole</token>
                </pattern>
                <message>Consider capitalizing this term if you mean the southernmost point of the earth.</message>
                <suggestion>South Pole</suggestion>
                <url>https://www.merriam-webster.com/dictionary/south%20pole</url>
                <example correction="South Pole">He was the first man who every walked to the <marker>south pole</marker>.</example>
                <example>It has a north and a south pole.</example>
            </rule>
        </rulegroup>
        <rule id="SPACEX" name="SpaceX">
            <pattern>
                <token>Space</token>
                <token>X</token>
            </pattern>
            <message>Did you mean <suggestion>SpaceX</suggestion> (= aerospace company)?</message>
            <url>https://en.wikipedia.org/wiki/SpaceX</url>
            <example correction="SpaceX"><marker>Space X</marker> is a private American aerospace manufacturer and space transportation services company.</example>
        </rule>
        <rule id="BON_APPETITE" name="bon appétit">
            <antipattern>
                <token>bon</token>
                <token>appétit</token>
            </antipattern>
            <pattern>
                <token>bon</token>
                <token regexp="yes">app?.tite?s?</token>
            </pattern>
            <message>Did you mean the French phrase <suggestion>\1 <match no="2" regexp_match="^(.)p.*" regexp_replace="$1ppétit"/></suggestion> (= enjoy your meal)?</message>
            <url>https://www.merriam-webster.com/dictionary/bon%20app%C3%A9tit</url>
            <example correction="Bon Appétit"><marker>Bon Appetite</marker>!</example>
            <example correction="Bon appétit">It's polite to say "<marker>Bon apétit</marker>" before eating one's meal.</example><!-- Premium #1795 -->
            <example correction="bon appétit">I say <marker>bon appatit</marker> to you all.</example>
            <example><marker>Bon Appétit</marker>!</example>
        </rule>
        <rulegroup id="APPLE_PRODUCTS" name="Apple product names">
            <url>https://en.wikipedia.org/wiki/Timeline_of_Apple_Inc._products</url>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Apple|APPLE</token>
                    <token regexp="yes">[A-Z].+</token>
                </antipattern>
                <antipattern>
                    <token>silicon</token>
                    <token regexp="yes">valleys?</token>
                </antipattern>
                <pattern>
                    <token>apple</token>
                    <token regexp="yes">i?Mac|MacBook|Watch|Pay|Store|Inc|A\d+|Card|Homepod|Music|Wallet|Xcode|HomeKit|ARKit|Care|Carplay|EarPods|AirPods|Health|Maps|Siri|Lightning|iMovie|Arcade|Pencil|silicon</token>
                </pattern>
                <message>Did you mean the proper noun <suggestion><match no="1" case_conversion="startupper" /> <match no="2" case_conversion="startupper" regexp_match="pod" regexp_replace="Pod" /></suggestion>?</message>
                <example correction="Apple Inc">He's working for <marker>apple inc</marker>.</example>
                <example correction="Apple AirPods">Those are my <marker>apple airpods</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Apple|APPLE</token>
                    <token regexp="yes">TV|ID</token>
                </antipattern>
                <pattern>
                    <token>apple</token>
                    <token regexp="yes">tv|id</token>
                </pattern>
                <message>Did you mean the proper noun <suggestion>Apple <match no="2" case_conversion="allupper" /></suggestion>?</message>
                <example correction="Apple TV">He's using his <marker>apple tv</marker> for streaming Netflix.</example>
                <example correction="Apple ID">My <marker>apple id</marker> is xxx@xxx.com.</example>
            </rule>
            <rule>
                <pattern>
                    <token>iPad</token>
                    <token>OS</token>
                </pattern>
                <message>The operating system of the iPad is spelled as one word.</message>
                <suggestion>iPadOS</suggestion>
                <example correction="iPadOS">I was working on an <marker>ipad os</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">apple</token>
                    </marker>
                    <token min="0">'s</token>
                    <token regexp="yes">headquarters?|inc|offices?|cloud|os|macos|employees?|founders?|chargers?|accounts?|login|mobile|revenues?|profits?|website|mails?|software|hardware|germany|devices?|stores?|smartphones?|cell|technology|retail|apps?|eco\-?system|mac|quicktime|safari|resellers?|logo|repair|genius|upgrades?|macbooks?|iphones?|ipads?|stock|icloud|jobs|keyboard|news|nasdaq|newsroom|online|refurbished|support|updates?|usb|screen|thunderbolt|lightning|computers?|developers?|dividends?|events?|emails?|education|siri.*|security</token>
                </pattern>
                <message>Did you mean the proper noun <suggestion>Apple</suggestion> (= technology company)?</message>
                <example correction="Apple">He's an <marker>apple</marker> employee.</example>
                <example correction="Apple">And <marker>apple</marker>'s revenue is still increasing.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">Apple(Pay|Watch)</token>
                </pattern>
                <message>This Apple product is spelled with a space in between.</message>
                <suggestion>Apple <match no="1" regexp_match="(?i)apple" regexp_replace="" case_conversion="startupper" /></suggestion>
                <example correction="Apple Pay"><marker>ApplePay</marker> is a mobile payment and digital wallet service by Apple Inc.</example>
            </rule>
            <rule>
                <pattern>
                    <token>mac</token>
                    <token regexp="yes">books?</token>
                </pattern>
                <message>Did you mean <suggestion>Mac<match no="2" case_conversion="startupper" /></suggestion> (= product from Apple)?</message>
                <example correction="MacBook">I'm working on my new <marker>mac book</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Mac|MAC</token>
                    <token>OS</token>
                    <token>X</token>
                </antipattern>
                <pattern>
                    <token>mac</token>
                    <token>os</token>
                    <token>x</token>
                </pattern>
                <message>Did you mean the operating system <suggestion>Mac OS X</suggestion>?</message>
                <example correction="Mac OS X">I'm working on <marker>mac os x</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">mac</token>
                    </marker>
                    <token regexp="yes">apps?|programs?|software|hardware|camera|systems?|process(es)?|computers?|laptops?|operating|os|screens?|install(ation)?s?|keyboards?|notifications?|machines?|users?|clients?|settings?|configurations?|config|mini|[cg]pus?|mainboards?|adapters?</token>
                </pattern>
                <message>Did you mean Apple's computer <suggestion>Mac</suggestion> (= trademark, capitalized)?</message>
                <example correction="Mac">I'm working on a <marker>mac</marker> app.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="3">mac</token>
                    <token regexp="yes">cheese|address(es)?|spoof.*</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">my|your</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token case_sensitive="yes">mac</token>
                    </marker>
                </pattern>
                <message>Did you mean Apple's computer <suggestion>Mac</suggestion> (= trademark, capitalized)?</message>
                <example correction="Mac">My <marker>mac</marker> doesn't boot anymore.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="3">mac</token>
                    <token>cheese</token>
                </antipattern>
                <pattern>
                    <token>on</token>
                    <token regexp="yes" min="0">an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token case_sensitive="yes">mac</token>
                    </marker>
                </pattern>
                <message>Did you mean Apple's computer <suggestion>Mac</suggestion> (= trademark, capitalized)?</message>
                <example correction="Mac">I'm working on a <marker>mac</marker> app.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">work|compatible</token>
                    <token>with</token>
                    <token min="0">a</token>
                    <marker>
                        <token case_sensitive="yes">mac</token>
                    </marker>
                </pattern>
                <message>Did you mean Apple's computer <suggestion>Mac</suggestion> (= trademark, capitalized)?</message>
                <example correction="Mac">Does it work with a <marker>mac</marker>?.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MAC_OS" name="Mac OS (macOS)">
            <rule>
                <antipattern>
                    <token>Mac</token>
                    <token>OS</token>
                    <token>X</token>
                </antipattern>
                <antipattern>
                    <token>Mac</token>
                    <token>OS</token>
                    <token regexp="yes">\d</token>
                </antipattern>
                <antipattern>
                    <token>Mac</token>
                    <token>OS</token>
                    <token>10</token>
                    <token>.</token>
                    <token regexp="yes">[0-9]|10|11</token>
                </antipattern>
                <pattern>
                    <token>mac</token>
                    <token>
                        os
                    </token>
                </pattern>
                <message>The operating system from Apple is written <suggestion><match no="1" case_conversion="alllower" />OS</suggestion></message>
                <url>https://en.wikipedia.org/wiki/MacOS</url>
                <example correction="macOS">Do you prefer Windows or <marker>mac OS</marker>?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token postag="SENT_START" />
                    <token>MacOS</token>
                </antipattern>
                <antipattern>
                    <token>MacOS</token>
                    <token>X</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">macOS|MACOS</token>
                </antipattern>
                <pattern>
                    <token>
                        MacOS
                    </token>
                </pattern>
                <message>The operating system from Apple is written <suggestion><match no="1" case_conversion="startlower" regexp_match="(?i)macos" regexp_replace="macOS" /></suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/MacOS</url>
                <example correction="macOS">Do you prefer Windows or <marker>MacOS</marker>?</example>
                <example>MacOS updates were failing.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token postag="SENT_START" />
                    <token>WatchOS</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">watchOS|WATCHOS</token>
                </antipattern>
                <pattern>
                    <token>
                        WatchOS
                    </token>
                </pattern>
                <message>The operating system from Apple is written <suggestion><match no="1" case_conversion="startlower" regexp_match="(?i)watchos" regexp_replace="watchOS" /></suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/WatchOS</url>
                <example correction="watchOS">His Apple Watch is running the latest version of <marker>WatchOS</marker>.</example>
                <example>MacOS updates were failing.</example>
            </rule>
            <rule>
                <pattern>
                    <token>MacOS</token>
                    <token>X</token>
                </pattern>
                <message>Did you mean <suggestion>Mac OS X</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/MacOS#Release_history</url>
                <example correction="Mac OS X"><marker>MacOS X</marker> is an operating system.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MICROSOFT_PRODUCTS" name="Microsoft product names">
            <rule>
                <pattern>
                    <token>power</token>
                    <token>point</token>
                </pattern>
                <message>Did you mean <suggestion>PowerPoint</suggestion> (= Microsoft presentation software)?</message>
                <example correction="PowerPoint">Microsoft <marker>power point</marker> is a presentation program.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">[Pp]owerpoint</token>
                </pattern>
                <message>Did you mean <suggestion>PowerPoint</suggestion> (= Microsoft presentation software)?</message>
                <example correction="PowerPoint">Microsoft <marker>Powerpoint</marker> is a presentation program.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Internet|INTERNET</token>
                    <token regexp="yes">Explorer|EXPLORER</token>
                </antipattern>
                <pattern>
                    <token>internet</token>
                    <token>explorer</token>
                </pattern>
                <message>The proper noun <suggestion>Internet Explorer</suggestion> (= Microsoft browser) needs to be capitalized.</message>
                <example correction="Internet Explorer"><marker>Internet explorer</marker> is an ancient and outdated web browser.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Microsoft|MICROSOFT</token>
                    <token regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <token>microsoft</token>
                    <token regexp="yes">word|excel|outlook|office|edge|azure|surface|windows|hotmail|lumia|bing|solitaire|editor|teams|defender|dynamics</token>
                </pattern>
                <message>Did you mean the proper noun <suggestion>Microsoft <match no="2" case_conversion="startupper" /></suggestion> (= Microsoft product)?</message>
                <example correction="Microsoft Word"><marker>Microsoft word</marker> is a word processor.</example>
                <example><marker>Microsoft Office</marker> is popular software that not only runs on Windows machines but also on macOS.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>MS</token>
                    <token regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <token>ms</token>
                    <token regexp="yes">word|excel|outlook|office|edge|azure|surface|windows|hotmail|lumia|bing|solitaire|editor|teams|defender|dynamics|paint</token>
                </pattern>
                <message>Did you mean the proper noun <suggestion>MS <match no="2" case_conversion="startupper" /></suggestion> (= Microsoft product)?</message>
                <example correction="MS Word"><marker>MS word</marker> is a word processor.</example>
                <example><marker>MS Office</marker> is popular software that not only runs on Windows machines but also on macOS.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">word|excel|office|outlook</token>
                    <token regexp="yes">2007|2010|2013|2016|2019|2022|365</token>
                </pattern>
                <message>The proper noun <suggestion><match no="1" case_conversion="startupper" /> \2</suggestion> needs to be capitalized.</message>
                <example correction="Office 365">My <marker>office 365</marker> license expired.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>office365</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">[a-z].*</token>
                </antipattern>
                <antipattern>
                    <token>#</token>
                    <token spacebefore="no">office365</token>
                </antipattern>
                <pattern>
                    <token>office365</token>
                </pattern>
                <message>Did you mean <suggestion>Office 365</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Office_365</url>
                <example correction="Office 365">My <marker>office365</marker> license expired.</example>
                <example>Please open outlook.office365.com</example>
            </rule>
            <rule>
                <pattern>
                    <token>microsoft365</token>
                </pattern>
                <message>Did you mean <suggestion>Microsoft 365</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Office_365</url>
                <example correction="Microsoft 365">My <marker>microsoft365</marker> license expired.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Windows|WINDOWS</token>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">[A-Z].*</token>
                </antipattern>
                <antipattern><!-- doesn't exist -->
                    <token>10</token>
                    <token>ultimate</token>
                </antipattern>
                <pattern>
                    <token>Windows</token>
                    <token regexp="yes">7|8|10</token>
                    <token regexp="yes">S|Home|Pro|Professional|Ultimate|Enterprise</token>
                </pattern>
                <message>This name of a Microsoft operating system needs to be capitalized.</message>
                <suggestion>Windows \2 <match no="3" case_conversion="startupper" /></suggestion>
                <example correction="Windows 8 Home">I was using <marker>windows 8 home</marker> edition.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?|my|his|her|y?our</token>
                    <token>one</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|one|my|y?our|his|her</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="CD" />
                    </token>
                    <marker>
                        <token case_sensitive="yes">word</token>
                    </marker>
                    <token regexp="yes">charts?|documents?|docx?|files?|macros?|add-[io]ns?|pages?</token>
                </pattern>
                <message>Did you mean <suggestion>Word</suggestion> (= computer program, capitalized)?</message>
                <example correction="Word">Have you seen my <marker>word</marker> document?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">outlook</token>
                    </marker>
                    <token regexp="yes">e?-?mails?|website|logins?|accounts?|signatures?|program|apps?|web|calendars?|passwords?|address</token>
                </pattern>
                <message>Did you mean <suggestion>Outlook</suggestion> (= email program, capitalized)?</message>
                <url>https://en.wikipedia.org/wiki/Microsoft_Outlook</url>
                <example correction="Outlook">I haven't checked my <marker>outlook</marker> mails yet.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">XBOX|Xbox</token>
                    <token regexp="yes">SERIES|Series|One|ONE</token>
                    <token regexp="yes">S|X</token>
                </antipattern>
                <pattern>
                    <token>xbox</token>
                    <token regexp="yes">series?|one</token>
                    <token regexp="yes">s|x</token>
                </pattern>
                <message>Did you mean the gaming console <suggestion>Xbox <match no="2" regexp_match="(?i)erie$" regexp_replace="eries" case_conversion="startupper" /> <match no="3" case_conversion="allupper" /></suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Xbox_(fourth_generation)</url>
                <example correction="Xbox Series X">The <marker>xbox series x</marker> is the next gaming console from Microsoft.</example>
            </rule>
        </rulegroup>
        <rule id="VITAMIN_C" name="vitamin C">
            <antipattern case_sensitive="yes">
                <token regexp="yes">vitamin|VITAMIN</token>
                <token regexp="yes">[A-Z]</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token>Vitamin</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">:|;</token>
                <token>Vitamin</token>
            </antipattern>
            <pattern>
                <token>vitamin</token>
                <token regexp="yes">[A-Z]</token>
            </pattern>
            <message>The word 'vitamin' is normally not capitalized in the expression <suggestion><match no="1" case_conversion="alllower" /> <match no="2" case_conversion="allupper" /></suggestion></message>
            <url>https://www.merriam-webster.com/dictionary/vitamin%20C</url>
            <example correction="vitamin C">Prolonged storage or cooking may reduce <marker>Vitamin C</marker> content in foods.</example>
            <example>Vitamin C</example>
        </rule>
        <rulegroup id="COVID_19" name="COVID-19">
            <url>https://languagetool.org/insights/post/capitalization-compounds/</url>
            <rule>
                <pattern>
                    <token>Covid</token>
                    <token>19</token>
                </pattern>
                <message>Did you mean <suggestion>COVID-19</suggestion> or the alternative spelling <suggestion>Covid-19</suggestion> (= coronavirus)?</message>
                <example correction="COVID-19|Covid-19"><marker>Covid 19</marker> originated in China.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">(Covid|COVID)-19</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">covid\-?19</token>
                </pattern>
                <message>Did you mean <suggestion>COVID-19</suggestion> or the alternative spelling <suggestion>Covid-19</suggestion> (= coronavirus)?</message>
                <example correction="COVID-19|Covid-19"><marker>Covid19</marker> originated in China.</example>
            </rule>
            <rule>
                <pattern>
                    <token>corona</token>
                    <token regexp="yes">virus(es)?</token>
                </pattern>
                <message>The term <suggestion><match no="1" /><match no="2" case_conversion="alllower" /></suggestion> (= disease) is spelled as one word.</message>
                <example correction="coronavirus">The <marker>corona virus</marker> pandemia.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">corona\-virus(es)?</token>
                </pattern>
                <message>The term <suggestion><match no="1" regexp_match="\-" regexp_replace="" /></suggestion> (= disease) is spelled as one word.</message>
                <example correction="coronavirus">The <marker>corona-virus</marker> pandemia.</example>
            </rule>
            <rule tags="picky">
                <antipattern>
                    <token regexp="yes">long|long-haul</token>
                    <token>Covid</token>
                </antipattern>
                <pattern>
                    <token>Covid</token>
                </pattern>
                <message>Did you mean <suggestion>COVID-19</suggestion> or the alternative spelling <suggestion>Covid-19</suggestion> (= coronavirus)?</message>
                <example correction="COVID-19|Covid-19"><marker>Covid</marker> originated in China.</example>
            </rule>
            <rule>
                <pattern>
                    <token>pre</token>
                    <token regexp="yes" case_sensitive="yes">C(OVID|ovid)-19|[Cc]orona(virus)?</token>
                </pattern>
                <message>The word <suggestion>pre-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="pre-corona">The <marker>pre corona</marker> revenue looked much better.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WALTER_REED" name="Walter Reed Hospital">
            <url>https://en.wikipedia.org/wiki/Walter_Reed_Army_Medical_Center</url>
            <antipattern case_sensitive="yes">
                <token>Walter</token>
                <token>Reed</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">walth?er</token>
                        <token regexp="yes" skip="3">re[ea]?d</token>
                    </marker>
                    <token regexp="yes">hospital|medical|washington|center</token>
                </pattern>
                <message>Did you mean <suggestion>Walter Reed</suggestion> (= hospital)?</message>
                <example correction="Walter Reed">The <marker>Walter Read</marker> Army Medical Center was the U.S. Army's flagship medical center from 1909 to 2011.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">at|the</token>
                    <marker>
                        <token regexp="yes">walth?er</token>
                        <token regexp="yes">re[ea]?d</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Walter Reed</suggestion> (= hospital)?</message>
                <example correction="Walter Reed">The <marker>Walter Read</marker> Army Medical Center was the U.S. Army's flagship medical center from 1909 to 2011.</example>
            </rule>
        </rulegroup>
        <rulegroup id="JOHNS_HOPKINS_UNIVERSITY" name="Johns Hopkins University">
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Johns</token>
                    <token>Hopkins</token>
                    <token regexp="yes">University|Hospital|School|Center|CSSE</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">Johns?</token>
                    <token regexp="yes">Hopkins?</token>
                    <token regexp="yes">University|Hospital|School|Center|CSSE</token>
                </pattern>
                <message>Did you mean the name <suggestion>Johns Hopkins <match no="3" case_conversion="startupper" /></suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Johns_Hopkins_Hospital</url>
                <example correction="Johns Hopkins Hospital">The <marker>John Hopkins Hospital</marker> (JHH) is a teaching hospital and biomedical research facility.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                       <token>John</token>
                    </marker>
                    <token>Hopkins</token>
                </pattern>
                <message>Did you mean <suggestion>Johns</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Johns_Hopkins</url>
                <example correction="Johns">The <marker>John</marker> Hopkins University is a private research university.</example>
            </rule>
        </rulegroup>
        <rule id="POWER_SHELL" name="PowerShell">
            <pattern>
                <token>power</token>
                <token>shell</token>
            </pattern>
            <message>Did you mean <suggestion>PowerShell</suggestion> (= task automation from Microsoft)?</message>
            <url>https://en.wikipedia.org/wiki/PowerShell</url>
            <example correction="PowerShell"><marker>Power shell</marker> is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language.</example>
        </rule>
        <rulegroup id="BEST_BUY" name="Best Buy">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Best|BEST</token>
                <token regexp="yes">Buy|BUY</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="IN|CC" postag_regexp="yes" />
                    <marker>
                        <token>best</token>
                        <token>buy</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Best Buy</suggestion> (= retail brand, capitalized)?</message>
                <example correction="Best Buy">I bought my new iPhone at <marker>best buy</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>best</token>
                        <token>buy</token>
                        <token>'s</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>Best Buy\3</suggestion> (= retail brand, capitalized)?</message>
                <example correction="Best Buy's">Recently, <marker>best buy's</marker> revenue decreased due to the heavy online competition.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>best</token>
                        <token>buy</token>
                    </marker>
                    <token regexp="yes">announce[ds]?|employees?|locations?|stores?|discounts?|offers?|hire[sd]?|acquire[sd]?|co|operate[sd]|company|supports?|shops?|c[feto]o|board|managers?|revenues?|profits?|stock|products?|coupons?</token>
                </pattern>
                <message>Did you mean <suggestion>Best Buy</suggestion> (= retail brand, capitalized)?</message>
                <example correction="Best Buy">Yesterday I went to a <marker>best buy</marker> store.</example>
            </rule>
        </rulegroup>
        <rule id="G_MAIL" name="Gmail">
            <antipattern>
                <token regexp="yes">[_.]</token>
                <token spacebefore="no">g</token>
            </antipattern>
            <pattern>
                <token>g</token>
                <token>mail</token>
            </pattern>
            <message>Did you mean <suggestion>Gmail</suggestion> (= email client from Google)?</message>
            <url>https://en.wikipedia.org/wiki/Gmail</url>
            <example correction="Gmail">He is using <marker>G Mail</marker> as my email client</example>
        </rule>
        <rule id="HARPERS_BAZAAR" name="Harper's Bazaar">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Harper|HARPER</token>
                <token regexp="yes">'s|'S</token>
                <token regexp="yes">Bazaar|BAZAAR|Magazine|MAGAZINE</token>
            </antipattern>
            <pattern>
                <token regexp="yes">harpers?</token>
                <token min="0">'s</token>
                <token regexp="yes">baa?zaa?r|magazine</token>
            </pattern>
            <message>It appears that a possessive apostrophe is missing.</message>
            <suggestion>Harper's <match no="3" regexp_match="(?i)baa?zaa?r" regexp_replace="Bazaar" case_conversion="startupper" /></suggestion>
            <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
            <example correction="Harper's Bazaar"><marker>Harpers Bazaar</marker> is a fashion magazine.</example>
        </rule>
        <rule id="WHATS_APP" name="WhatsApp">
            <pattern>
                <token>whats</token>
                <token>app</token>
            </pattern>
            <message>Did you mean <suggestion>WhatsApp</suggestion> (= Messenger) or <suggestion>what's up</suggestion> (= question)?</message>
            <url>https://en.wikipedia.org/wiki/WhatsApp</url>
            <example correction="WhatsApp|What's up">He is using <marker>Whats App</marker> to communicate with his friends.</example>
        </rule>
        <rule id="EIFFEL_TOWER" name="Eifel (Eiffel)">
            <pattern>
                <token>eifel</token>
                <token>tower</token>
            </pattern>
            <message>Did you mean the <suggestion>Eiffel Tower</suggestion> in Paris?</message>
            <url>https://en.wikipedia.org/wiki/Eiffel_Tower</url>
            <example correction="Eiffel Tower">He visited the <marker>Eifel Tower</marker>.</example>
        </rule>
        <rule id="GIT_HUB" name="GitHub">
            <pattern>
                <token>git</token>
                <token>hub</token>
            </pattern>
            <message>Did you mean <suggestion>GitHub</suggestion> (= Coding Platform)?</message>
            <url>https://en.wikipedia.org/wiki/GitHub</url>
            <example correction="GitHub">He is using <marker>Git Hub</marker> to host his code.</example>
        </rule>
        <rule id="LEROY_SANE" name="Leroy Sané">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Leroy|LEROY</token>
                <token regexp="yes">Sané|SANÉ</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Lee?roy</token>
                <token regexp="yes">San.</token>
            </pattern>
            <message>Did you mean <suggestion>Leroy <match no="2" regexp_match="(?i)San." regexp_replace="Sané" /></suggestion> (the football player)?</message>
            <url>https://en.wikipedia.org/wiki/Leroy_San%C3%A9</url>
            <example correction="Leroy Sané"><marker>Leroy Sane</marker> is a German football player</example>
        </rule>
        <rule id="CARNEGIE_MELLON" name="Carnegie Mellon">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Carnegie|CARNEGIE</token>
                <token regexp="yes">Mellon|MELLON</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Carn[ie]g(y|ie)</token>
                <token regexp="yes">Mell?[eo]n</token>
            </pattern>
            <message>Did you mean the university <suggestion>Carnegie Mellon</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Carnegie_Mellon_University</url>
            <example correction="Carnegie Mellon">He studied at <marker>Carnegie Melon</marker>.</example>
        </rule>
        <rule id="AIR_BNB" name="Air Bnb (Airbnb)">
            <pattern>
                <token>Air</token>
                <token>Bnb</token>
            </pattern>
            <message>The name of this online marketplace is spelled as one word.</message>
            <suggestion>Airbnb</suggestion>
            <url>https://en.wikipedia.org/wiki/Airbnb</url>
            <example correction="Airbnb">I reserved us a room via <marker>Air Bnb</marker>.</example>
        </rule>
        <rule id="CALL_OF_DUTY" name="Call of Duty">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Call|CALL</token>
                <token regexp="yes">Of|OF|of</token>
                <token regexp="yes">Duty|DUTY</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">the|an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>call</token>
            </antipattern>
            <pattern>
                <token>call</token>
                <token>of</token>
                <token>duty</token>
            </pattern>
            <message>Did you mean the video game <suggestion>Call of Duty</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Call_of_Duty</url>
            <example correction="Call of Duty">His favorite game was <marker>call of duty</marker>.</example>
            <example>He went above and beyond the call of duty.</example>
        </rule>
        <rule id="BARACK_OBAMA" name="Barrack Obama -> Barack Obama">
            <pattern>
                <token>Barrack</token>
                <token regexp="yes" min="0">Hussein|H</token>
                <token min="0">.</token>
                <token>Obama</token>
            </pattern>
            <message>Did you mean the former president of the US?</message>
            <suggestion><match no="1" case_conversion="startupper" regexp_match="(?i)rr" regexp_replace="r" /> <match no="2" case_conversion="startupper" /><match no="3" /> <match no="4" case_conversion="startupper" /></suggestion>
            <url>https://en.wikipedia.org/wiki/Barack_Obama</url>
            <example correction="Barack Obama"><marker>Barrack Obama</marker> was the 44th president of the United States.</example>
        </rule>
        <rule id="WERNHER_VON_BRAUN" name="Werner (Wernher) von Braun">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Wernher|WERNHER</token>
                <token regexp="yes">von|VON</token>
                <token regexp="yes">Braun|BRAUN</token>
            </antipattern>
            <pattern>
                <token regexp="yes">wernh?err?</token>
                <token regexp="yes">v[ao][mn]</token>
                <token regexp="yes">brown|brauh?n</token>
            </pattern>
            <message>Did you mean the German-born aerospace engineer <suggestion>Wernher von Braun</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Wernher_von_Braun</url>
            <example correction="Wernher von Braun"><marker>Werner von Braun</marker> was a German rocket engineer.</example>
        </rule>
        <rule id="JENNIFER_ANISTON" name="Jennifer Aniston">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Jennifer|JENNIFER</token>
                <token regexp="yes">Aniston|ANISTON</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Jenn?iff?er</token>
                <token regexp="yes">Ann?iston</token>
            </pattern>
            <message>Did you mean the actress <suggestion>Jennifer Aniston</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Jennifer_Aniston</url>
            <example correction="Jennifer Aniston"><marker>Jenifer Aniston</marker> is an American actress.</example>
        </rule>
        <rule id="RINGO_STARR" name="Ringo Starr">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Ringo|RINGO</token>
                <token regexp="yes">Starr|STARR</token>
            </antipattern>
            <pattern>
                <token>Ringo</token>
                <token regexp="yes">Starr?</token>
            </pattern>
            <message>Did you mean the Beatles drummer <suggestion>Ringo Starr</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Ringo_Starr</url>
            <example correction="Ringo Starr"><marker>Ringo Star</marker> was the drummer of the Beatles.</example>
        </rule>
        <rule id="SALVADOR_DALI" name="Salvador Dalí">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Salvador|SALVADOR</token>
                <token regexp="yes">Dalí|DALÍ</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Salva[td]ore?</token>
                <token regexp="yes">Dall?[íìi]</token>
            </pattern>
            <message>Did you mean the Spanish surrealist artist <suggestion>Salvador Dalí</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Salvador_Dal%C3%AD</url>
            <example correction="Salvador Dalí"><marker>Salvator Dali</marker> was a Spanish surrealist artist.</example>
        </rule>
        <rule id="RONALD_REAGAN" name="Ronald Reagan">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Ronald|RONALD</token>
                <token regexp="yes">Reagan|REAGAN</token>
            </antipattern>
            <antipattern>
                <token>president</token>
                <token regexp="yes" case_sensitive="yes">Reagan|REAGAN</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Donald_Regan -->
                <token>Donald</token>
                <token>Regan</token>
            </antipattern>
            <pattern>
                <token regexp="yes">[DR]onald|Roland|President</token>
                <token regexp="yes">R(a|ae|e)g[ea]n</token>
            </pattern>
            <message>Did you mean the former president of the US <suggestion>Ronald Reagan</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Ronald_Reagan</url>
            <example correction="Ronald Reagan"><marker>Ronald Regan</marker> was the president of the United States.</example>
        </rule>
        <rule id="T_REX" name="T-rex (T. rex)">
            <antipattern><!-- https://en.wikipedia.org/wiki/T-Rex_Engineering -->
                <token>t-rex</token>
                <token>engineering</token>
            </antipattern>
            <pattern>
                <token>t-rex</token>
            </pattern>
            <message>The official abbreviation for "Tyrannosaurus rex" is <suggestion>T. rex</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/T.%20rex</url>
            <example correction="T. rex"><marker>T-rex</marker> was one of the most dangerous animals back then.</example>
        </rule>
        <rule id="JESUS_CHRIS" name="Jesus Chris (Christ)">
            <pattern>
                <token>Jesus</token>
                <token regexp="yes" case_sensitive="yes">Chris|Criest</token>
            </pattern>
            <message>Did you mean <suggestion>Jesus Christ</suggestion>?</message>
            <example correction="Jesus Christ"><marker>Jesus Chris</marker> is the central figure of the Christian religion.</example>
        </rule>
        <rule id="SANTA_CLAUS" name="Santa Clause (Claus)">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Santa|SANTA</token>
                <token regexp="yes">Claus|CLAUS</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/The_Santa_Clause -->
                <token>the</token>
                <token>Santa</token>
                <token>Clause</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Santa?</token>
                <token regexp="yes">[CK]lause?</token>
            </pattern>
            <message>Did you mean <suggestion>Santa Claus</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Santa_Claus</url>
            <example correction="Santa Claus"><marker>Santa Clause</marker> is a central figure in Christian religion.</example>
        </rule>
        <rulegroup id="LITHIUM_ION" name="lithium ion battery">
            <url>https://www.merriam-webster.com/dictionary/lithium-ion%20battery</url>
            <rule>
                <pattern>
                    <token regexp="yes">lith?i[ou][mn]</token>
                    <token regexp="yes">i[uo]n</token>
                </pattern>
                <message>Did you mean <suggestion>lithium-ion</suggestion> (as in 'lithium-ion battery')?</message>
                <example correction="lithium-ion">A <marker>lithium ion</marker> battery or Li-ion battery (abbreviated as LIB) is a type of rechargeable battery.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>lithium-ion</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">lith?i[ou]m-?i[uo]n</token>
                </pattern>
                <message>Did you mean <suggestion>lithium-ion</suggestion> (as in 'lithium-ion battery')?</message>
                <example correction="lithium-ion">A <marker>lithiumion</marker> battery or Li-ion battery (abbreviated as LIB) is a type of rechargeable battery.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BLACK_LIVES_MATTER" name="Black Lives Matter">
            <url>https://en.wikipedia.org/wiki/Black_Lives_Matter</url>
            <antipattern case_sensitive="yes">
                <token regexp="yes">Black|BLACK</token>
                <token regexp="yes">Lives|LIVES</token>
                <token regexp="yes">Matter|MATTER</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|our|their</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>black</token>
                        <token>lives</token>
                        <token>matter</token>
                    </marker>
                </pattern>
                <message>This needs to be capitalized if you are referring to the movement.</message>
                <suggestion>Black Lives Matter</suggestion>
                <example correction="Black Lives Matter">The <marker>black lives matter</marker> movement.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>black</token>
                        <token>lives</token>
                        <token>matter</token>
                    </marker>
                    <token regexp="yes">protests?|movements?|symbol</token>
                </pattern>
                <message>This needs to be capitalized if you are referring to the movement.</message>
                <suggestion>Black Lives Matter</suggestion>
                <example correction="Black Lives Matter">The <marker>black lives matter</marker> movement.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>black</token>
                    <token>lives</token>
                    <token>matter</token>
                </antipattern>
                <antipattern>
                    <token>black</token>
                    <token>life</token>
                    <token>matters</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">bl?ack</token>
                    <token regexp="yes">li[vf]es?</token>
                    <token regexp="yes">matt?ers?</token>
                </pattern>
                <message>Did you mean the human rights movement <suggestion>Black Lives Matter</suggestion>?</message>
                <example correction="Black Lives Matter"><marker>Black Lifes Matters</marker> is a human rights movement.</example>
            </rule>
        </rulegroup>
        <rule id="JAVA_SCRIPT" name="JavaScript">
            <pattern>
                <token>java</token>
                <token>script</token>
            </pattern>
            <message>Did you mean <suggestion>JavaScript</suggestion> (= programming language)?</message>
            <url>https://en.wikipedia.org/wiki/JavaScript</url>
            <example correction="JavaScript">He's a <marker>java script</marker> programmer.</example>
        </rule>
        <rule id="YOU_TUBE" name="YouTube">
            <pattern>
                <token>You</token>
                <token regexp="yes">Tube(rs?)?</token>
            </pattern>
            <message>The name/noun <suggestion><match no="1" case_conversion="startupper" /><match no="2" case_conversion="startupper" /></suggestion> is spelled as one word.</message>
            <url>https://en.wikipedia.org/wiki/YouTube</url>
            <example correction="YouTube">He is watching videos on <marker>You Tube</marker>.</example>
        </rule>
        <rule id="PAY_PAL" name="PayPal">
            <pattern>
                <token>Pay</token>
                <token>Pal</token>
            </pattern>
            <message>The name <suggestion><match no="1" case_conversion="startupper" /><match no="2" case_conversion="startupper" /></suggestion> (= payment provider) is spelled as one word.</message>
            <url>https://en.wikipedia.org/wiki/PayPal</url>
            <example correction="PayPal">He is paying via <marker>Pay Pal</marker>.</example>
        </rule>
        <rulegroup id="KAMA_SUTRA" name="Kama Sutra">
            <url>https://en.wikipedia.org/wiki/Kama_Sutra</url>
            <antipattern case_sensitive="yes">
                <token>Kama</token>
                <token>Sutra</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">kar?ma</token>
                    <token regexp="yes">sutr?a</token>
                </pattern>
                <message>Did you mean <suggestion>Kama Sutra</suggestion> (= Sanskrit text on sexuality)?</message>
                <example correction="Kama Sutra">The <marker>Karma Sutra</marker> is an ancient Indian Sanskrit text on sexuality, eroticism and emotional fulfillment in life.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">kar?masutr?a</token>
                </pattern>
                <message>Did you mean <suggestion>Kama Sutra</suggestion> (= Sanskrit text on sexuality)?</message>
                <example correction="Kama Sutra">The <marker>Karmasutra</marker> is an ancient Indian Sanskrit text on sexuality, eroticism and emotional fulfillment in life.</example>
            </rule>
        </rulegroup>
        <rule id="COCA_COLA" name="Coca Cola (Coca-Cola)">
            <pattern>
                <token>Coca</token>
                <token>Cola</token>
            </pattern>
            <message>The name of this popular soft drink is capitalized and spelled with a hyphen.</message>
            <suggestion>Coca-Cola</suggestion>
            <url>https://en.wikipedia.org/wiki/Coca-Cola</url>
            <example correction="Coca-Cola">He loves to drink <marker>Coca Cola</marker>.</example>
        </rule>
        <rulegroup id="Z_WAVE" name="Z-Wave">
            <url>https://en.wikipedia.org/wiki/Z-Wave</url>
            <rule>
                <pattern>
                    <token>z</token>
                    <token>wave</token>
                </pattern>
                <message>Did you mean <suggestion>Z-Wave</suggestion> (= wireless protocol)?</message>
                <example correction="Z-Wave">He is using <marker>Z Wave</marker> to connect the devices.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Z-Wave</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">z-?wave</token>
                </pattern>
                <message>Did you mean <suggestion>Z-Wave</suggestion> (= wireless protocol)?</message>
                <example correction="Z-Wave">He is using <marker>ZWave</marker> to connect the devices.</example>
            </rule>
        </rulegroup>
        <rule id="LONG_ISLAND_ICED_TEA" name="Long Island iced tea">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Long|LONG</token>
                <token regexp="yes">Island|ISLAND</token>
                <token regexp="yes">[Ii]ced|ICED</token>
                <token regexp="yes">[Tt]ea|TEA</token>
            </antipattern>
            <pattern>
                <token regexp="yes">lon?g</token>
                <token regexp="yes">island|iceland</token>
                <token regexp="yes">iced?</token>
                <token regexp="yes">teas?</token>
            </pattern>
            <message>The proper spelling for this alcoholic mixed drink is <suggestion>Long Island iced <match no="4" case_conversion="alllower" /></suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Long_Island_iced_tea</url>
            <example correction="Long Island iced tea">She was ordering a <marker>long island ice tea</marker>.</example>
        </rule>
        <rule id="GREYS_ANATOMY" name="Grey's Anatomy">
            <!-- Both "Grey's Anatomy" (tv show) and "Gray's Anatomy" (book) are proper nouns -->
            <antipattern case_sensitive="yes">
                <token regexp="yes">Gr[ae]y|GR[AE]Y</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no" regexp="yes">s|S</token>
                <token regexp="yes">Anatomy|ANATOMY</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Gr[ae]ys?</token>
                <token>Anatomy</token>
            </pattern>
            <message>Did you mean <suggestion>Grey's Anatomy</suggestion> (TV show) or <suggestion>Gray's Anatomy</suggestion> (textbook of human anatomy)?</message>
            <url>https://en.wikipedia.org/wiki/Grey%27s_Anatomy</url>
            <example correction="Grey's Anatomy|Gray's Anatomy">My favorite TV show is <marker>Greys Anatomy</marker>.</example>
        </rule>
        <rule id="COLD_PLAY" name="Coldplay">
            <antipattern><!-- I cold play tomorrow -->
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token>cold</token>
            </antipattern>
            <pattern>
                <token>cold</token>
                <token>play</token>
            </pattern>
            <message>Did you mean <suggestion>Coldplay</suggestion> (= music band)?</message>
            <url>https://en.wikipedia.org/wiki/Coldplay</url>
            <example correction="Coldplay">He likes to listen to <marker>cold play</marker>.</example>
        </rule>
        <rule id="ASSASSINS_CREED" name="Assassin's Creed">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Assassin|ASSASSIN</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">s|S</token>
                <token regexp="yes">Creed|CREED</token>
            </antipattern>
            <pattern>
                <token regexp="yes">ass?ass?ins?</token>
                <token min="0" regexp="yes">&apostrophe;</token>
                <token min="0">s</token>
                <token>creed</token>
            </pattern>
            <message>Did you mean <suggestion>Assassin's Creed</suggestion> (= video game)?</message>
            <url>https://en.wikipedia.org/wiki/Assassin%27s_Creed</url>
            <example correction="Assassin's Creed">He was playing <marker>Assassins Creed</marker> at home.</example>
        </rule>
        <rulegroup id="MERCEDES_BENZ" name="Mercedes Benz (Mercedes-Benz)">
            <rule>
                <pattern case_sensitive="no">
                    <token>Mercedes</token>
                    <token>Benz</token>
                </pattern>
                <message>This car brand is normally spelled with a hyphen <suggestion><match no="1" case_conversion="startupper" />-Benz</suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/Mercedes-Benz</url>
                <example correction="Mercedes-Benz"><marker>Mercedes Benz</marker> is a German car brand.</example>
            </rule>
            <rule>
                <pattern case_sensitive="no">
                    <token>Mercedes</token>
                    <token>AMG</token>
                </pattern>
                <message>This car brand is normally spelled with a hyphen <suggestion><match no="1" case_conversion="startupper" />-AMG</suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/Mercedes-AMG</url>
                <example correction="Mercedes-AMG"><marker>Mercedes AMG</marker> is subsidiary of Daimler AG.</example>
            </rule>
        </rulegroup>
        <rule id="MERRIAM_WEBSTER" name="Merriam Webster (Merriam-Webster)">
            <pattern>
                <token regexp="yes">Merr?iam</token>
                <token regexp="yes">Webb?ster</token>
            </pattern>
            <message>The name of this popular dictionary is spelled with a hyphen.</message>
            <suggestion>Merriam-Webster</suggestion>
            <url>https://en.wikipedia.org/wiki/Merriam-Webster</url>
            <example correction="Merriam-Webster"><marker>Merriam Webster</marker> is a popular English dictionary.</example>
        </rule>
        <rule id="SAINT_TROPEZ" name="Saint Tropez (Saint-Tropez)">
            <pattern>
                <token>Saint</token>
                <token>Tropez</token>
            </pattern>
            <message>The name of this town on the French Riviera is spelled with a hyphen.</message>
            <suggestion>Saint-Tropez</suggestion>
            <url>https://en.wikipedia.org/wiki/Saint-Tropez</url>
            <example correction="Saint-Tropez"><marker>Saint Tropez</marker> was a military stronghold and fishing village until the beginning of the 20th century.</example>
        </rule>
        <rule id="ROLLS_ROYCE" name="Rolls Royce (Rolls-Royce)">
            <pattern case_sensitive="no">
                <token>Rolls</token>
                <token>Royce</token>
            </pattern>
            <message>This car brand is normally spelled with a hyphen <suggestion>Rolls-Royce</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Rolls-Royce</url>
            <example correction="Rolls-Royce"><marker>Rolls Royce</marker> is a British car brand.</example>
        </rule>
        <rule id="ALKA_SELTZER" name="Alka Seltzer (Alker-Seltzer)">
            <pattern>
                <token regexp="yes">Alk(a|er)</token>
                <token regexp="yes">Selt?zer</token>
            </pattern>
            <message>The name of this medicine is normally spelled with a hyphen <suggestion>Alka-Seltzer</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Alka-Seltzer</url>
            <example correction="Alka-Seltzer"><marker>Alka Seltzer</marker> is a medicine.</example>
        </rule>
        <rule id="BAND_AID" name="Band Aid (Band-Aid)">
            <pattern>
                <token>band</token>
                <token regexp="yes">aids?</token>
            </pattern>
            <message>The sticky tape used to cover wounds is normally capitalized (trademark) but also spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/Band-Aid</url>
            <example correction="Band-Aid">A <marker>Band Aid</marker> is a small tape used to cover wounds.</example>
        </rule>
        <rule id="JAY_Z" name="Jay Z (Jay-Z)">
            <pattern case_sensitive="no">
                <token>Jay</token>
                <token>Z</token>
            </pattern>
            <message>The name of this rapper is spelled with a hyphen <suggestion>Jay-Z</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Jay-Z</url>
            <example correction="Jay-Z"><marker>Jay Z</marker> is an American rapper.</example>
        </rule>
        <rule id="OBJECTIVE_C" name="Objective-C">
            <pattern>
                <token>Objective</token>
                <token>C</token>
            </pattern>
            <message>Did you mean the programming language <suggestion>Objective-C</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Objective-C</url>
            <example correction="Objective-C">This app is programmed in <marker>objective c</marker>.</example>
        </rule>
        <rule id="DELTA_AIRLINES" name="Delta Air Lines">
            <pattern>
                <token>Delta</token>
                <token regexp="yes">Airlines?</token>
            </pattern>
            <message>The name of this airline is <suggestion>Delta Air Lines</suggestion> ("air" and "lines" spelled as separate words).</message>
            <url>https://en.wikipedia.org/wiki/Delta_Air_Lines</url>
            <example correction="Delta Air Lines"><marker>Delta Airlines</marker> is one of the major airlines of the United States and a legacy carrier.</example>
        </rule>
        <rule id="BIT_COIN" name="Bitcoin">
            <pattern>
                <token regexp="yes">bit|lite</token>
                <token regexp="yes">coins?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" case_conversion="startupper" /><match no="2" case_conversion="alllower" /></suggestion> (= cryptocurrency)?</message>
            <url>https://www.merriam-webster.com/dictionary/Bitcoin</url>
            <example correction="Bitcoin">He invested in <marker>Bit Coin</marker>.</example>
        </rule>
        <rulegroup id="SEVEN_ELEVEN" name="7-Eleven">
            <!-- needed to prevent a false positive of CD_NN or CD_NNU -->
            <url>https://en.wikipedia.org/wiki/7-Eleven</url>
            <antipattern case_sensitive="yes">
                <token regexp="yes">7-(Eleven|ELEVEN)</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">7|seven</token>
                    <token>eleven</token>
                </pattern>
                <message>Did you mean the convenience store <suggestion>7-Eleven</suggestion>?</message>
                <example correction="7-Eleven"><marker>Seven Eleven</marker> is a Japanese-American international chain of convenience stores.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">seven-(eleven|11)</token>
                </pattern>
                <message>Did you mean the convenience store <suggestion>7-Eleven</suggestion>?</message>
                <example correction="7-Eleven"><marker>Seven-Eleven</marker> is a Japanese-American international chain of convenience stores.</example>
            </rule>
        </rulegroup>
        <rule id="BOEING_737_MAX" name="737 max (Max)">
            <antipattern>
                <token>max</token>
                <token>capacity</token>
            </antipattern>
            <pattern>
                <token>737</token>
                <token case_sensitive="yes">max</token>
            </pattern>
            <message>Capitalize the word if you mean Boeing's airliner.</message>
            <suggestion>737 Max</suggestion>
            <suggestion>737 MAX</suggestion>
            <url>https://en.wikipedia.org/wiki/Boeing_737_MAX</url>
            <example correction="737 Max|737 MAX">He was flying one of the new <marker>737 max</marker> planes.</example>
        </rule>
        <rulegroup id="APRIL_FOOLS" name="April Fools' Day">
            <rule>
                <antipattern case_sensitive="yes">
                    <token>April</token>
                    <token>Fools</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>Day</token>
                </antipattern>
                <pattern>
                    <token>april</token>
                    <token>fools</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token>day</token>
                </pattern>
                <message>The name of this day is normally capitalized and contains a possessive apostrophe.</message>
                <suggestion>April Fools' Day</suggestion>
                <url>https://www.merriam-webster.com/dictionary/april%20fools'</url>
                <example correction="April Fools' Day">A lot of jokes are made on <marker>April Fools Day</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>april</token>
                    <token>fools</token>
                    <token regexp="yes">jokes?|pranks?|ideas?</token>
                </pattern>
                <message>It appears that a possessive apostrophe is missing.</message>
                <suggestion>April \2' \3</suggestion>
                <url>https://www.merriam-webster.com/dictionary/april%20fools'</url>
                <example correction="April Fools' jokes">I am annoyed by all the <marker>April Fools jokes</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COTE_D_AZUR" name="Côte d’Azur">
            <antipattern case_sensitive="yes">
                <token>Côte</token>
                <token>d</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">Azur</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">C[oôóò]t[éèêe]?</token>
                    <token min="0">d</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">d?[áàâa]z[üuúùû]re?</token>
                </pattern>
                <message>Did you mean <suggestion>Côte d'Azur</suggestion> (= French Riviera)?</message>
                <url>https://en.wikipedia.org/wiki/French_Riviera</url>
                <example correction="Côte d'Azur">The <marker>Cote d’Azur</marker> is the Mediterranean coastline of the southeast corner of France.</example>
            </rule>
        </rulegroup>
        <rule id="MCDONALDS" name="McDonald's">
            <pattern>
                <token>mcdonalds</token>
            </pattern>
            <message>Did you mean the fast food chain <suggestion>McDonald's</suggestion> (always spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/McDonald%27s</url>
            <example correction="McDonald's">I always eat lunch at <marker>Mcdonalds</marker>.</example>
        </rule>
        <rule id="SCHITTS_CREEK" name="Schitt's Creek">
            <pattern>
                <token regexp="yes">sch?it?ts</token>
                <token>creek</token>
            </pattern>
            <message>Did you mean the TV show <suggestion>Schitt's Creek</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Schitt%27s_Creek</url>
            <example correction="Schitt's Creek"><marker>Schitts Creek</marker> is a Canadian television sitcom created by Dan and Eugene Levy.</example>
        </rule>
        <rule id="QUEENS_GAMBIT" name="Queen's Gambit">
            <pattern>
                <marker>
                    <token>queens</token>
                </marker>
                <token regexp="yes">gambits?|advocates?|university|guards?|awards?|bench(es)?|bount(y|ies)|bishops?</token>
            </pattern>
            <message>It seems that a possessive apostrophe is missing.</message>
            <suggestion><match no="1" regexp_match="(?i)(s)" regexp_replace="'$1" /> \2</suggestion>
            <example correction="Queen's Gambit">The <marker>Queens</marker> Gambit is TV miniseries.</example>
        </rule>
        <rule id="SAMS_CLUB" name="Sam's Club">
            <pattern>
                <token>sams</token>
                <token>club</token>
            </pattern>
            <message>Did you mean the retail warehouse <suggestion>Sam's Club</suggestion> (always spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Sam%27s_Club</url>
            <example correction="Sam's Club"><marker>Sams Club</marker> is an American chain of membership-only retail warehouse clubs owned and operated by Walmart Inc.</example>
        </rule>
        <rule id="MOORES_LAW" name="Moore's Law">
            <pattern>
                <token regexp="yes">moo?res</token>
                <token>law</token>
            </pattern>
            <message>Did you mean <suggestion>Moore's \2</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Moore%27s_law</url>
            <example correction="Moore's law"><marker>Moores law</marker>  is the observation that the number of transistors in a dense integrated circuit (IC) doubles about every two years.</example>
        </rule>
        <rule id="VICTORIAS_SECRET" name="Victoria's Secret">
            <pattern>
                <token regexp="yes">Victorias?</token>
                <token>
                    Secret
                    <exception scope="next" regexp="yes">&apostrophe;.*</exception>
                </token>
            </pattern>
            <message>Did you mean the lingerie company <suggestion>Victoria's Secret</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Victoria's_Secret</url>
            <example correction="Victoria's Secret">She is wearing hear new <marker>Victorias Secret</marker> underwear.</example>
            <example>Supermodel Heidi Klum is pictured in an undated handout photo wearing the Heavenly Star, Victoria Secret's 2001 Fantasy Bra from their Christmas Dreams and Fantasies catalog.</example>
        </rule>
        <rule id="LOCKHEED_MARTIN" name="Lockheed Martin">
            <pattern>
                <token>Lockhead</token>
                <token>Martin</token>
            </pattern>
            <message>Did you mean the defense company <suggestion>Lockheed Martin</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Lockheed_Martin</url>
            <example correction="Lockheed Martin"><marker>Lockhead Martin</marker> Corporation is an American aerospace, defense, arms, security, and advanced technologies company.</example>
        </rule>
        <rule id="JACK_DANIELS" name="Jack Daniel's">
            <pattern>
                <token>Jack</token>
                <token>
                    Daniels
                    <exception scope="next" regexp="yes">&apostrophe;</exception>
                </token>
            </pattern>
            <message>Did you mean the whiskey brand <suggestion>Jack Daniel's</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Jack_Daniel's</url>
            <example correction="Jack Daniel's"><marker>Jack Daniels</marker> is a whiskey brand from the US.</example>
        </rule>
        <rule id="KINGS_COLLEGE" name="King's College">
            <pattern>
                <token>Kings</token>
                <token regexp="yes">Coll?[ae]ge</token>
            </pattern>
            <message>Did you mean the university <suggestion>King's College</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/King%27s_College_London</url>
            <example correction="King's College"><marker>Kings College</marker> is a university in London.</example>
        </rule>
        <rule id="DOMINOS_PIZZA" name="Dominos Pizza">
            <pattern>
                <token regexp="yes">Dominos?</token>
                <token>Pizza</token>
            </pattern>
            <message>Did you mean the restaurant chain <suggestion>Domino's Pizza</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Domino%27s_Pizza</url>
            <example correction="Domino's Pizza"><marker>Dominos Pizza</marker> is an American multinational pizza restaurant chain founded in 1960.</example>
        </rule>
        <rule id="TRAVELERS_CHECK" name="traveler's check">
            <pattern>
                <token regexp="yes">travell?ers?</token>
                <token regexp="yes">checks?|cheques?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="(?i)ers?$" regexp_replace="er's" /> \2</suggestion> (= exchange medium, payment)?</message>
            <url>https://www.merriam-webster.com/dictionary/traveler%27s%20check</url>
            <example correction="traveler's check">She paid with a <marker>traveler check</marker>.</example>
            <example correction="traveler's checks">Can I get <marker>travelers checks</marker> with this card?</example>
        </rule>
        <rule id="UNCLE_BENS" name="Uncle Bens -> Ben's">
            <pattern>
                <token>Uncle</token>
                <token>Bens</token>
            </pattern>
            <message>Did you mean the rice brand <suggestion>Uncle Ben's</suggestion> (capitalized and spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Uncle_Ben's</url>
            <example correction="Uncle Ben's">I like to eat <marker>Uncle Bens</marker> rice.</example>
        </rule>
        <rule id="KELLOGGS" name="Kellogg's">
            <pattern>
                <token regexp="yes">Kell?ogg?s</token>
            </pattern>
            <message>The food company is spelled <suggestion>Kellogg's</suggestion> (with a possessive apostrophe).</message>
            <url>https://en.wikipedia.org/wiki/Kellogg%27s</url>
            <example correction="Kellogg's">He likes to eat <marker>Kellogs</marker> for breakfast.</example>
        </rule>
        <rule id="WENDYS" name="Wendy's">
            <pattern>
                <token>wendys</token>
            </pattern>
            <message>Did you mean the name <suggestion>Wendy's</suggestion> (spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Wendy%27s</url>
            <example correction="Wendy's">I always eat lunch at <marker>Wendys</marker>.</example>
        </rule>
        <rule id="SAINSBURYS" name="Sainsbury's">
            <pattern>
                <token>sainsburys</token>
            </pattern>
            <message>Did you mean the grocery shopping company <suggestion>Sainsbury's</suggestion> (spelled with a possessive apostrophe)?</message>
            <url>https://en.wikipedia.org/wiki/Sainsbury%27s</url>
            <example correction="Sainsbury's"><marker>Sainsburys</marker> is the second largest chain of supermarkets in the UK.</example>
        </rule>
        <rule id="SAO_PAOLO" name="Sau Paulo (São Paulo)">
            <antipattern case_sensitive="yes">
                <token>São</token>
                <token>Paulo</token>
            </antipattern>
            <pattern>
                <token regexp="yes">S[áãàa][ou]</token>
                <token regexp="yes">Pa[ou]l[uo]</token>
            </pattern>
            <message>Did you mean <suggestion>São Paulo</suggestion> (= city in Brazil)?</message>
            <url>https://en.wikipedia.org/wiki/S%C3%A3o_Paulo</url>
            <example correction="São Paulo">He is from <marker>Sao Paolo</marker>.</example>
        </rule>
        <rule id="ERDOGAN" name="Erdogan (Erdoğan)">
            <pattern>
                <token>Erdogan</token>
            </pattern>
            <message>The name of the Turkish politician is spelled <suggestion>Erdoğan</suggestion> (= Recep Tayyip Erdoğan).</message>
            <url>https://en.wikipedia.org/wiki/Recep_Tayyip_Erdo%C4%9Fan</url>
            <example correction="Erdoğan"><marker>Erdogan</marker> is president of Turkey.</example>
        </rule>
        <rulegroup id="SUPER_TUESDAY" name="Super Tuesday">
            <url>https://en.wikipedia.org/wiki/Super_Tuesday</url>
            <antipattern case_sensitive="yes">
                <token>Super</token>
                <token>Tuesday</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">on|at|the|their|his|her|for|during|in|to|of|before|after|and</token>
                    <marker>
                        <token>super</token>
                        <token>tuesday</token>
                    </marker>
                </pattern>
                <message>The proper noun <suggestion>Super Tuesday</suggestion> should be capitalized.</message>
                <example correction="Super Tuesday">He votes on <marker>super Tuesday</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>super</token>
                        <token>tuesday</token>
                    </marker>
                    <token spacebefore="no" regexp="yes" min="0">&apostrophe;</token>
                    <token spacebefore="no" min="0">s</token>
                    <token regexp="yes">polls?|elections?|slots?|voter?s?|countdown|campaigns?|ballots?|contests?|strategy|states?|20\d{2}|primar(y|ies)|presidential|counts?|results?|projections?|california|texas|florida|date|exit</token>
                </pattern>
                <message>The proper noun <suggestion>Super Tuesday</suggestion> should be capitalized.</message>
                <example correction="Super Tuesday">He participates in the <marker>super tuesday</marker> polls.</example>
            </rule>
        </rulegroup>
        <rule id="EARL_GREY" name="Earl Grey">
            <antipattern case_sensitive="yes">
                <token>Earl</token>
                <token>Grey</token>
            </antipattern>
            <pattern>
                <token>earl</token>
                <token regexp="yes">gr[ae]y</token>
            </pattern>
            <message>Did you mean <suggestion>Earl Grey</suggestion> (= tea blend)?</message>
            <url>https://en.wikipedia.org/wiki/Earl_Grey_tea</url>
            <example correction="Earl Grey"><marker>Earl Gray</marker> tea is a tea blend which has been flavoured with the addition of oil of bergamot. </example>
        </rule>
        <rule id="FORREST_GUMP" name="Forest (Forrest) Gump">
            <pattern>
                <token>forest</token>
                <token regexp="yes">gump|mars|griffin|tucker</token>
            </pattern>
            <message>Did you mean the person <suggestion>Forrest <match no="2" case_conversion="startupper" /></suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Forrest_Gump</url>
            <example correction="Forrest Gump">He watched <marker>forest gump</marker> in his favorite cinema.</example>
        </rule>
        <rule id="NEW_ZEELAND" name="New Zeeland (Zealand)">
            <pattern>
                <token>new</token>
                <token regexp="yes">zeeland|sealand</token>
            </pattern>
            <message>Did you mean <suggestion>New Zealand</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/New_Zealand</url>
            <example correction="New Zealand">I live in <marker>New Zeeland</marker>.</example>
        </rule>
        <rule id="LEHMANN_BROTHERS" name="Lehman Brothers">
            <antipattern case_sensitive="yes">
                <token>Lehman</token>
                <token regexp="yes">Brothers|College</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Lehmann?</token>
                <token regexp="yes">Brothers|College</token>
            </pattern>
            <message>Did you mean <suggestion>Lehman <match no="2" case_conversion="startupper" /></suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Lehman_Brothers</url>
            <example correction="Lehman Brothers"><marker>Lehmann Brothers</marker> was a popular investment bank.</example>
        </rule>
        <rulegroup id="LOREAL" name="L’Oréal">
            <antipattern case_sensitive="yes">
                <token>L</token>
                <token spacebefore="no" regexp="yes">['’]</token>
                <token regexp="yes" spacebefore="no">Oréals?|ORÉALS?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>l</token>
                    <token min="0" regexp="yes">.</token>
                    <token regexp="yes">or[eéè]als?</token>
                </pattern>
                <message>Did you mean <suggestion>L'<match no="3" case_conversion="startupper" regexp_match="(?i)or[eéè]al" regexp_replace="Oréal" /></suggestion> (= cosmetics company)?</message>
                <url>https://en.wikipedia.org/wiki/L%27Or%C3%A9al</url>
                <example correction="L'Oréal"><marker>L'oreal</marker> S.A. is a French personal care company headquartered in Clichy, Hauts-de-Seine.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">lor[eéè]als?</token>
                </pattern>
                <message>Did you mean <suggestion>L'<match no="1" case_conversion="startupper" regexp_match="(?i)lor[eéè]al" regexp_replace="Oréal" /></suggestion> (= cosmetics company)?</message>
                <url>https://en.wikipedia.org/wiki/L%27Or%C3%A9al</url>
                <example correction="L'Oréal"><marker>LOréal</marker> S.A. is a French personal care company headquartered in Clichy, Hauts-de-Seine.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FEDEX" name="FedEx">
            <url>https://www.merriam-webster.com/dictionary/FedEx</url>
            <rule>
                <pattern>
                    <token>fed</token>
                    <token regexp="yes">e?x(es|ing|ed)?</token>
                </pattern>
                <message>Did you mean <suggestion>Fed<match no="2" case_conversion="startupper" regexp_match="(?i)e?x" regexp_replace="Ex" /></suggestion> (can also be used as a verb)?</message>
                <example correction="FedEx"><marker>Fed Ex</marker> Corporation is an American multinational courier delivery services company headquartered in Memphis.</example>
                <example correction="FedExed">He <marker>Fed Xed</marker> the package.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">(fed\-?e?[Xx]|Fed\-?e?[Xx]|fed\-?E?[Xx])(es|ing|ed)?</token>
                </pattern>
                <message>Did you mean <suggestion>Fed<match no="1" case_conversion="startupper" regexp_match="(?i).+e?x" regexp_replace="Ex" /></suggestion> (can also be used as a verb)?</message>
                <example correction="FedEx"><marker>Fedex</marker> Corporation is an American multinational courier delivery services company headquartered in Memphis.</example>
                <example correction="FedExed">He <marker>Fed-exed</marker> the package.</example>
            </rule>
        </rulegroup>
        <rule id="CAP_CORAL" name="Cap Coral">
            <pattern>
                <token>cap</token>
                <token regexp="yes">coral|cod|town|verde|canaveral|breton|kennedy</token>
            </pattern>
            <message>Did you mean <suggestion>Cape <match no="2" case_conversion="startupper" /></suggestion>?</message>
            <example correction="Cape Coral">She lives in <marker>Cap Coral</marker>, Florida.</example>
        </rule>
        <rule id="LOS_ANGELS" name="Los Angels (Los Angeles)">
            <antipattern>
                <token>cerro</token>
                <token>de</token>
                <token>los</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">Los|LOS</token>
                <token regexp="yes">Angeles|ANGELES</token>
            </antipattern>
            <pattern>
                <token regexp="yes">l[ao]s</token>
                <token regexp="yes">angel[oe]?s</token>
            </pattern>
            <message>Did you mean <suggestion>Los Angeles</suggestion>?</message>
            <example correction="Los Angeles">I live in <marker>Los Angels</marker>.</example>
        </rule>
        <rulegroup id="JONG_UN" name="Kim Jong-un">
            <url>https://en.wikipedia.org/wiki/Kim_Jong-un</url>
            <rule>
                <pattern>
                    <token regexp="yes">[yj][ou]ng</token>
                    <token>un</token>
                </pattern>
                <message>Did you mean <suggestion>Jong-un</suggestion> (= person from North Korea)?</message>
                <example correction="Jong-un">Kim <marker>Jong un</marker> lives in North Korea.</example>
            </rule>
            <rule>
                <pattern>
                    <token>jongun</token>
                </pattern>
                <message>Did you mean <suggestion>Jong-un</suggestion> (= person from North Korea)?</message>
                <example correction="Jong-un">Kim <marker>Jongun</marker> lives in North Korea.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TIK_TOK" name="TikTok">
            <rule>
                <pattern>
                    <token>tik</token>
                    <token>tok</token>
                </pattern>
                <message>Did you mean <suggestion>TikTok</suggestion> (= social networking app)?</message>
                <url>https://en.wikipedia.org/wiki/TikTok</url>
                <example correction="TikTok"><marker>Tik tok</marker> is a video-sharing social networking service owned by ByteDance.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Tt]iktok</token>
                </pattern>
                <message>Did you mean <suggestion>TikTok</suggestion> (= social networking app)?</message>
                <url>https://en.wikipedia.org/wiki/TikTok</url>
                <example correction="TikTok"><marker>Tiktok</marker> is a video-sharing social networking service owned by ByteDance.</example>
            </rule>
        </rulegroup>
        <rule id="SOCIETE_GENERALE" name="Société Générale">
            <antipattern case_sensitive="yes">
                <token>Société</token>
                <token regexp="yes">Générales?</token>
            </antipattern>
            <pattern>
                <token regexp="yes">Soci.t.</token>
                <token regexp="yes">G.n.ral.?s?</token>
            </pattern>
            <message>Did you mean <suggestion>Société <match no="2" case_conversion="startupper" regexp_match="(?i)G.n.ral.?" regexp_replace="Générale" /></suggestion> (= Bank)?</message>
            <url>https://en.wikipedia.org/wiki/Soci%C3%A9t%C3%A9_G%C3%A9n%C3%A9rale</url>
            <example correction="Société Générale">The <marker>Societé General</marker> is a French bank.</example>
        </rule>
        <rule id="NDRANGHETA" name="'Ndrangheta">
            <pattern>
                <token>
                    Ndrangheta
                    <exception scope="previous" regexp="yes">['`´’]</exception>
                </token>
            </pattern>
            <message>This name is prefixed with an apostrophe.</message>
            <suggestion>'Ndrangheta</suggestion>
            <url>https://en.wikipedia.org/wiki/%E2%80%99Ndrangheta</url>
            <example correction="'Ndrangheta">The <marker>Ndrangheta</marker> is a Mafia-type[3] organized crime group based in Calabria.</example>
        </rule>
        <rulegroup id="VON_DER_LEYEN" name="Ursula von der Leyen">
            <antipattern case_sensitive="yes">
                <token postag="SENT_START" />
                <token>Von</token>
                <token>der</token>
                <token regexp="yes">Leyens?</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Von</token>
                <token>der</token>
                <token>Leyen</token>
                <token>Commission</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes">v.n</token>
                        <token regexp="yes">der?</token>
                        <token regexp="yes">L[ea][yi]ens?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match case_conversion="startupper" no="2" regexp_match="(?i)v.n" regexp_replace="von" /> der <match case_conversion="startupper" no="4" regexp_match="(?i)L..en" regexp_replace="Leyen" /></suggestion> (= politician)?</message>
                <url>https://en.wikipedia.org/wiki/Ursula_von_der_Leyen</url>
                <example correction="Von der Leyen"><marker>von de Leyen</marker> is a German politician and the President of the European Commission</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>von</token>
                    <token>der</token>
                    <token regexp="yes">Leyens?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">v.n</token>
                    <token regexp="yes">der?</token>
                    <token regexp="yes">L[ea][yi]ens?</token>
                </pattern>
                <message>Did you mean <suggestion><match case_conversion="alllower" no="1" regexp_match="(?i)v.n" regexp_replace="von" /> der <match case_conversion="startupper" no="3" regexp_match="(?i)L..en" regexp_replace="Leyen" /></suggestion> (= politician)?</message>
                <url>https://en.wikipedia.org/wiki/Ursula_von_der_Leyen</url>
                <example correction="von der Leyen">Ursula <marker>Van de Leyen</marker> is a German politician and the President of the European Commission</example>
            </rule>
        </rulegroup>
        <rule id="EMMANUEL_MACRON" name="Emmanuel Macron">
            <antipattern case_sensitive="yes">
                <token regexp="yes">Emmanuel|EMMANUEL</token>
                <token regexp="yes">Macron|MACRON</token>
            </antipattern>
            <pattern>
                <token regexp="yes">E?mm?anue?ll?e?</token>
                <token regexp="yes">Macrone?</token>
            </pattern>
            <message>Did you mean <suggestion>Emmanuel Macron</suggestion> (= politician)?</message>
            <url>https://en.wikipedia.org/wiki/Emmanuel_Macron</url>
            <example correction="Emmanuel Macron"><marker>Manuel macron</marker> is a French politician who has been President of France and ex officio Co-Prince of Andorra since 14 May 2017.</example>
            <example><marker>Emmanuel Macron</marker> is a French politician who has been President of France and ex officio Co-Prince of Andorra since 14 May 2017.</example>
        </rule>
        <rule id="RED_NOSED_REINDEER" name="Red-Nosed Reindeer">
            <antipattern>
                <token>red-nosed</token>
                <token regexp="yes">reindeers?</token>
            </antipattern>
            <pattern>
                <token>red</token>
                <token regexp="yes">nosed?</token>
                <token regexp="yes">r.indee?rs?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" />-<match no="2" regexp_match="(?i)e$" regexp_replace="ed" /> <match no="3" regexp_match="(?i).indee?r" regexp_replace="eindeer" /></suggestion> (Rudolph)?</message>
            <url>https://en.wikipedia.org/wiki/Rudolph_the_Red-Nosed_Reindeer</url>
            <example correction="Red-Nosed Reindeer">Rudolph the <marker>Red Nose Raindeer</marker> is a fictional reindeer.</example>
            <example>Rudolph the Red-Nosed Reindeer is a fictional reindeer.</example>
        </rule>
        <rulegroup id="A_WINDOWS" name="Windows (proper noun)">
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">windows</token>
                    </marker>
                    <token regexp="yes">\d{1,2}|20\d{2}|ce|nt|updates?|environments?|os|devices?|re\-?boots?|boots?|xp|vista|store|computers?|exe|dll|(power)?shell|machines?|pcs?|sdks?|servers?|services?|conf|config(uration)?|audios?|api|media|(sub)?systems?|apps?|phones?|work\-?station|desktops?|drivers?|explorer|errors?|folders?|firewalls?|installers?|kernel|keys?|keyboards?|logos?|licenses?|media|terminals?|registry|version|usb|upgrades?|games?|files?|vms?|users?</token>
                </pattern>
                <message><suggestion><match no="1" case_conversion="startupper" /></suggestion> (operating system by Microsoft) is a proper noun and needs to be capitalized.</message>
                <example correction="Windows">The <marker>windows</marker> 10 update failed.</example>
                <example correction="Windows">It runs on a <marker>windows</marker> 2012 server.</example>
            </rule>
            <rule>
                <pattern>
                    <token>on</token>
                    <marker>
                        <token case_sensitive="yes">windows</token>
                    </marker>
                </pattern>
                <message><suggestion><match no="2" case_conversion="startupper" /></suggestion> (operating system by Microsoft) is a proper noun and needs to be capitalized.</message>
                <example correction="Windows">Are you on <marker>windows</marker>?</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_SNICKERS" name="Snickers (proper noun)">
            <url>https://en.wikipedia.org/wiki/Snickers</url>
            <rule>
                <pattern>
                    <token regexp="yes">a|the|my|y?our|his|her|their|many|of</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token case_sensitive="yes">snickers</token>
                    </marker>
                </pattern>
                <message>The name of the chocolate <suggestion>Snickers</suggestion> needs to be capitalized.</message>
                <example correction="Snickers">He would like to buy a <marker>snickers</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="4" regexp="yes">eat|buy</token>
                    <marker>
                        <token case_sensitive="yes">snickers</token>
                    </marker>
                </pattern>
                <message>The name of the chocolate <suggestion>Snickers</suggestion> needs to be capitalized.</message>
                <example correction="Snickers">They ate all <marker>snickers</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DUNKIN_DONUTS" name="Dunkin' Donuts">
            <url>https://en.wikipedia.org/wiki/Dunkin%27_Donuts</url>
            <rule>
                <pattern>
                    <token regexp="yes">Dunkin[sg]?</token>
                    <token regexp="yes">Donut|Dou?ghnut</token>
                    <token>'s</token>
                </pattern>
                <message>Did you mean <suggestion>Dunkin' Donuts</suggestion>?</message>
                <example correction="Dunkin' Donuts"><marker>Dunkin Donut's</marker> is an American multinational coffee/donut company.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">Dunkin[sg]?</token>
                    <token regexp="yes">Donuts?|Dou?ghnuts?</token>
                </pattern>
                <message>Did you mean <suggestion>Dunkin' Donuts</suggestion>?</message>
                <example correction="Dunkin' Donuts"><marker>Dunkin Donuts</marker> is an American multinational coffee/donut company.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MAR_A_LAGO" name="proper noun 'mar-a-lago'">
            <antipattern case_sensitive="yes">
                <token>Mar-a-Lago</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>mar</token>
                    <token min="0">a</token>
                    <token>lago</token>
                </pattern>
                <message>Did you mean <suggestion>Mar-a-Lago</suggestion> (= resort and landmark in Palm Beach)?</message>
                <url>https://en.wikipedia.org/wiki/Mar-a-Lago</url>
                <example correction="Mar-a-Lago"><marker>Mar a Lago</marker> is a resort and national historic landmark in Palm Beach.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">mar-?a-?lago</token>
                </pattern>
                <message>Did you mean <suggestion>Mar-a-Lago</suggestion> (= resort and landmark in Palm Beach)?</message>
                <url>https://en.wikipedia.org/wiki/Mar-a-Lago</url>
                <example correction="Mar-a-Lago"><marker>Mar-A-Lago</marker> is a resort and national historic landmark in Palm Beach.</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_ATTACH" name="a/the attach">
            <rule>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>an?|the|that|which|this|those|my|his|her|its|their|our|your|s</token>
                    <marker>
                        <token regexp="yes">attache?</token>
                    </marker>
                    <token regexp="yes">(file|document|doc|book|form|device|song|archive|package|cv|copy|email)s?</token>
                </pattern>
                <message>Did you mean <suggestion>attached</suggestion>?</message>
                <example correction="attached">Have you clicked on the <marker>attach</marker> file?</example>
                <example correction="attached">Please open one of the <marker>attach</marker> documents.</example>
                <example>The <marker>attached</marker> archive contains all photos from last weekend.</example>
                <example>Let's attach files.</example>
                <example>I will make her attach files to it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>an?|the</token>
                    <marker>
                        <token regexp="yes">attach(es)?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)attach(e)?(s)?" regexp_replace="attachment$2" /></suggestion>?</message>
                <example correction="attachment">Have you clicked on the <marker>attach</marker>?</example>
                <example correction="attachments">By clicking on the <marker>attaches</marker> you will experience what a wonderful weekend I had.</example>
                <example>The <marker>attachment</marker> is not opening.</example>
            </rule>
        </rulegroup>
        <rule id="A_THANK_YOU" name="a/the + thank you">
            <antipattern>
                <token>let</token>
                <token>'s</token>
            </antipattern>
            <pattern>
                <token regexp='yes'>an?|the|that|which|this|those|my|his|her|their|our|your|s</token>
                <token postag="JJS?|RB" postag_regexp="yes" min="0" />
                <marker>
                    <token>thank</token>
                    <token>you</token>
                </marker>
                <token postag_regexp="yes" postag="SENT_END|NN(S|:UN?)?|PRP"/>
            </pattern>
            <message>It appears that 'thank you' is missing a hyphen or needs to be quoted.</message>
            <suggestion>thank-you</suggestion>
            <suggestion>“Thank You”</suggestion>
            <url>https://www.merriam-webster.com/dictionary/thank-you</url>
            <example correction='thank-you|“Thank You”'>Have you seen my <marker>thank you</marker> letter?</example>
            <example correction='thank-you|“Thank You”'>Did you receive our little <marker>thank you</marker>?</example>
            <example>He was surprised by the <marker>thank-you</marker> message.</example>
            <example>Let's thank you.</example>
        </rule>
        <rule id="WORK_LIFE_BALANCE" name="missing hyphen in 'work life balance'">
            <pattern>
                <marker>
                    <token>work</token>
                    <token regexp="yes">li[vf]e</token>
                </marker>
                <token regexp="yes">balance|interfaces?|conflict|enrichment</token>
            </pattern>
            <message>This expression is usually spelled with a hyphen between 'work' and 'life'.</message>
            <suggestion>\1-<match no="2" regexp_match="(?i)v" regexp_replace="f" /></suggestion>
            <url>https://www.lexico.com/definition/work-life_balance</url>
            <example correction="Work-life"><marker>Work life</marker> balance is having enough time for work and enough to have a life.</example>
        </rule>
        <rule id="ONE_NIGHT_STAND_HYPHEN" name="missing hyphen in 'one night stand'">
            <pattern>
                <token>one</token>
                <token>night</token>
                <token regexp="yes">stands?</token>
            </pattern>
            <message>This noun is normally spelled with a hyphen.</message>
            <suggestion>\1-\2 \3</suggestion>
            <example correction="one-night stand">Tom and Mary had a <marker>one night stand</marker>.</example>
        </rule>
        <rule id="ONE_TERM_PRESIDENT_HYPHEN" name="missing hyphen in 'one term president'">
            <pattern>
                <token>one</token>
                <token>term</token>
                <token regexp="yes">presidents?|polynomials?</token>
            </pattern>
            <message>This noun is normally spelled with a hyphen.</message>
            <suggestion>\1-\2 \3</suggestion>
            <example correction="one-term president">Donald Trump was a <marker>one term president</marker>.</example>
        </rule>
        <rulegroup id="TOP_DOWN_HYPHEN" name="missing hyphen in 'top down'">
            <url>https://www.merriam-webster.com/dictionary/top-down</url>
            <rule>
                <pattern>
                    <token postag="DT|IN" postag_regexp="yes" />
                    <marker>
                        <token>top</token>
                        <token>down</token>
                    </marker>
                    <token postag="JJ" min="0">
                        <exception postag="RB" />
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="CC|MD|IN|RB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The adjective <suggestion>\2-\3</suggestion> is spelled with a hyphen.</message>
                <example correction="top-down">They had to review the <marker>top down</marker> corporate structure.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>top</token>
                        <token>down</token>
                    </marker>
                    <token regexp="yes">approach(es)?|analysis|parsers?|process(es)?|designs?|structures?|organi[sz]ations?|view</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="top-down">They went with a <marker>top down</marker> approach.</example>
            </rule>
        </rulegroup>
        <rule id="TOSS_UP_HYPHEN" name="missing hyphen in 'toss up'">
            <pattern>
                <marker>
                    <token>toss</token>
                    <token>up</token>
                </marker>
                <token regexp="yes">states?|votes?|senate</token>
            </pattern>
            <message>The noun or adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <example correction="toss-up">Texas became a <marker>toss up</marker> state ahead of the election.</example>
        </rule>
        <rulegroup id="HANDS_ON_HYPHEN" name="missing hyphen in 'hands on'">
            <rule>
                <pattern>
                    <marker>
                        <token>hands</token>
                        <token regexp="yes">on|off</token>
                    </marker>
                    <token postag="JJ|NN.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">approach(es)?|trainings?|managers?|management|ceo|president|chairman|boss|supervisor|trainers?|experiences?|guides?|person|leaders?|leadership|interview|jobs?|intro(ductions?)?|museums?|activit(y|ies)|projects?|workshops?|examples?|commitments?|developers?|class(es)?|polic(y|ies)</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="hands-on">Tom helps his colleagues because he's a <marker>hands on</marker> manager.</example>
            </rule>
            <rule>
                <pattern>
                    <token>a</token>
                    <token min="0" regexp="yes">very|really|pretty|absolutely|totally</token>
                    <marker>
                        <token>hands</token>
                        <token regexp="yes">on|off</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="hands-on">Tom helps his colleagues because he's a <marker>hands on</marker> manager.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">
                        be
                        <exception postag="POS" />
                    </token>
                    <token postag="RB" min="0" max="2" />
                    <marker>
                        <token>hands</token>
                        <token regexp="yes">on|off</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="hands-on">Tom is very <marker>hands on</marker>.</example>
                <example correction="hands-on">He isn't very <marker>hands on</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ONE_STOP_HYPHEN" name="missing hyphen in 'one stop'">
            <rule>
                <pattern>
                    <marker>
                        <token>one</token>
                        <token>stop</token>
                    </marker>
                    <token postag="NN|NN:UN?|JJ" postag_regexp="yes" min="0" />
                    <token regexp="yes">shops?|places?|shopping</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="one-stop">The custom built dealership served as a <marker>one stop</marker> shop for motorists.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|th[oe]se</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>one</token>
                        <token>stop</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="one-stop">The custom built dealership served as a <marker>one stop</marker> shop for motorists.</example>
            </rule>
        </rulegroup>
        <rule id="MAIL_IN_HYPHEN" name="missing hyphen in 'mail in'">
            <pattern>
                <marker>
                    <token>mail</token>
                    <token>in</token>
                </marker>
                <token regexp="yes">voting|ballots?|votes?|surveys?|rebates?|voters?|fraud</token>
            </pattern>
            <message>This is normally spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.lexico.com/en/definition/mail-in</url>
            <example correction="mail-in">The postal crisis has states looking for alternatives to <marker>mail in</marker> ballots.</example>
        </rule>
        <rulegroup id="OUT_OF_POCKET_HYPHEN" name="missing hyphen in 'one night stand'">
            <url>https://www.merriam-webster.com/dictionary/out-of-pocket</url>
            <antipattern><!-- comic character -->
                <token>out</token>
                <token>of</token>
                <token>pocket</token>
                <token>prince</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|their|no|his|her</token>
                    <token postag="JJ" min="0" />
                    <marker>
                        <token>out</token>
                        <token>of</token>
                        <token>pocket</token>
                    </marker>
                </pattern>
                <message>This adjective is spelled as one word.</message>
                <suggestion>\3-\4-\5</suggestion>
                <example correction="out-of-pocket">An <marker>out of pocket</marker> expense is the direct payment of money that may or may not be later reimbursed from a third-party source.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>out</token>
                        <token>of</token>
                        <token>pocket</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token regexp="yes">costs?|expenses?|payments?|limits?|models?|concepts?|accounting|spending|fees?|exposures?|repairs?|money|purchases?</token>
                </pattern>
                <message>This adjective is spelled as one word.</message>
                <suggestion>\1-\2-\3</suggestion>
                <example correction="out-of-pocket">An <marker>out of pocket</marker> expense is the direct payment of money that may or may not be later reimbursed from a third-party source.</example>
                <example correction="out-of-pocket">Eott's <marker>out of pocket</marker> expense</example>
            </rule>
        </rulegroup>
        <rule id="SOON_TO_BE_HYPHEN" name="missing hyphens in 'soon to be'">
            <pattern>
                <token regexp="yes">the|an?|y?our|his|her|my|of|their|its|s|no|many</token>
                <marker>
                    <token>soon</token>
                    <token>to</token>
                    <token>be</token>
                </marker>
            </pattern>
            <message>The adjective <suggestion>\2-\3-\4</suggestion> requires hyphens.</message>
            <url>https://www.lexico.com/definition/soon-to-be</url>
            <example correction="soon-to-be">I'm proud of my <marker>soon to be</marker> 4-year-old daughter.</example>
            <example>He identified the matzah and cup of wine as his body soon to be sacrificed and his blood soon to be shed.</example>
        </rule>
        <rulegroup id="WAKE_UP_HYPHEN" name="missing hyphen in 'wake up call'">
            <url>https://www.merriam-webster.com/dictionary/wake-up</url>
            <rule>
                <pattern>
                    <marker>
                        <token>wake</token>
                        <token>up</token>
                    </marker>
                    <token regexp="yes">calls?|alarms?|coffees?|ceremony|timer?|messages?|songs?|story|intervals?|periods?|apps?</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="wake-up">His normal <marker>wake up</marker> time is at 7:30 am.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|y?our|his|her|my|of|their|its|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception>few</exception>
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>wake</token>
                        <token regexp="yes">ups?</token>
                    </marker>
                </pattern>
                <message>The noun <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="wake-up">The <marker>wake up</marker> comes in the dark before dawn.</example>
                <example>Let's wake up and have breakfast!</example>
                <example>Did the baby wake up?</example>
            </rule>
        </rulegroup>
        <rulegroup id="ONE_TO_MANY_HYPHEN" name="missing hyphen in 'many to many'">
            <url>https://www.lexico.com/definition/many-to-many</url>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|y?our|his|her|my|of|their|its</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>many</token>
                        <token>to</token>
                        <token regexp="yes">many|one</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>The adjective <suggestion>\3-\4-\5</suggestion> is spelled with hyphens.</message>
                <example correction="many-to-many">In systems analysis, a <marker>many to many</marker> relationship is a type of cardinality that refers to the relationship between two entities.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">one|many</token>
                        <token>to</token>
                        <token regexp="yes">one|many</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">models?|db|databases?|tables?|relation(ship)?s?|device|functions?|associations?|scenarios?</token>
                </pattern>
                <message>It appears that two hyphens are missing.</message>
                <suggestion>\1-\2-\3</suggestion>
                <example correction="many-to-many">In systems analysis, a <marker>many to many</marker> relationship is a type of cardinality that refers to the relationship between two entities.</example>
                <example correction="one-to-many">It is a <marker>one to many</marker> relationship.</example>
            </rule>
        </rulegroup>
        <rule id="PUSH_UP_HYPHEN" name="missing hyphen in 'push up bra'">
            <pattern>
                <marker>
                    <token>push</token>
                    <token>up</token>
                </marker>
                <token regexp="yes">bras?|bikinis?</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/push-up</url>
            <example correction="push-up">She was wearing a <marker>push up</marker> bra.</example>
        </rule>
        <rulegroup id="IN_APP_HYPHEN" name="missing hyphen in 'in app'">
            <url>https://www.lexico.com/en/definition/in-app</url>
            <rule>
                <pattern>
                    <marker>
                        <token>in</token>
                        <token>app</token>
                    </marker>
                    <token regexp="yes">purchases?|purchasing|cameras?</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="in-app">They earned all their money through <marker>in app</marker> purchases.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|their|his|of|its|through|at|for|from</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">logged|signed</exception>
                    </token>
                    <marker>
                        <token>in</token>
                        <token>app</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="in-app">Most of their revenue came from <marker>in app</marker> purchases.</example>
                <example>Only Tech Support can knock out a logged in App session.</example>
            </rule>
        </rulegroup>
        <rule id="RUNNER_UP_HYPHEN" name="runnner-up">
            <antipattern>
                <token>up</token>
                <token regexp="yes">the|an?|towards?</token>
            </antipattern>
            <antipattern>
                <token>knees</token>
                <token>up</token>
                <token regexp="yes">to|high</token>
            </antipattern>
            <antipattern>
                <token>with</token>
                <token regexp="yes">your|her|his|my|their</token>
                <token>knees</token>
                <token>up</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">my|your</token>
                <token>knees</token>
                <token>up</token>
            </antipattern>
            <pattern>
                <token regexp="yes">runners?|knees</token>
                <token>up</token>
            </pattern>
            <message>The noun <suggestion>\1-\2</suggestion> (= didn't finish first place) is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/runner-up</url>
            <example correction="runners-up">In 1937, Charlton finished <marker>runners up</marker> in the First Division, in 1938 finished fourth and 1939 finished third.</example>
            <example>They chased the runners up the hill.</example>
            <example>Tom pulled his knees up to his chest.</example>
            <example>Try to do it with your knees up.</example>
        </rule>
        <rulegroup id="HOW_TO_HYPHEN" name="the how to (how-to)">
            <url>https://www.merriam-webster.com/dictionary/how-to</url>
            <rule>
                <antipattern>
                    <token>how</token>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB">
                        <exception regexp="yes">article|video|guide|book|document|doc</exception>
                    </token>
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        the|an?|my|y?our|their|his|its
                        <exception postag="VBZ" />
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>how</token>
                        <token regexp="yes">tos?</token>
                    </marker>
                </pattern>
                <message>The noun or adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="how-to">Have you read the <marker>how to</marker> article?</example>
                <example>Here's how to do them.</example>
                <example>I know for the future how to post.</example>
                <example>I can learn on my own how to carry it out.</example>
            </rule>
        </rulegroup>
        <rule id="LOW_HANGING_FRUIT_HYPHEN" name="missing hyphen in 'low hanging fruit'">
            <pattern>
                <marker>
                    <token>low</token>
                    <token>hanging</token>
                </marker>
                <token regexp="yes">fruits?|ways?|solutions?|aproach(es)?|ideas?|clouds?|wires?|cables?|fogs?|opportunit(y|ies)|branch(es)?|limbs?</token>
            </pattern>
            <message>When <suggestion>\1-\2</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/low-hanging</url>
            <example correction="low-hanging">The task was very easy to accomplish, it really was a <marker>low hanging</marker> fruit.</example>
        </rule>
        <rule id="RUN_ON_HYPHEN" name="missing hyphen in 'run on'">
            <pattern>
                <marker>
                    <token>run</token>
                    <token>on</token>
                </marker>
                <token regexp="yes">sentences?</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/run-on</url>
            <example correction="run-on">I'm using a tool to fix my <marker>run on</marker> sentences.</example>
        </rule>
        <rule id="BUTTON_UP_HYPHEN" name="missing hyphen in 'run on'">
            <pattern>
                <token postag="IN|DT|PRP.*" postag_regexp="yes">
                    <exception>to</exception>
                </token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>button</token>
                    <token>up</token>
                </marker>
                <token min="0">
                    <exception postag="PRP.*|DT|IN" postag_regexp="yes" />
                </token>
                <token regexp="yes">t-?shirts?|shirts?|sweaters?|sweat-?shirts?|tanks?|dress(es)?|blouses?|tops?|vests?|jackets?|cardigans?|jeans?|trousers?</token>
            </pattern>
            <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/button-up</url>
            <example correction="button-up">I'm wearing a <marker>button up</marker> shirt.</example>
            <example>Tom began to button up his shirt.</example>
        </rule>
        <rule id="HIGH_END_HYPHEN" name="missing hyphen in 'high end'">
            <pattern>
                <marker>
                    <token regexp="yes">high|low</token>
                    <token>end</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception postag="IN" />
                </token>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="MD|IN|CC|PRP.*|W.*" postag_regexp="yes" />
                    <exception regexp="yes">due|then</exception>
                </token>
            </pattern>
            <message>Did you mean the adjective <suggestion>high-end</suggestion> (spelled with a hyphen)?</message>
            <url>https://www.lexico.com/definition/high-end</url>
            <example correction="high-end">The <marker>high end</marker> computer.</example>
            <example>The low end may be reached already.</example>
        </rule>
        <rulegroup id="SAME_SEX_HYPHEN" name="missing hyphen in 'same sex'">
            <url>https://www.lexico.com/definition/same-sex</url>
            <rule>
                <pattern>
                    <token regexp="yes">an?|my|y?our|his|her|their</token>
                    <marker>
                        <token>same</token>
                        <token>sex</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>same-sex</suggestion> is spelled with a hyphen.</message>
                <example correction="same-sex">A <marker>same sex</marker> marriage.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>same</token>
                        <token>sex</token>
                    </marker>
                    <token postag="JJ|NN.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">friendships?|partners|friends|couples?|relationships?|partnerships?|schools?|twins|marriages?|wedding|dating|love|relations?</token>
                </pattern>
                <message>The adjective <suggestion>same-sex</suggestion> is spelled with a hyphen.</message>
                <example correction="Same-sex"><marker>Same sex</marker> marriage is now legal in 20 countries worldwide, including Ireland as of yesterday.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOW_COST_HYPHEN" name="missing hyphen in 'low cost'">
            <url>https://www.lexico.com/definition/low-cost</url>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">(low|high)</token>
                        <token>cost</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">air(fare|line)s?|carriers?|operators?|operations?|apartments?|manufacturing|loans?|ads?|flights?|hos?tels?|holidays?|vacations?|cars?|housing|strategy|provider|laptops?|stocks?|smartphones?|events?|devices?|alternatives?|solutions?|ways?|producers?|systems?|options?|structures?|brands?|mortgages?|credits?|benefits?|problems?|materials?|services?|insurances?|industr(y|ies)|areas?|funds?|competitors?|tablets?|computers?|pcs?</token>
                </pattern>
                <message>When <suggestion>\1-\2</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
                <example correction="low-cost">I will be flying with a <marker>low cost</marker> airline to save some money.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="DT|PRP\$|IN" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">(low|high)</token>
                        <token>cost</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VB.*|IN|RB" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>When <suggestion>\3-\4</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
                <example correction="low-cost">I will be flying with a <marker>low cost</marker> airline to save some money.</example>
                <example>We had had to pay a high cost in men and material.</example>
            </rule>
        </rulegroup>
        <rule id="OPEN_PLAN_HYPHEN" name="missing hyphen in 'open plan'">
            <pattern>
                <marker>
                    <token>open</token>
                    <token>plan</token>
                </marker>
                <token regexp="yes">offices?|rooms?|areas?|spaces?|restaurants?|caf[éeè]s?|kitchens?|houses?|layouts?|living</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>\1-\2</suggestion> (spelled with a hyphen)?</message>
            <url>https://www.lexico.com/definition/open-plan</url>
            <example correction="open-plan">In the 1960s, <marker>open plan</marker> offices were introduced, though not without some controversy.</example>
        </rule>
        <rulegroup id="ENGINED_HYPHEN" name="missing hyphen in 'twin-engined">
            <url>https://www.lexico.com/definition/twin-engined</url>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">twin|four|4|2|single|piston|gas|mid|rear|big|small|diesel|petrol|battery</token>
                        <token>engined</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token regexp="yes">mustangs?|cars?|trucks?|fighters?|dragsters?|lockheed|airplanes?|airlines?|cessnas?|aircrafts?|coupes?|models?|bus(es)?|boeing|airbus|porsche|911|mitsubishi|gm|chevrolet|f1|ferraris?|mclaren|[bf]-\d+|pick-?ups?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>\1-\2</suggestion> (spelled with a hyphen)?</message>
                <example correction="twin-engined">He drives a <marker>twin engined</marker> Mustang.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">twin|four|4|2|single|piston|gas|mid|rear|big|small|diesel</token>
                        <token>engined</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="PRP.*|RB.*|IN|MD" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean the adjective <suggestion>\3-\4</suggestion> (spelled with a hyphen)?</message>
                <example correction="twin-engined">He drives a <marker>twin engined</marker> Mustang.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CD" />
                    <token regexp="yes">stroke|cycle</token>
                    <token regexp="yes" min="0">diesel|gas(oline)?|dirt|power|freedom</token>
                    <token regexp="yes">engines?|motor.*|bikes?</token>
                </pattern>
                <message>The adjective '\1-\2' is usually hyphenated.</message>
                <suggestion>\1-\2 \3 \4</suggestion>
                <url>https://www.lexico.com/definition/four-stroke</url>
                <example correction="four-stroke engine">He is driving a car with a <marker>four stroke engine</marker>.</example>
            </rule>
        </rulegroup>

        <rule id="MUCH_NEEDED_HYPHEN" name="missing hyphen in 'much needed'">
            <pattern>
                <token postag="DT|PRP\$|IN" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception>very</exception>
                </token>
                <marker>
                    <token>much</token>
                    <token>needed</token>
                </marker>
                <token postag="NN.*|JJ.*" postag_regexp="yes" />
            </pattern>
            <message>When <suggestion>\3-\4</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/much-needed</url>
            <example correction="much-needed">The film gave a <marker>much needed</marker> boost to the country's tourist industry.</example>
            <example>Your help is very much needed.</example>
        </rule>
        <rule id="DRY_ERASE_HYPHEN" name="missing hyphen in 'dry erase'">
            <pattern>
                <marker>
                    <token>dry</token>
                    <token skip="1">erase</token>
                </marker>
                <token regexp="yes">.*boards?|markers?|paint.*|pen.*|calendars?|papers?|sheets?|crayons?|ink.*|kits?|surfaces?|environments?|decals?|erasers?|chalk</token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.lexico.com/definition/dry-erase</url>
            <example correction="dry-erase">He loves the smell of of <marker>dry erase</marker> markers.</example>
        </rule>
        <rulegroup id="MILE_HYPHEN" name="missing hyphen in '2 mile race'">
            <antipattern><!-- https://en.wikipedia.org/wiki/Seven_Mile_Beach,_Grand_Cayman -->
                <token regexp="yes">seven|7</token>
                <token>mile</token>
                <token>beach</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token regexp="yes">mile|(kilo)?meter|(kilo)?metre</token>
                        <token regexp="yes">radius|run|race|competition|marathon|drive|journey|warranty|flight|interval|commute|range|trip|roundtrip|trail|highway|walk|limit|freeway|line|hike|extension|distance|sprint|springboard|boulevard|stretch</token>
                    </marker>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2 \3</suggestion>
                <example correction="10-mile race">He was wining the <marker>10 mile race</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token postag="CD">
                            <exception regexp="yes">1|one</exception>
                        </token>
                        <token regexp="yes">mile|meter|metre</token>
                        <token postag="NN.*" postag_regexp="yes" />
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\3-\4 \5</suggestion>
                <example correction="10-mile race">He was wining the <marker>10 mile race</marker>.</example>
                <example>Escape to the Cayman Islands and head for the famous Seven Mile Beach, ideal for swimming, diving, and other water sports.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PERSON_HYPHEN" name="missing hyphen in '2 person meeting'">
            <rule>
                <antipattern>
                    <token skip="1">the</token>
                    <token regexp="yes">1|one</token>
                    <token regexp="yes">person|man</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">MAN</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        the|an?|my|y?our|their|his|her|its|'s
                        <exception postag="VBZ">'s</exception>
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token postag="CD">
                            <exception regexp="yes">(20|19)\d{2}</exception>
                        </token>
                        <token regexp="yes">person|man</token>
                        <token postag="NN.*" postag_regexp="yes" />
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\3-\4 \5</suggestion>
                <example correction="10-person meeting">The <marker>10 person meeting</marker> took more than 2 hours.</example>
                <example correction="forty-man roster">Anyone on a Major League team's <marker>forty man roster</marker>.</example>
                <example>They also implemented a new performance system that would give the 1 person rowing the boat greater incentive to work harder.</example>
                <example>There's one person in particular I'd like to talk to.</example>
                <example>The winner of the 2015 Man Booker Prize.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">one|1</token>
                    <token regexp="yes">person|man</token>
                    <token postag="VBZ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="CD">
                            <exception regexp="yes">(20|19)\d{2}</exception>
                        </token>
                        <token regexp="yes">person|man</token>
                        <token regexp="yes">tents?|vans?|groups?|neighborhoods?|games?|kayaks?|bikes?|teams?|relationships?|boats?|bicycles?|famil(y|ies)|meetings?|crews?|bands?|staff|households?|tables?|limits?|delegations?|sedans?|tickets?</token>
                    </marker>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2 \3</suggestion>
                <example correction="10-person van">He bought ae <marker>10 person van</marker> for his family vacation.</example>
            </rule>
        </rulegroup>
        <rule id="END_TO_END_HYPHEN" name="missing hyphen in 'end-to-end">
            <pattern>
                <marker>
                    <token>end</token>
                    <token>to</token>
                    <token>end</token>
                </marker>
                <token regexp="yes">encrypted|encryptions?|principles?|reinforcement|vectors?|delay|tests?|testings?|journeys?|architectures?|trips?|monitorings?|tracing|traces?|transactions?|process(es)?|solutions?|computing|platforms?|managements?|attacks?|compressions?</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>\1-\2-\3</suggestion> (spelled with hyphens)?</message>
            <url>https://en.wiktionary.org/wiki/end-to-end</url>
            <example correction="end-to-end">The <marker>end to end</marker> trip takes about forty minutes.</example>
        </rule>
        <rule id="SO_CALLED_HYPHEN" name="missing hyphen in 'so called'">
            <pattern>
                <marker>
                    <token regexp="yes">[Ss]o</token>
                    <token>called</token>
                </marker>
                <token min="0" regexp="yes">["“]</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" max="2" />
                <token postag="NN.*" postag_regexp="yes" />
            </pattern>
            <message>The expression '\1-\2' is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/so-called</url>
            <example correction="so-called">The <marker>so called</marker> conspiracy theory</example>
            <example correction="so-called">It's a <marker>so called</marker> "hidden match".</example>
        </rule>
        <rule id="FIRST_PERSON_SHOOTER" name="hyphen in 'first person shooter'">
            <pattern>
                <marker>
                    <token regexp="yes">first|second|third</token>
                    <token>person</token>
                </marker>
                <token regexp="yes">shooters?|singular|plural|(pro)?nouns?|verbs?|narrators?|narratives?|perspectives?|forms?|pov|analysis|voice|descriptors?|masculine|feminine|subject</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.lexico.com/definition/first-person_shooter</url>
            <example correction="first-person">He was playing a <marker>first person</marker> shooter.</example>
        </rule>
        <rule id="SET_TOP_BOX_HYPHEN" name="missing hyphen in 'set top box'">
            <pattern>
                <marker>
                    <token>set</token>
                    <token>top</token>
                </marker>
                <token regexp="yes">box(es)?</token>
            </pattern>
            <message>When <suggestion>\1-\2</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
            <url>https://en.wikipedia.org/wiki/Set-top_box</url>
            <example correction="set-top">A <marker>set top</marker> box (STB), also colloquially known as a cable box is an information appliance.</example>
        </rule>
        <rulegroup id="PRIME_TIME_HYPHEN" name="missing hyphen in 'prime time television'">
            <rule>
                <pattern>
                    <marker>
                        <token>prime</token>
                        <token>time</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">radio|tv|television|viewing|sunday|saturday|friday|access|shows?|movies?|thanksgiving.</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="prime-time">NBC broadcasts the <marker>prime time</marker> Sunday Night Football package.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FACT_CHECK_HYPHEN" name="missing hyphen in 'fact check'">
            <url>https://www.merriam-webster.com/dictionary/fact-check</url>
            <rule>
                <antipattern>
                    <token skip="8">from</token>
                    <token>to</token>
                    <token>fact</token>
                </antipattern>
                <antipattern>
                    <token postag="POS">s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">[cw]ould|should|must|might|may|shall|will|has|have|'ve|was|were|been|did|is|'s|are|'re|am|'m|can|cannot|to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fact</token>
                        <token inflected="yes">
                            check
                            <exception>checks</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\3-\4</suggestion>?</message>
                <example correction="fact-check">You always need to <marker>fact check</marker> what Trump said.</example>
                <example correction="fact-checking">I'm always <marker>fact checking</marker> before I trust what a politican said.</example>
                <example>I did fact checks.</example>
                <example>Have you seen Tom's fact checks?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">[cw]ould|should|must|wo|will|has|have|was|were|is|are|ai|can|ca|did|does|do</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fact</token>
                        <token inflected="yes">check</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\4-\5</suggestion>?</message>
                <example correction="fact-checked">I haven't <marker>fact checked</marker> his words.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|s?he|it|we|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fact</token>
                        <token regexp="yes">check|checked</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\3-\4</suggestion>?</message>
                <example correction="fact-checked">They <marker>fact checked</marker> the answers before releasing them.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|him|her|them|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fact</token>
                        <token>check</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>\4-\5</suggestion>?</message>
                <example correction="fact-check">Let's <marker>fact check</marker> his statement before publishing it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>fact</token>
                    <token regexp="yes">checks?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>fact</token>
                        <token regexp="yes">checks?</token>
                    </marker>
                    <token regexp="yes">the|an?|my|y?our|his|her|their</token>
                </pattern>
                <message>The verb <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="fact-check">Let's <marker>fact check</marker> his statement before publishing it.</example>
            </rule>
        </rulegroup>
        <rule id="IN_EAR_HYPHEN" name="missing hyphen in 'in ear'">
            <pattern>
                <marker>
                    <token>in</token>
                    <token>ear</token>
                </marker>
                <token regexp="yes">buds?|noise|noise\-?cancel.*|bluetooth|translators?|headsets?|earbuds?|apple|placement|versions?|(head|ear)phones?|monitors?|eegs?|monitoring|wireless|samsung|airpods?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="in-ear">He enjoys the <marker>in ear</marker> noise cancelling.</example>
        </rule>
        <rule id="STEP_BY_STEP_HYPHEN" name="missing hyphens in 'step-by-step'">
            <pattern>
                <marker>
                    <token>step</token>
                    <token>by</token>
                    <token>step</token>
                </marker>
                <token postag="NN.*|JJ"  postag_regexp="yes" min="0" />
                <token regexp="yes">tutorials?|guides?|instructions?|process(es)?|cookbooks?|podcasts?|audiobooks?|e\-?book|recipes?|directions|plan|diet|knitting|lyrics|learning|landscaping|programming|courses?|origami|painting|solutions?|teaching|videos?|workouts?|screenhots?|screencasts?|approach(es)?|configurations?|pictures?|diagnostics?|photos?|documentations?|procedures?|installations?|examples?|troubleshootings?|lists?|walkthrough|help|setups?|guidances?</token>
            </pattern>
            <message>Did you mean the adjective or adverb <suggestion>\1-\2-\3</suggestion> (spelled with hyphens)?</message>
            <url>https://www.merriam-webster.com/dictionary/step-by-step</url>
            <example correction="step-by-step">The <marker>step by step</marker> diet plan helped me to lose kilos.</example>
        </rule>
        <rule id="OPEN_HEART_HYPHEN" name="missing hyphen in 'open heart'">
            <pattern>
                <marker>
                    <token>open</token>
                    <token>heart</token>
                </marker>
                <token postag="JJ" min="0" />
                <token regexp="yes">surger(y|ies)|operations?|procedures?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://www.merriam-webster.com/dictionary/open-heart</url>
            <example correction="Open-heart"><marker>Open heart</marker> surgery is an operation to repair a fault or damage in the heart.</example>
        </rule>
        <rulegroup id="ALL_KNOWING_HYPHEN" name="missing hyphen in 'all knowing'">
            <url>https://www.lexico.com/definition/all-knowing</url>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|our|your|my|their|its|his|her|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>all</token>
                        <token>knowing</token>
                    </marker>
                </pattern>
                <message>It appears that a hyphen is missing in the adjective <suggestion>\3-\4</suggestion>.</message>
                <example correction="all-knowing">He is an <marker>all knowing</marker> god.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALL_TIME_HYPHEN" name="missing hyphen in 'all time high'">
            <url>https://www.merriam-webster.com/dictionary/all-time</url>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|our|your|my|their|its|his|her|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>all</token>
                        <token>time</token>
                    </marker>
                </pattern>
                <message>When <suggestion>\3-\4</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
                <example correction="all-time">He is the best <marker>all time</marker> goalscorer.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>time</token>
                    <token regexp="yes">sheets?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>all</token>
                        <token>time</token>
                    </marker>
                    <token min="0" postag="JJ.*|NNP?|NN:UN?" postag_regexp="yes" />
                    <token regexp="yes">highs?|lows?|highest|lowest|best|medals?|roads?|classics?|favou?rites?|awards?|leaders?|cinemas?|box|world|sales?|baseball|football|career|college|comparisons?|champions?|era|faves?|scorers?|goalscorers?|great(est)?|greats|records?|goal|hits?|interceptions?|international|revenue|jokes|jazz|movies?|nfl|nhl|nba|number|ops|olympic|office|points?|quarterback|stats?|scoring|strikeout|strikers?|touchdown|usa?|ucl|views|winners?|yankees</token>
                </pattern>
                <message>When <suggestion>\1-\2</suggestion> is used as a modifier, it is usually spelled with a hyphen.</message>
                <example correction="all-time">He is the best <marker>all time</marker> goalscorer.</example>
                <example>He is the best of all time.</example>
                <example>Please update all time sheet records.</example>
                <example>Because Antarctica surrounds the South Pole, it is theoretically located in all time zones.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALL_GIRLS_HYPHEN" name="missing hyphen in 'all girls'">
            <url>https://www.lexico.com/definition/all-girl</url>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|our|your|my|their|its|his|her</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>all</token>
                        <token regexp="yes">girls?|boys?</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="all-girls">She is attending an <marker>all girls</marker> high school.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>all</token>
                        <token regexp="yes">girls?|boys?</token>
                    </marker>
                    <token min="0" regexp="yes">high|football|ski|soccer</token>
                    <token regexp="yes">(pre-?)?schools?|team|colleges?|universit(y|ies)</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="all-girls">She is attending an <marker>all girls</marker> high school.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALL_WHEEL" name="missing hyphen in 'all-wheel'">
            <url>https://www.merriam-webster.com/dictionary/all-wheel</url>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|his|her|their|its|of</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>all</token>
                        <token>wheel</token>
                    </marker>
                </pattern>
                <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="all-wheel">He is driving an <marker>all wheel</marker> SUV.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>all</token>
                        <token>wheel</token>
                    </marker>
                    <token regexp="yes">drives?|teslas?|suvs?|subaru|vw|chevrolet|ford|dodge|toyota|hyundai|kia|honda|bmw|audi|mercedes.*|porsche|car|motors?|system|trucks?|pick-?ups?|CRV</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="all-wheel">He is driving an <marker>all wheel</marker> SUV.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">front|rear|four|4|2|all</token>
                        <token>wheel</token>
                    </marker>
                    <token regexp="yes">drive|bearings?</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <example correction="front-wheel">He owns a <marker>front wheel</marker> drive.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALL_IN_ONE_HYPHEN" name="missing hyphens in 'all-in-one'">
            <url>https://www.lexico.com/definition/all_in_one</url>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|your|his|her|our|its|s|many|this</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" max="2" />
                    <marker>
                        <token>all</token>
                        <token>in</token>
                        <token>one</token>
                    </marker>
                </pattern>
                <message>It seems that hyphens are missing.</message>
                <suggestion>\3-\4-\5</suggestion>
                <example correction="all-in-one">It's an <marker>all in one</marker> solution.</example>
                <example>They are driving all in one car.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>all</token>
                        <token>in</token>
                        <token>one</token>
                    </marker>
                    <token postag="IN"><exception>to</exception></token>
                </pattern>
                <message>It seems that hyphens are missing.</message>
                <suggestion>\1-\2-\3</suggestion>
                <example correction="all-in-one">The <marker>all in one</marker> for beginners.</example>
            </rule>
        </rulegroup>
        <rule id="AFRO_AMERICAN_HYPHEN" name="missing hyphen in 'Afro American'">
            <pattern>
                <token>afro</token>
                <token regexp="yes">americans?</token>
            </pattern>
            <message>This expression is usually spelled with a hyphen.</message>
            <suggestion><match no="1" case_conversion="startupper" />-<match no="2" case_conversion="startupper" /></suggestion>
            <url>https://www.merriam-webster.com/dictionary/Afro-American</url>
            <example correction="Afro-American">He is an <marker>afro american</marker>.</example>
        </rule>
        <rulegroup id="ZERO_DAY_EXPLOIT_HYPHEN" name="a zero day (zero-day) exploit">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">0|zero</token>
                        <token>day</token>
                    </marker>
                    <token regexp="yes">exploits?|vulnerability|vulnerabilities|attacks?|malwares?|virus|viruses|bugs?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://www.lexico.com/en/definition/zero-day</url>
                <example correction="0-day">Google security engineers discovered a <marker>0 day</marker> exploit.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <marker>
                        <token regexp="yes">0|zero</token>
                        <token>day</token>
                    </marker>
                </pattern>
                <message>When '\2-\3' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\2-\3</suggestion>
                <url>https://www.lexico.com/en/definition/zero-day</url>
                <example correction="zero-day">The <marker>zero day</marker> was fixed.</example>
            </rule>
        </rulegroup>
        <rule id="DAY_TO_DAY_HYPHEN" name="missing hyphens in 'day to day'">
            <pattern>
                <or>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|'s</token>
                    <token postag="JJ.*|RB" postag_regexp="yes" />
                </or>
                <marker>
                    <token regexp="yes">day|town|month|year|week|job|eye|door</token>
                    <token>to</token>
                    <token><match no="1" /></token>
                </marker>
                <token postag="NNS?|NN:UN" postag_regexp="yes" />
            </pattern>
            <message>It appears that two hyphens are missing.</message>
            <suggestion>\2-\3-\4</suggestion>
            <url>https://www.merriam-webster.com/dictionary/day-to-day</url>
            <example>I'm living from <marker>day to day</marker>.</example>
            <example correction="month-to-month">My lease is up, so now I'm on the ordinary <marker>month to month</marker> portion of the contract.</example>
            <example correction="day-to-day">My <marker>day to day</marker> routine during finals weeks did not change dramatically</example>
        </rule>
        <rule id="TAKEAWAY" name="take away (takeaway)">
            <antipattern>
                <token>let</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>her</token>
            </antipattern>
            <pattern>
                <token regexp="yes">an?|the|my|his|her|their|our|your|s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception>few</exception>
                </token>
                <marker>
                    <token>take</token>
                    <token regexp="yes">aways?</token>
                </marker>
            </pattern>
            <message>The noun <suggestion>take<match no="4" case_conversion="alllower" /></suggestion> is spelled as one word.</message>
            <url>https://www.merriam-webster.com/dictionary/takeaway</url>
            <example correction="takeaways">Those were my biggest <marker>take aways</marker> from today's event.</example>
        </rule>
        <rule id="ANTI_AMERICAN_HYPHEN" name="missing hyphen in 'anti-Semitism'">
            <pattern>
                <token>anti</token>
                <token regexp="yes">Semitism|Semitic|American|Americanism</token>
            </pattern>
            <message>This expression is usually spelled with a hyphen.</message>
            <suggestion>anti-<match no="2" case_conversion="startupper" /></suggestion>
            <example correction="anti-American">He's an <marker>anti american</marker>.</example>
        </rule>
        <rulegroup id="NO_GO_HYPHEN" name="missing hyphen in 'no-go'">
            <url>https://www.merriam-webster.com/dictionary/no-go</url>
            <rule>
                <pattern>
                    <token>no</token>
                    <token>go</token>
                    <token regexp="yes">areas?|theorems?|decisions?</token>
                </pattern>
                <message>This expression is usually spelled with a hyphen between 'no' and 'go'.</message>
                <suggestion>\1-\2 \3</suggestion>
                <example correction="no-go area"><!--I wouldn't go there. -->It seems to be a <marker>no go area</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>no</token>
                        <token>
                            go
                            <exception regexp="yes" scope="next">away|fuck</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The expression '\3-\4' is usually spelled with a hyphen.</message>
                <suggestion>\3-\4</suggestion>
                <example correction="no-go">That's a <marker>no go</marker>.</example>
                <example>It's a no go away.</example><!-- missing comma -->
            </rule>
        </rulegroup>
        <rulegroup id="LOGGED_IN_HYPHEN" name="missing hyphen in 'logged in'">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">logged|signed</token>
                        <token regexp="yes">in|up|out</token>
                    </marker>
                    <token regexp="yes">users?|sessions?|usernames?|emails?|experience|economy|features?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="logged-in">Only <marker>logged in</marker> users can see this feature.</example>
            </rule>
        </rulegroup>
        <rule id="CATCH_ALL_HYPHEN" name="missing hyphen in 'catch-all'">
            <antipattern>
                <token>let</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>her</token>
            </antipattern>
            <pattern>
                <token regexp="yes">the|an?|my|y?our|its|his|her|their|s|of|no|many</token>
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception postag="NN.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token>catch</token>
                    <token>all</token>
                </marker>
                <token>
                    <exception postag="DT|PRP\$" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It seems that a hyphen in the noun or adjective <suggestion>\3-\4</suggestion> is missing.</message>
            <url>https://www.lexico.com/definition/catch_all</url>
            <example correction="catch-all">We plugged our <marker>catch all</marker> accounts into all our tools without absolutely no problem.</example>
            <example>A few catch all.</example>
        </rule>
        <rulegroup id="BUILT_IN_HYPHEN" name="missing hyphen in 'built in'">
            <url>https://www.lexico.com/definition/built-in</url>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>built</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token>built</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>built</token>
                        <token>in</token>
                    </marker>
                    <token min="0" />
                    <token regexp="yes">features?|sensors?|quality|battery|voltage|functions?|formula|furniture|effects|controllers?|project?|.*speaker|packages?|inductor|relay|ai|intelligence|cameras?|microphones?|alexa|google|protection|security|subwoofers?|pedometers?|keyboards?</token>
                </pattern>
                <message>A hyphen is missing in the adjective <suggestion>\1-\2</suggestion>.</message>
                <example correction="built-in">The iPhone has a <marker>built in</marker> camera.</example>
                <example correction="built-in">The <marker>built in</marker> motion sensor.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>built</token>
                        <token>up</token>
                    </marker>
                    <token regexp="yes">areas?|timber|wood(en)?|edges?|shapes?|land|roof(ing)?s?|sections?|columns?|footprints?|flat|utensils</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="built-up">In the UK Highway Code, a <marker>built up</marker> area is a settled area in which the speed limit of a road is automatically 30 mph.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our|no|with|of|for</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>built</token>
                        <token regexp="yes">in|up</token>
                    </marker>
                    <token></token>
                </pattern>
                <message>A hyphen is missing in the adjective <suggestion>\3-\4</suggestion>.</message>
                <example correction="built-in">The device has a <marker>built in</marker> module.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="NNP" />
                    <token>'s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>built</token>
                        <token regexp="yes">in|up</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes">
                        <exception postag="MD|DT|CC|RB|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A hyphen is missing in the adjective <suggestion>\4-\5</suggestion>.</message>
                <example correction="built-in">Apple's new <marker>built in</marker> module.</example>
                <example>LanguageTool's built in a new feature.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALL_YOU_CAN_EAT_HYPHEN" name="hyphens in 'all-you-can-eat'">
            <rule>
                <pattern>
                    <marker>
                        <token>all</token>
                        <token>you</token>
                        <token>can</token>
                        <token>eat</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="JJ.*|RB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>It appears that hyphens are missing (<suggestion>\1-\2-\3-\4</suggestion> is a compound adjective).</message>
                <url>https://www.merriam-webster.com/dictionary/all-you-can-eat</url>
                <example correction="all-you-can-eat">He was at the <marker>all you can eat</marker> restaurant.</example>
                <example>Buy all you can eat!</example>
            </rule>
        </rulegroup>
        <rulegroup id="GO_TO_HYPHEN" name="missing hyphen in 'go to'">
            <antipattern>
                <token>let</token>
                <token>'s</token>
                <token>go</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>her</token>
                <token>go</token>
            </antipattern>
            <antipattern>
                <token>on</token>
                <token>the</token>
                <token>go</token>
                <token>to</token>
                <token>market</token>
                <token postag="PRP.*|DT" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>always</token>
                <token>on</token>
                <token>the</token>
                <token>go</token>
                <token>to</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token regexp="yes">tap|(double-?|right-?)?click</token>
                <token>on</token>
                <token>the</token>
                <token>go</token>
                <token skip="2">to</token>
                <token regexp="yes">button|link|teaser</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|his|her|its|my|y?our|their|s</token>
                    <marker>
                        <token>go</token>
                        <token>to</token>
                        <token>market</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that hyphens are missing (<suggestion>\2-\3-\4</suggestion> is a compound adjective).</message>
                <url>https://www.merriam-webster.com/dictionary/go-to</url>
                <example correction="go-to-market">My <marker>go to market</marker> plan is ready.</example>
                <example>Let's go to market.</example>
                <example>I'll make her go to market.</example>
                <example>I'm on the go to market his new tool.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|his|her|its|my|y?our|their|'s</token>
                    <marker>
                        <token>go</token>
                        <token>to</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that a hyphen is missing (<suggestion>\2-\3</suggestion> is a compound adjective).</message>
                <url>https://www.merriam-webster.com/dictionary/go-to</url>
                <example correction="go-to">He is your <marker>go to</marker> person.</example>
                <example correction="go-to">She's Tom's <marker>go to</marker> person.</example>
                <example>Let's go to the party.</example>
                <example>I'll make her go to the party.</example>
            </rule>
        </rulegroup>
        <rulegroup id="OPT_IN_HYPHEN" name="hyphen in 'opt in/out'">
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|s|double|single</token>
                    <marker>
                        <token>opt</token>
                        <token regexp="yes">in|out</token>
                    </marker>
                </pattern>
                <message>It appears that a hyphen is missing in this expression.</message>
                <suggestion>\2-\3</suggestion>
                <example correction="opt-in">The <marker>opt in</marker> functionality.</example>
                <example correction="opt-out">My <marker>opt out</marker> attempt wasn't working.</example>
                <example>My attempt to <marker>opt out</marker> failed.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>opt</token>
                        <token regexp="yes">in|out</token>
                    </marker>
                    <token regexp="yes">e?mails?|newsletters?|programs?|functionalit(y|ies)|accounts?|features?|elections?|systems?|principles?|rules?|agreements?|polic(y|ies)|confirmations?|consents?|forms?|laws?|models?|process(es)?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="opt-in">We have many new <marker>opt in</marker> newsletter subscribers.</example>
                <example>My attempt to <marker>opt out</marker> failed.</example>
            </rule>
        </rulegroup>
        <rule id="PASSWORD_PROTECTED_HYPHEN" name="missing hyphen in 'password protected area'">
            <antipattern>
                <token skip="5">protected</token>
                <token>from</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>password</token>
                    <token>protected</token>
                </marker>
                <token regexp="yes">(area|doc(ument)?|(spread)?sheet|archive|zip|pdf|folder|system|page|(web)?site|file|account|drive|stick|usb|excel|app|cd|dropbox|email|gallery|iphone)s?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example>The password protected dropbox folders and other items from being viewed by others.</example>
            <example correction="password-protected">I will share the <marker>password protected</marker> PDF with you.</example>
        </rule>
        <rulegroup id="DOUBLE_CLICK_HYPHEN" name="missing hyphen in 'double click' (verb)">
            <rule>
                <pattern>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token postag="VBD" min="0" />
                    <marker>
                        <token>double</token>
                        <token inflected="yes">click</token>
                    </marker>
                </pattern>
                <message>This expression is usually spelled with a hyphen.</message>
                <suggestion>\3-\4</suggestion>
                <example>I want to detect a double click on the Image.</example>
                <example>There were too many double clicks.</example>
                <example>There were double clicks on that link that didn't succeed.</example>
                <example>Please handle double clicks on the main call-to-action.</example>
                <example correction="double-clicked">He <marker>double clicked</marker> the button.</example>
                <example correction="double-clicked">Sarah <marker>double clicked</marker> the button.</example>
                <example correction="double-clicking">She was <marker>double clicking</marker> the button until it worked.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <marker>
                        <token>double</token>
                        <token inflected="yes">click</token>
                    </marker>
                </pattern>
                <message>This expression is usually spelled with a hyphen.</message>
                <suggestion>\2-\3</suggestion>
                <example>I want to detect a double click on the Image.</example>
                <example>Please handle double clicks on the main call-to-action.</example>
                <example correction="double-click">Please <marker>double click</marker> on the link to confirm the action.</example>
                <example correction="double-click">You need to <marker>double click</marker> on the folder first.</example>
                <example correction="double-click">He had to <marker>double click</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        <exception postag="VB.*|DT" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>double</token>
                        <token inflected="yes">click</token>
                    </marker>
                    <token regexp="yes">at|on|in|the</token>
                </pattern>
                <message>This expression is usually spelled with a hyphen.</message>
                <suggestion>\2-\3</suggestion>
                <example>I want to detect a double click on the Image.</example>
                <example>There were too many double clicks for confirmation.</example>
                <example>There were double clicks on that link that didn't succeed.</example>
                <example>Please handle double clicks on the main call-to-action.</example>
                <example correction="double-click">Let's <marker>double click</marker> on the folder first.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HANDOVER" name="handover (hand over)">
            <rule>
                <pattern>
                    <token regexp="yes">wo|will|did|do|ca|(c|w|sh)ould|you|he|she|it|we|they|I</token>
                    <token min="0" regexp="yes">n't|not</token>
                    <marker>
                        <token regexp="yes">(hand|cross|take|pass|carry)overs?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a noun. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)over" regexp_replace=" over" /></suggestion>?</message>
                <example correction="hand over">I will <marker>handover</marker> my work until tomorrow.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">had|have|want(ed)?|has</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes">(hand|cross|take|pass|carry)over</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a noun. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)over" regexp_replace=" over" /></suggestion>?</message>
                <example correction="hand over">He had to <marker>handover</marker> his belongings to the police.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SHUTDOWN" name="shutdown (shut down)">
            <rule>
                <pattern>
                    <token regexp="yes">will|wo|did|do|can|ca|(c|w|sh)ould|you|he|she|it|we|they|I</token>
                    <token min="0">n't</token>
                    <marker>
                        <token regexp="yes">(shut|slow|tear|touch|turn|break|lock|hold|cool|come|melt|look)downs?</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a noun. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)down" regexp_replace=" down" /></suggestion>?</message>
                <example correction="shut down">I will <marker>shutdown</marker> my computer after the update has been installed.</example>
                <example correction="slow downs">It <marker>slowdowns</marker> your browser.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">had|have|want(ed)?|has</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes">(shut|slow|tear|touch|turn|break|lock|hold|cool|come|melt|look)down</token>
                    </marker>
                </pattern>
                <message>The word '\3' is a noun. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)down" regexp_replace=" down" /></suggestion>?</message>
                <example correction="shut down">He had to <marker>shutdown</marker> his computer.</example>
                <example>The economy contracted in 2001 and 2002 due to slowdowns in tourism.</example>
            </rule>
        </rulegroup>
        <rulegroup id="OPEN_OFFICE" name="Open Office (OpenOffice)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">open|star</token>
                        <token>office</token>
                    </marker>
                    <token regexp="yes">doc(uments?)?|download|plugin|installation|calc|draw|presentation|writer|online|impress|portable|alternatives?|(spread)?sheets?|program|software|tool|files?|projects?|templates?|word|formats?|odts?|pdfs?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" case_conversion="startupper" /><match no="2" case_conversion="startupper" /></suggestion> (= software)?</message>
                <example correction="OpenOffice">The <marker>open office</marker> document contains all changes you have requested.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>libre</token>
                        <token>office</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>LibreOffice</suggestion> (= software)?</message>
                <url>https://en.wikipedia.org/wiki/LibreOffice</url>
                <example correction="LibreOffice">The <marker>libre office</marker> document contains all changes you have requested.</example>
            </rule>
        </rulegroup>
        <rule id="MANEGE" name="Manege (manège or manage)">
            <pattern>
                <token regexp="yes">maneges?</token>
            </pattern>
            <message>Did you mean the verb <suggestion><match no="1" regexp_match="nege" regexp_replace="nage" /></suggestion> or the noun <suggestion><match no="1" regexp_match="nege" regexp_replace="nège" /></suggestion> (the art of horsemanship)?</message>
            <example correction="manage|manège">The director was able to <marker>manege</marker> his employees well.</example>
        </rule>
        <rule id="COMPERE" name="Compere (compère or compare)">
            <pattern>
                <token regexp="yes">comper(e|ing|es|ed)?</token>
            </pattern>
            <message>Did you mean the verb <suggestion><match no="1" regexp_match="(?i)per" regexp_replace="par" /></suggestion> or the noun <suggestion><match no="1" regexp_match="per" regexp_replace="pèr" /></suggestion> (master of ceremonies)?</message>
            <example correction="compare|compère">He wanted to <marker>compere</marker> both of them.</example>
        </rule>
        <rule id="MATERIEL" name="Materiel (matériel or material)">
            <pattern>
                <token regexp="yes">materiels?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="riel" regexp_replace="rial" /></suggestion> (= substance) or <suggestion><match no="1" regexp_match="eriel" regexp_replace="ériel" /></suggestion> (= military equipment)?</message>
            <example correction="materials|matériels">I needed more electronic <marker>materiels</marker> to build a fully-functional machine.</example>
        </rule>
        <rule id="BARCA_DIACRITIC" name="Barca or Barça">
            <antipattern>
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1" regexp="yes">surname|cognomen|Hannibal|Hamilcar|Hasdrubal</token>
                <token postag="SENT_END"/>
            </antipattern>
            <pattern>
                <token>
                    <exception regexp="yes">da|la|cognomen|Hannibal|Hamilcar|Hasdrubal</exception>
                </token>
                <marker><token case_sensitive="yes">Barca</token></marker>
            </pattern>
            <message>Did you mean <suggestion>Barça</suggestion> (football club in Barcelona)?</message>
            <example>I know about Ponte da Barca, Hamilcar Barca, Hannibal Barca, and Pedro Calderón de la Barca.</example>
            <example correction="Barça">I know <marker>Barca</marker> beat Real Madrid.</example>
            <example>Barca is the surname of Hannibal.</example>
        </rule>
        <rulegroup id="RE_DO_COMPOUND" name="'re do' spelled as one word">
            <rule>
                <pattern>
                    <token>
                        <exception regexp="yes">&apostrophe;|;</exception>
                    </token>
                    <marker>
                        <token>re</token>
                        <token inflected="yes">do</token>
                    </marker>
                </pattern>
                <message>The phrase '\2 \3' should be written as one word.</message>
                <suggestion>\2\3</suggestion>
                <example correction="redoing">He was <marker>re doing</marker> his homework.</example>
                <example>I can’t believe you’re doing this to me.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TO_DO_HYPHEN" name="missing hyphen in 'to do'">
            <url>https://www.lexico.com/definition/to-do</url>
            <antipattern><!-- https://www.merriam-webster.com/dictionary/well-to-do -->
                <token>well</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>do</token>
                <token regexp="yes">it|this</token>
            </antipattern>
            <antipattern>
                <token>#</token>
                <token spacebefore="no">todo</token>
            </antipattern>
            <antipattern><!-- spanish -->
                <token regexp="yes">bien|que|por|hola|para|en|de</token>
                <token regexp="yes">todos?</token>
            </antipattern>
            <antipattern><!-- spanish -->
                <token regexp="yes">todos?</token>
                <token regexp="yes">con|santos|tus|l[ao]s|por|para|muchos|el|lo|sobre|que|bien|os|va|en|de</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>to</token>
                        <token>do</token>
                    </marker>
                    <token regexp="yes">lists?|items?</token>
                </pattern>
                <message>It appears that a hyphen is missing in the noun <suggestion>\1-\2</suggestion>.</message>
                <example correction="to-do">He was working on finishing the <marker>to do</marker> list.</example>
                <example>It's time to do this again.</example>
                <example>I’m trying to do tasks.</example>
                <example>I wanted to do tasks.</example>
                <example>It was hard to do tasks.</example>
                <example>It allows them to do tasks.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token>do</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|your|our|their|his</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">best|worst|easiest|quickest|hardest</exception>
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>to</token>
                        <token regexp="yes">dos?</token>
                    </marker>
                </pattern>
                <message>This expression is usually spelled with a hyphen.</message>
                <suggestion>\3-\4</suggestion>
                <example correction="to-dos">One of your <marker>to dos</marker> for today is to clean the living room.</example>
                <example correction="to-do">The highest <marker>to do</marker> on my list has almost been accomplished.</example>
                <example>They appointed her to do the task.</example>
                <example>I want her to do the difficult work.</example>
                <example>It was quite right of her to do that.</example>
                <example>She obeys him no matter what he tells her to do.</example>
                <example>You must be a fool to do such a thing.</example>
                <example>I'm giving my best to do that.</example>
                <example>Tom should be the next to do that.</example>
                <example>These are the easiest to do.</example>
            </rule>
            <rule>
                <antipattern>
                    <token case_sensitive="yes">TODO</token>
                </antipattern>
                <antipattern>
                    <token>todo</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">.*[a-z].*</token>
                </antipattern>
                <pattern>
                    <token>todo</token>
                </pattern>
                <message>It appears that a hyphen is missing in the noun <suggestion><match no="1" regexp_match="(?i)(o)(d)" regexp_replace="$1-$2" /></suggestion> (= task) or did you mean the verb <suggestion>to do</suggestion>?</message>
                <example correction="to-do|to do">I have nothing <marker>todo</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>hola</token>
                    <token min="0">a</token>
                    <token>todos</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">TODOS</token>
                </antipattern>
                <pattern>
                    <token>todos</token>
                </pattern>
                <message>It appears that a hyphen is missing in the plural noun <suggestion>to-dos</suggestion>?</message>
                <example correction="to-dos">I have plenty of <marker>todos</marker> on my plate.</example>
                <example>Hola todos!</example>
            </rule>
            <rule>
                <antipattern>
                    <token case_sensitive="yes">DOS</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <token>dos</token>
                </pattern>
                <message>It appears that a hyphen is missing in the plural noun <suggestion>\1-\2</suggestion>.</message>
                <example correction="to-dos">I have plenty of <marker>to dos</marker> on my plate.</example>
                <example>Prior to DOS 5, the Basic interpreter was GW-Basic.</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token>do</token>
                    <token>'s</token>
                </pattern>
                <message>It appears that a hyphen is missing: <suggestion>\1-\2\3</suggestion>. Remove the possessive apostrophe if you mean the plural term: <suggestion>\1-\2<match no="3" regexp_match="'" regexp_replace=""/></suggestion>.</message>
                <example correction="to-do's|to-dos">Many of the <marker>to do's</marker> comments were explaining the issue.</example>
                <example correction="TO-DO's|TO-DOs" >list of <marker>TO DO's</marker> from the meeting</example>
            </rule>
        </rulegroup>
        <rulegroup id="DO_IT_YOURSELF_HYPHEN" name="missing hyphen in 'do it yourself'">
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|y?our|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>do</token>
                        <token>it</token>
                        <token regexp="yes">yourself(er)?</token>
                    </marker>
                </pattern>
                <message>It appears that hyphens are missing.</message>
                <suggestion>\3-\4-\5</suggestion>
                <example correction="do-it-yourself">I read the <marker>do it yourself</marker>.</example>
                <example>You wanted to do it yourself.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>do</token>
                        <token>it</token>
                        <token>yourself</token>
                    </marker>
                    <token regexp="yes">projects?|videos?|repairs?|auto|pest|car|books?|guides?|tutorials?|crafts?|costumes?|divorces?|engineering|electronics|electric|furnitures?|fences?|gifts?|homes?|hardwares?|halloween|inventions?|invitations?|garden|ideas?|kitchens?|laundry|magazines?|mouse|nails?|arts?|outdoor|plumbing|solar|spray|stores?|windows?|wedding</token>
                </pattern>
                <message>It appears that hyphens are missing.</message>
                <suggestion>\1-\2-\3</suggestion>
                <example correction="Do-It-Yourself">Let's get inspired by watching <marker>Do It Yourself</marker> videos.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SIMPLE_TO_USE_HYPHEN" name="missing hyphen in 'simple to use'">
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|y?our</token>
                    <marker>
                        <token regexp="yes">simple|easy|hard</token>
                        <token>to</token>
                        <token regexp="yes">use|read|follow|make|draw|understand|wear|reach|access</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that two hyphens are missing.</message>
                <suggestion>\2-\3-\4</suggestion>
                <example>The computer is simple to use.</example>
                <example>It's simple to use.</example>
                <example>It's easy to make friends.</example>
                <example correction="simple-to-use">The Mac is a <marker>simple to use</marker> computer.</example>
                <example correction="easy-to-use">There are many ways to eat at McDonald's, for example their <marker>easy to use</marker> drive-in.</example>
                <example correction="easy-to-understand">Chris prepared an <marker>easy to understand</marker> tutorial.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|y?our</token>
                    <marker>
                        <token regexp="yes">simple|easy|hard</token>
                        <token>to</token>
                        <token regexp="yes">use|read|follow|make|draw|understand|wear|reach|access</token>
                    </marker>
                    <token regexp="yes">and|,</token>
                    <token postag="JJ"/>
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>It appears that two hyphens are missing.</message>
                <suggestion>\2-\3-\4</suggestion>
                <example correction="easy-to-use">An <marker>easy to use</marker>, friendly interface makes proofreading a pleasure.</example>
            </rule>
        </rulegroup>
        <rule id="CALL_TO_ACTION_HYPHEN" name="missing hyphen in 'call to action'">
            <pattern>
                <marker>
                    <token>call</token>
                    <token>to</token>
                    <token>action</token>
                </marker>
                <token regexp="yes">buttons?|links?|strateg(y|ies)|marketing|overlays?|ads?|e?mail</token>
            </pattern>
            <message>It appears that two hyphens are missing.</message>
            <suggestion>\1-\2-\3</suggestion>
            <example>His call to action didn't reach anyone.</example>
            <example correction="call-to-action">The <marker>call to action</marker> button at the end of the newsletter is crucial for generating new leads.</example>
        </rule>
        <rulegroup id="WRITE_UP_HYPHEN" name="hyphen in 'write up'">
            <antipattern>
                <token regexp="yes">number|no|nr</token>
                <token min="0">.</token>
                <token regexp="yes">two|three|four|five|six|seven|eight|nine|ten|[2-9]|1[0-9]</token>
                <token>write</token>
            </antipattern>
            <antipattern>
                <token>let</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>her</token>
                <token>write</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">many|two|three|four|five|six|seven|eight|nine|ten|[2-9]|1[0-9]</token>
                <token>write</token>
                <token regexp="yes">.+[^s]</token>
            </antipattern>
            <antipattern>
                <token>few</token>
                <token>write</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|their|y?our|its|'s|many|two|three|four|five|six|seven|eight|nine|ten|[2-9]|1[0-9]|this|another</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>write</token>
                        <token regexp="yes">(up|in|off|down)s?</token>
                    </marker>
                </pattern>
                <message>It appears that a hyphen is missing in this noun.</message>
                <suggestion>\3-\4</suggestion>
                <example correction="write-down">If the market value recovers by year-end, the <marker>write down</marker> (provision) should be reversed either by reversing the expense itself or creating an income or a revenue.</example>
                <example correction="write-up">Finally, every program should have a <marker>write up</marker>.</example>
                <example correction="write-up">This <marker>write up</marker> is for this device.</example>
                <example>He wanted to <marker>write down</marker> his thoughts.</example>
                <example>Let's write in turns.</example>
                <example>Let's make her write down something.</example>
                <example correction="write-ups">I created 2 new <marker>write ups</marker> for school.</example>
                <example>Only a few write down their notes.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|JJ.*|DT|IN|CD" postag_regexp="yes" />
                    <marker>
                        <token>write</token>
                        <token regexp="yes">(up|in|off)s?</token>
                    </marker>
                    <token regexp="yes">for|on|of|about|by</token>
                </pattern>
                <message>It appears that a hyphen is missing in this noun.</message>
                <suggestion>\2-\3</suggestion>
                <example correction="write-ups">A list of <marker>write ups</marker> about football.</example>
                <example>Please write down for @DamnedScholar about the result, in your next post.</example>
                <example>Write down on each chart what the indicators are saying and what price patterns have formed.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THOUGH_THOUGHT" name="confusion of though/thought">
            <short>Possible typo</short>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token postag="RB" min="0" />
                    <token>though</token>
                </antipattern>
                <antipattern>
                    <token>even</token>
                    <token>though</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                    <token>though</token>
                </antipattern>
                <antipattern>
                    <token>even</token>
                    <token>though</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">he|she|it|you|they|we|I</token>
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>though</token>
                    </marker>
                    <token postag="PRP.*|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>thought</suggestion>?</message>
                <example correction="thought">I <marker>though</marker> of you.</example>
                <example>They thought of something easy to accomplish.</example>
                <example>I do enjoy spending time with you even though at times it is tough and our conversations are hard right now.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>though</token>
                    </marker>
                    <token regexp="yes">of|for|in|about|to|t?here</token>
                </pattern>
                <message>Did you mean the verb <suggestion>thought</suggestion>?</message>
                <example correction="thought">I <marker>though</marker> of you.</example>
                <example>They <marker>thought</marker> of something else.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>this</token>
                    <token>time</token>
                    <token>though</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>For</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="DT|PRP.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" min="1" max="3">
                        <exception postag="RB|JJS?" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>though</token>
                    </marker>
                    <token postag="PRP.*|IN" postag_regexp="yes" />
                    <token>
                        <exception regexp="yes">was|were</exception>
                    </token>
                </pattern>
                <message>Did you mean the verb <suggestion>thought</suggestion>?</message>
                <example correction="thought">A Google employee <marker>though</marker> he could hack the system.</example>
                <example correction="thought">Peter <marker>though</marker> he could win the lottery.</example>
                <example correction="thought">My father <marker>though</marker> he is the best father in the world.</example>
                <example correction="thought">Peter <marker>though</marker> of his beloved ones.</example>
                <example>Mark <marker>thought</marker> of a better job.</example>
                <example>Egotist <marker>though</marker> he was, his parents loved him.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">which|[wt]hat|who|when</token>
                    <token postag="NNP|PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>though</token>
                    </marker>
                    <token regexp="yes" inflected="yes">be|do|have|make|go|want|need|tell|will|can|should</token>
                </pattern>
                <message>Did you mean the verb <suggestion>thought</suggestion>?</message>
                <example correction="thought">They were removing content that they <marker>though</marker> was inciting violence.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" />
                    <token chunk_re="B-NP.*" />
                    <token chunk_re="E-NP.*" />
                    <token>though</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" chunk_re=".-VP" />
                    <token>though</token>
                </antipattern>
                <pattern>
                    <token chunk_re="E-NP.*">
                        <exception postag="RB|V.*" postag_regexp="yes" />
                        <exception>(</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                        <exception>here</exception>
                    </token>
                    <marker>
                        <token>though</token>
                    </marker>
                    <token>that</token>
                </pattern>
                <message>Did you mean to write the verb 'thought' instead of 'though'?</message>
                <suggestion>thought</suggestion>
                <example correction="thought">At first I <marker>though</marker> that we should focus on customers who want to diversify their unique risks.</example>
                <example correction="thought">I <marker>though</marker> that he wasn't attending.</example>
                <example>It did have some useful driving tips in it though that I still remember.</example>
                <example>Concerned though that:</example>
                <example>Most likely though that tool will interact with our APIs.</example>
                <example>Good point though that this could be a problem if KM has the youtube-dl substitution tokens as KM variables.</example>
                <example>(Though that's only one way to do what you are possibly think of doing…).</example>
            </rule>
        </rulegroup>
        <rule id="MAN_MADE" name="hyphen in 'man made'">
            <pattern>
                <marker>
                    <token regexp="yes">(wo)?man</token>
                    <token>made</token>
                </marker>
                <token min="0">natural</token>
                <token regexp="yes">islands?|fibres?|disasters?|crisis|diamonds?|diseases?|damages?|freshwater|meadows?|earthquakes?|eggs?|elements?|forests?|fruits?|lakes?|beach(es)?|resources?|attractions?|jewels|jewelr(y|ies)|jungle|products?|nature|clouds?|honey?|hybrids?|hazards?|hurricanes?|animals?|galler(y|ies)|granite|greenhouse|materials?|monsters?|mountains?|noise?|objects?|pollution|rivers?|rain|rocks|radiation|risks?|structures?|storms?|snow|satellites?|sources?|tsunamis?|tourist|textiles?|tornados?|vegetables?|virus(es)?|waterfalls?|wood|wonders|water|zoo|events?</token>
            </pattern>
            <message>It appears that a hyphen is missing in this modifier.</message>
            <suggestion><match no="1" />-<match no="2" /></suggestion>
            <example correction="man-made">A <marker>man made</marker> island.</example>
            <example correction="man-made">The <marker>man made</marker> natural diseases are spreading.</example>
            <example>The <marker>man-made</marker> beach attracts a lot of tourists.</example>
        </rule>
        <rule id="OPERATION_SYSTEM" name="operation (operating) system">
            <pattern>
                <token>operation</token>
                <token regexp="yes">systems?|income|margins?|cash|profits?|expenses?</token>
            </pattern>
            <message>The word 'operation' doesn't fit in this context.</message>
            <suggestion>operating <match no="2" /></suggestion>
            <example correction='operating system'>The Windows <marker>operation system</marker> was invented by Bill Gates.</example>
            <example>The <marker>operating system</marker> has a Linux kernel.</example>
        </rule>
        <rule id="HOVER_BOARD" name="hover board (hoverboard)">
            <pattern>
                <token>hover</token>
                <token regexp="yes">boards?</token>
            </pattern>
            <message>The word 'hoverboard' is written as one word.</message>
            <suggestion><match no="1" /><match no="2" /></suggestion>
            <example correction='Hoverboards'><marker>Hover boards</marker> are mainly used by millenials.</example>
        </rule>
        <rule id="AREA_51" name="area 51 (Area 51)">
            <pattern>
                <token case_sensitive="yes">area</token>
                <token>51</token>
            </pattern>
            <message>The word '\1 \2' is a proper noun and needs to be capitalized.</message>
            <suggestion>Area 51</suggestion>
            <example correction="Area 51">They say that aliens are being held at <marker>area 51</marker>.</example>
            <example>Alien enthusiasts are descending on <marker>Area 51</marker> following a viral Facebook event.</example>
        </rule>
        <rule id="YA_LL" name="Ya'll (Y'all)">
            <pattern>
                <token>ya</token>
                <token>'ll</token>
            </pattern>
            <message>Did you mean <suggestion>y'all</suggestion>?</message>
            <suggestion>you all</suggestion>
            <suggestion>all of you</suggestion>
            <example correction="Y'all|You all|All of you"><marker>Ya'll</marker> don't know what I'm talking about.</example>
        </rule>
        <rule id="BE_FINED_WITH" name="be fined with (be fine with)">
            <pattern>
                <token inflected="yes">be</token>
                <marker>
                    <token>fined</token>
                </marker>
                <token>with</token>
            </pattern>
            <message>Did you mean <suggestion>fine</suggestion>?</message>
            <example correction="fine">I'm <marker>fined</marker> with that.</example>
        </rule>
        <rule id="VERY_THANKS_THANKS_A_LOT" name="very thanks (thanks a lot)">
            <pattern>
                <token>very</token>
                <token>thanks</token>
            </pattern>
            <message>Did you mean <suggestion>thanks a lot</suggestion> or <suggestion>many thanks</suggestion>?</message>
            <short>Non-standard phrase</short>
            <example correction="Thanks a lot|Many thanks"><marker>Very thanks</marker>!</example>
        </rule>
        <rulegroup id="BETWEEN_PRP" name="between he and… (between him and…)">
            <rule>
                <pattern>
                    <marker>
                        <token>between</token>
                        <token>he</token>
                    </marker>
                    <token>and</token>
                </pattern>
                <message>Incorrect form of the pronoun 'he'.</message>
                <suggestion>\1 him</suggestion>
                <short>Incorrect pronoun</short>
                <example correction="between him">His opposition to homosexuality causes tension <marker>between he</marker> and his gay roommate, Davis.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>between</token>
                        <token>I</token>
                    </marker>
                    <token>and</token>
                </pattern>
                <message>Incorrect form of the pronoun 'I'.</message>
                <suggestion>\1 me</suggestion>
                <short>Incorrect pronoun</short>
                <example>His opposition to homosexuality causes tension <marker>between me</marker> and Davis.</example>
                <example correction="between me">His opposition to homosexuality causes tension <marker>between I</marker> and Davis.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>between</token>
                        <token>they</token>
                    </marker>
                    <token>and</token>
                </pattern>
                <message>Incorrect form of the pronoun '\2'.</message>
                <suggestion>\1 them</suggestion><suggestion>\1 them</suggestion>
                <short>Incorrect pronoun</short>
                <example>His opposition to homosexuality causes tension <marker>between them</marker> and Davis.</example>
                <example correction="between them">His opposition to homosexuality causes tension <marker>between they</marker> and Davis.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>between</token>
                        <token>she</token>
                    </marker>
                    <token>and</token>
                </pattern>
                <message>Incorrect form of the pronoun '\2'.</message>
                <suggestion>\1 her</suggestion>
                <short>Incorrect pronoun</short>
                <example>His opposition to homosexuality causes tension <marker>between her</marker> and Davis.</example>
                <example correction="between her">His opposition to homosexuality causes tension <marker>between she</marker> and Davis.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_WHO" name="Preposition + who (whom)">
            <url>https://www.grammar-monster.com/lessons/who_whom.htm</url>
            <rule>
                <pattern>
                    <token postag="IN"><exception regexp="yes">out|like|ago</exception>
                        <exception scope="previous" regexp="yes">regardless|as</exception>
                        <exception scope="previous" postag="SENT_START"/>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]ho</token>
                    </marker>
                    <token>
                        <exception postag="PRP\$?|VB[ZDP]?|MD|RB|NN.*|IN|CC|WP" postag_regexp="yes"/>
                        <exception regexp="yes">['“"]|are|else|(?u)\p{Lu}\p{Ll}+|\/</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>whom</suggestion>?</message>
                <short>Possible typo</short>
                <example>To whom do I send my transcripts?</example>
                <example correction="whom">Who was with <marker>who</marker>?</example>
                <example>I will give you a quick synopsis of who Sam is.</example>
                <example>If you figure out who, let me know.</example>
                <example>I can't think of who else.</example>
                <example>Fear of further spread of COVID-19 has led to international travel bans, despite WHO advising against the application of any inappropriate actions.</example>
                <example correction="whom">The people to <marker>who</marker> the funds were supposedly directed benefited little from them.</example>
                <example>This would not happen if there weren't executives in corporate industries like the ones you entrusted your company to who try to take rather than give and earn from it.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="IN" regexp="yes">[A-Z].+<exception regexp="yes">Out|Like|Ago|For</exception></token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]ho</token>
                    </marker>
                    <token postag="VB.|MD" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>whom</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="whom">To <marker>who</marker> do I send my transcripts?</example>
                <example correction="whom">Against <marker>who</marker> did you protest?</example>
                <example>For who can be certain that suicide is not just one particular doorway to death - death being in and of itself irrefutably natural?</example>
            </rule>
        </rulegroup>
        <rule id="IF_WOULD_HAVE_VBN" name="if I would have (if I had)">
            <antipattern>
                <token>know</token>
                <token>if</token>
                <token regexp="yes">I|you|we|they|s?he|it</token>
                <token>would</token>
                <token>have</token>
                <token postag="VBN"/>
            </antipattern>
            <pattern>
                <token skip="5">if
                    <exception scope="next" regexp="yes">had|could</exception>
                    <exception scope="next" postag="VBD"/>
                    <exception scope="previous" postag_regexp="yes" postag="VB.*" inflected="yes">wonder</exception>
                    </token>
                <marker>
                    <token>would</token>
                    <token>have</token>
                    <token postag="VBN"/>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>had \4</suggestion>?</message>
            <short>Grammatical mistake</short>
            <example correction="had known">If I <marker>would have known</marker> about the party, I would have gone to it.</example>
            <example>If I were you, I would have done the same thing.</example>
            <example>And if looks could kill, Wally would have been dead.</example>
            <example>I don't know if he would have done it for me.</example><!-- In formal text, use 'whether' not 'if', but that is a different problem. -->
            <example>Jane doesn't know if she would have gone to the party, even if she had known about it.</example>
            <example>I’m wondering if fatter tires would have helped on this occasion.</example><!-- #2253 -->
        </rule>
        <rulegroup id="FEWER_LESS" name="fewer with countable nouns (less)">
            <url>https://www.lexico.com/grammar/less-or-fewer</url>
            <rule>
                <pattern>
                    <token postag="CD"/>
                    <token postag="NNS"><exception regexp="yes">centuries|decades|years|months|days|hours|minutes|seconds|stars</exception></token>
                    <token>or</token>
                    <marker>
                        <token>less</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>fewer</suggestion>? The noun \2 is countable.</message>
                <short>Grammatical error</short>
                <example correction="fewer">Ten items or <marker>less</marker></example>
                <example>It typically takes 30 seconds or <marker>less</marker></example>
                <example>I would only give that hotel 3 stars or <marker>less</marker>.</example>
            </rule>
            <rule>
                <antipattern><!-- www.lexico.com/en/definition/more_or_less -->
                    <token>more</token>
                    <token>or</token>
                    <token>less</token>
                </antipattern>
                <antipattern><!-- Revenue less expenses  (missing hyphen) -->
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token>less</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="JJR|RBR" postag_regexp="yes">less<exception scope="previous" regexp="yes">\d+%</exception></token>
                    </marker>
                    <!--
                    Causes false alarms like: "Less dramatic improvements are possible"
                    <token min="0" postag="JJ"/>
                    -->
                    <token postag="NNS"><exception postag="JJ"/><exception regexp="yes">brains|taxes|resources</exception></token>
                </pattern>
                <message>Did you mean <suggestion>fewer</suggestion>? The noun \2 is countable.</message>
                <short>Grammatical error</short>
                <example correction="fewer">He has <marker>less</marker> items</example>
                <!--<example correction="fewer">He has <marker>less</marker> large items</example>-->
                <example>He has fewer items.</example>
                <example>He has fewer large items.</example>
                <example>Present-day students are more or less religious.</example>
                <example>These are more or less plants.</example>
                <example>85% less bananas</example>
                <example>What the country needs is less taxes rather than more expenses.</example>
                <example>Revenue less expenses</example>
                <example>Everyone more or less likes showing off in public.</example>
                <example>There are more or less the same number of items in each of the boxes.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOES_YOU" name="does (do) I/you/we/they">
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>does</token>
                    </marker>
                    <token regexp="yes">I|you|we|they</token>
                </pattern>
                <message>Did you mean <suggestion>do</suggestion>? 'does' is only used for the third person singular (he/she/it).</message>
                <example correction="Do"><marker>Does</marker> you have your glasses?</example>
                <example>Smoking does you harm.</example>
                <example correction="Do"><marker>Does</marker> I have to go there?</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="VBG"/></token>
                    <marker>
                        <token>does</token>
                    </marker>
                    <token regexp="yes">I|you|we|they</token>
                </pattern>
                <message>Did you mean <suggestion>do</suggestion>? 'does' is only used for the third person singular (he/she/it).</message>
                <example correction="Do">But <marker>Does</marker> you have your glasses?</example>
                <example>But do you have your glasses?</example>
                <example>Smoking does you harm.</example>
                <example>But Smoking does you harm.</example>
                <example correction="do">But  <marker>does</marker> I have to go there?</example>
                <example>But do I have to go there?</example>
            </rule>
        </rulegroup>
        <rule id="DO_VBZ" name="do you sings (sing)">
            <pattern>
                <token postag="SENT_START"/>
                <token min="0" regexp="yes">wh(at|ere)</token>
                <token regexp="yes">Do(es)?|did</token>
                <token postag="P?RP|NN.*" postag_regexp="yes"/>
                <marker>
                    <token postag="VB[DZ]" postag_regexp="yes">
                        <exception regexp="yes">kids|guys</exception>
                        <exception postag="VB"/>
                    </token>
                </marker>
            </pattern>
            <message>After the auxiliary verb 'do', use the base form of the main verb. Did you mean <suggestion><match no="5" postag="VB"/></suggestion>?</message>
            <url>https://www.learnenglish.de/grammar/verbtodo.html</url>
            <example correction="try">Do you <marker>tried</marker> this?</example>
            <example correction="mean">What does manipulations <marker>means</marker>?</example>
            <example>Does it <marker>hurt</marker>?</example>
            <example>Do all <marker>plants</marker> carry out photosynthesis?</example>
            <example>Will Durant wrote an article.</example>
        </rule>
        <rule id="DO_VBZ_AMBIGUOUS_VERB" name="do you found (find)">
        <!-- See also DID_FOUND_AMBIGUOUS -->
        <!-- Created by Tiago F. Santos, 2019-09-07 -->
        <!-- https://forum.languagetool.org/t/en-did-you-found-find-it/4694 -->
            <pattern>
                <token postag="SENT_START"/>
                <token min="0" regexp="yes">wh(at|ere)</token>
                <token regexp="yes">Do(es)?|did</token>
                <token postag="P?RP|NN.*" postag_regexp="yes"/>
                <marker>
                    <token regexp="yes">&ambiguous_past_tense_forms;
                      <exception>resent</exception></token>
                </marker>
            </pattern>
            <message>Make sure that the ambiguous verb form '\5' is correct. (It can either be the base form '\5', or the past tense of a different verb.)</message>
            <!-- Did you mean <suggestion><match no="5" postag="VB"/></suggestion> -->
            <url>https://www.learnenglish.de/grammar/verbtodo.html</url>
            <example correction="">Do you <marker>found</marker> the pen?</example>
            <example>Do you find the pen?</example><!-- suggestion mandatorily trigger error and testrule does not accept this -->
            <!-- TODO improve 'testrules' code to allow this-->
        </rule>
        <rulegroup id="MD_BE_NON_VBP" name="could/should/must be does (done)">
            <antipattern><!-- suggestion for "be be" doesn't make sense, also caught by ENGLISH_WORD_REPEAT_RULE-->
                <token>be</token>
                <token>be</token>
            </antipattern>
            <antipattern><!-- #3223 and should be please -->
                <token postag_regexp="yes" postag="CC|PRP"/>
                <token postag="MD"/>
                <token>be</token>
                <token chunk="I-VP">please</token>
                <token chunk="I-VP" postag_regexp="yes" postag="VBP?|RB"/>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD"/>
                    <marker>
                        <token>be</token>
                        <token>have</token>
                    </marker>
                </pattern>
                <message>Consider using only <suggestion>\3</suggestion> or the present participle <suggestion>\2 <match no="3" postag="VBG"/></suggestion>.</message>
                <example correction="have|be having">He will <marker>be have</marker> a party tonight.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD"/>
                    <marker>
                        <token>be</token>
                        <token postag="VB[PZ]?" postag_regexp="yes">
                            <exception postag_regexp="yes" postag="VB[GN]|JJ[RS]?|UH|IN|RP|NN.*" regexp="yes">(?!tests?$).+</exception>
                            <exception regexp="yes">is|was</exception>
                        </token>
                    </marker>
                </pattern>
                <message>There may an error in the verb form '\2 \3'.</message>
                <suggestion>be <match no="3" postag="VBN"/></suggestion>
                <suggestion>be <match no="3" postag="VBG"/></suggestion>
                <suggestion><match no="3" postag="VB"/></suggestion>
                <suggestion>be to <match no="3" postag="VB"/></suggestion>
                <example correction="be replaced|be replacing|replace|be to replace">This part must <marker>be replaces</marker> with caution.</example>
                <example correction="be assumed|be assuming|assume|be to assume">Founder Flint O'Brien will <marker>be assume</marker> the role of chief technology officer.</example>
                <example correction="be tested|be testing|test|be to test">Not all commits will <marker>be test</marker>.</example>
                <example>You must be kidding!</example>
                <example>If you are not on this list and should be please let me know.</example><!-- #3223 -->
                <example>A hard copy would be much appreciated, but if need be please send via email.</example><!-- #3223 -->
                <example>... but if you think it might be please immediately tell your manager.</example><!-- #3223 -->
            </rule>
        </rulegroup>

        <rule id="DOES_NP_VBZ" name="'does' ... 3rd person verb (base verb)">
            <antipattern>
                <token>does</token>
                <token chunk="B-NP-singular"/>
                <token postag="VB.*" postag_regexp="yes"/>
                <token chunk="E-NP-singular" regexp="yes">\p{L}+</token>
                <token postag="VBZ"/>
            </antipattern>
            <antipattern>
                <token postag="WP"/>
                <token min="0" max="2" postag="RB"/>
                <token>does</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="5">once|if|when|all|that|whether</token>
                <token>does</token>
            </antipattern>
            <antipattern><!-- The way Tom does that seems a little strange to me. -->
                <token>the</token>
                <token>way</token>
                <token postag="NNP" />
                <token>does</token>
                <token regexp="yes">it|that|this</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- Tom always does what Mary wants him to do. -->
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>does</token>
                <token regexp="yes">(which|what)(ever)?</token>
                <token postag="NNP" />
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- Mary does almost anything Tom asks her to do.-->
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>does</token>
                <token postag="RB" min="0" />
                <token regexp="yes">(every|any)thing</token>
                <token postag="NNP" />
                <token postag="VBZ" />
            </antipattern>
            <pattern>
                <token>does</token>
                <token chunk="B-NP-singular" min="0"/>
                <token chunk="I-NP-singular" min="0"/>
                <token chunk="E-NP-singular" regexp="yes">\p{L}+</token>
                <marker>
                    <token postag="VBZ">
                        <exception regexp="yes">is|does|'s</exception>
                    </token>
                </marker>
            </pattern>
            <message>Typo. Did you mean <suggestion><match no="5" postag="VB"/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="grow">Does your memory usage <marker>grows</marker> during processing?</example>
            <example correction="grow">Does memory usage <marker>grows</marker> during processing?</example>
            <example correction="affect">Can you tell me how does each increase <marker>affects</marker> the test.</example><!-- MFU 2019-12-21: Also missing question mark that is not found by other rules. -->
            <example correction="know">Does anyone <marker>knows</marker>?</example>
            <example correction="work">How does the battery monitor <marker>works</marker>?</example>
            <example>Does your memory usage <marker>grow</marker> during processing?</example>
            <example>Whoever does the new test is really smart.</example>
            <example>The way Tom does that seems a little strange to me.</example>
            <example>Mary does whatever Tom tells her to do.</example>
            <example>Tom always does what Mary wants him to do.</example>
            <example>Mary never does anything Tom asks her to do.</example>
            <example>Whether Tom does that or Mary does that doesn't matter.</example>
            <example>All Amgas does today is administer our sales function.</example>
            <example>In this demonstration, the person who actually does this interesting work shows you how the...</example>
            <example>The device that does the signal processing samples the data at ...</example><!-- Chunker error (processing/B-VP), so the pattern cannot cause a false positive. -->
            <example>We know that whatever does each memory test slows the processing considerably.</example>
            <example>But manufacturers know the wait — required because it takes additional studies of thousands of people to tell if a vaccine truly protects and does no harm — is hard for a frightened public.</example><!-- Premium #1076 -->
            <example>Does Tom think Mary is a good driver?</example>
            <example>If she does it is after they have been in there for days.</example>
            <example>Mary does almost anything Tom asks her to do.</example>
            <example>Just because everyone else does it doesn’t mean T-Nation has to.</example>
            <example>Mary does whatever she's asked to do.</example>
        </rule>

        <rule id="WHAT_VBZ" name="3rd person verb (base verb) after what/who">
            <antipattern>
                <token postag="SENT_START"></token>
                <token>What</token>
                <token postag="NN.*" postag_regexp="yes"></token>
                <token regexp="yes">for|of</token>
            </antipattern>
            <antipattern><!-- missing hyphenation to be found by other rule -->
                <token>up</token>
                <token>and</token>
                <token>coming</token>
            </antipattern>
            <antipattern><!-- Who better to know how the business runs than him? -->
                <token regexp="yes">whom?</token>
                <token postag="JJ[RS]" postag_regexp="yes"/>
                <token>to</token>
                <token postag="VBP?" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- What people like least is not knowing -->
                <token>what</token>
                <token regexp="yes">&uncommon_verbs;|spot</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START"></token>
                <token regexp="yes">Wh(at|o)</token>
                <marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="VB[ZD]" postag_regexp="yes"/>
                        <exception>out</exception>
                    </token>
                </marker>
                <token postag="IN"/>
            </pattern>
            <message>After '\2', use the third-person verb form <suggestion><match no="3" postag="VBZ"/></suggestion>.</message>
            <short>Possible agreement error</short>
            <example correction="wants">Who <marker>want</marker> to go to the mall?</example>
            <example correction="happens">What <marker>happen</marker> in Vegas, stays in Vegas.</example>
            <example>What make of computer do you use?</example>
            <example>What are up and coming industries or fields in the Bay Area job market?</example>
            <example>Who better to know how the business runs than those who have run the business?</example>
            <example>What fell on me?</example>
            <example>Who out of your friends will come?</example>
            <example>What people like even less is the sense that the rules can change.</example>
            <example>What spot on earth or sea is left?</example>
            <example>What page in what application?</example>
            <example>What evidence do you have to support this?</example>
            <example>What version are you trying to install?</example>
            <example>What bundle to purchase?</example>
        </rule>

        <rule id="IT_VBZ" name="'it' + non-3rd person verb">
            <antipattern>
                <token postag_regexp="yes" postag="VBP?"/>
                <token>n't</token>
            </antipattern>
            <antipattern>
                <token>buy</token>
                <token>it</token>
                <token>now</token>
                <token regexp="yes">buttons?|links?|teasers?|ctas?</token>
            </antipattern>
            <antipattern>
                <token>it</token>
                <token min="0" max="1" postag="RB"/>
                <token regexp="yes">second|first</token>
                <token>hand</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token>do</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" postag="VB.*|RB|UNKNOWN" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">hope|think|doubt|assume|believe|say</exception>
                </token>
                <token>it</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">hope|think|doubt|assume|believe</exception>
                </token>
                <token>it</token>
                <token postag="RB" min="0" />
                <token postag="JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Something that help it run fast. -->
                <token>that</token>
                <token postag="RB" min="0" />
                <token postag="VB.*" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">hope|think|doubt|assume|believe</exception>
                </token>
                <token>it</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>pretty</token>
                <token>much</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token>it</token>
                <token postag_regexp="yes" postag="VBD|R[BP]|IN|JJR?"/>
            </antipattern>
            <antipattern><!-- lights went off and it became dark -->
                <token postag="VBD"/>
                <token min="0" max="1" postag="RP"/>
                <token postag="CC"/>
                <token>it</token>
            </antipattern>
            <antipattern><!-- #1802: it piece by piece -->
                <token>it</token>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token>by</token>
                <token><match no="1"/></token>
            </antipattern>
            <antipattern><!-- Negated modal: www.lexico.com/en/definition/need-->
                <token>it</token>
                <token>need</token>
                <token>not</token>
            </antipattern>
            <antipattern><!-- #2124 do it after school -->
                <token inflected="yes">do</token>
                <token>it</token>
                <token postag="IN"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
            </antipattern>
            <antipattern><!-- #2154 let's -->
                <token>let</token>
                <token>'s</token>
            </antipattern>
            <antipattern><!-- #2154 doing it slightly rough -->
                <token postag="VBG"/>
                <token>it</token>
                <token postag="RB"/>
                <token postag="JJ"/>
            </antipattern>
            <antipattern><!-- #2154 www.lexico.com/en/definition/in_(or_out_of)_sync -->
                <token>in</token>
                <token>sync</token>
            </antipattern>
            <antipattern><!-- #2507 www.lexico.com/definition/in_general -->
                <token>in</token>
                <token>general</token>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- #2507 -->
                <token>in</token>
                <token postag="SENT_END">general</token>
            </antipattern>
            <antipattern><!-- They are making it before March 15 -->
                <token postag="VB.*" postag_regexp="yes" />
                <token>it</token>
                <token postag="IN"/>
                <token postag="NN.*|JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- different error -->
                <token>it</token>
                <token postag="RB" min="0" />
                <token>inter</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token>it</token>
                <token>please</token>
            </antipattern>
            <antipattern><!-- He simply stated it there are no rules -->
                <token postag="IN|VB.*" postag_regexp="yes" />
                <token>it</token>
                <token>there</token>
                <token regexp="yes">are|were|have</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes" spacebefore="no">[ds]</token>
                <token>it</token>
            </antipattern>
            <antipattern><!-- it face was (different error) ... -->
                <token>it</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">was|is</token>
            </antipattern>
            <antipattern><!-- Premium #1795 fairer we it deem -->
                <token postag_regexp="yes" postag="JJR?"/>
                <token regexp="yes">I|you|we|they</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>close</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>perfect</token>
                <token>for</token>
            </antipattern>
            <antipattern>
                <token>jump</token>
                <token regexp="yes">start(s|ed)</token>
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>time</token>
                <token regexp="yes">for|to</token>
            </antipattern>
            <antipattern>
                <token>dos</token>
                <token>it</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>over</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">us|me</token>
                <token>it</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token>worth</token>
                <token>it</token>
            </antipattern>
            <antipattern><!-- how'd it go? -->
                <token regexp="yes">'[ds]</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">do|does|did|dose|dose?nt?|has|have|had|[cw]ouldnt|shouldnt|wont|cant</token>
                <token>it</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>it</token>
                <token regexp="yes">too|not|so|very</token>
                <token postag="JJR?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>Use</token>
                <token>IT</token>
                <token>Act</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token postag="VBG" />
                <token>it</token>
                <token regexp="yes">are|were</token>
                <token chunk="B-NP-plural" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token postag="VBG" />
                <token>it</token>
                <token regexp="yes">are|were</token>
                <token regexp="yes">countless|many|numerous|several|some</token>
            </antipattern>
            <pattern>
                <!-- n't': from "doesn't" etc -->
                <token>
                    <exception regexp="yes">can|could|must|might|shall|does|will|'ll|would|should|may|n't|did|be|is|were|was|that|about|of|lest|whether|surrounding|had</exception>
                    <exception regexp="yes" inflected="yes">hear|feel|see|insist|call|claim|make|let</exception>
                    <exception postag="IN"/>
                </token>
                <token regexp="yes" case_sensitive="yes">[Ii]t</token>
                <token min="0" max="1" postag="RB">
                    <exception>as</exception>
                    <exception postag="IN" />
                </token>
                <marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag_regexp="yes" postag="VB[DZ]|R[BP]|IN" regexp="yes">(?!(please|close)$).+</exception><!-- please is RB but also a common verb -->
                        <exception>true</exception><!-- see rule CANT -->
                        <exception regexp="yes">will|can</exception>
                        <exception regexp="yes">'[a-z]{1,2}|okay|ok|wrong|perfect|fancy|cant|bloody|appropriate|&uncommon_verbs;</exception><!-- caught by PRP_JJ -->
                        <exception case_sensitive="yes" regexp="yes">Bob|Harry|Matt|Jack|Carol</exception><!-- names that are verbs -->
                    </token>
                </marker>
            </pattern>
            <message>After '\2', use the third-person verb form <suggestion><match no="4" postag="VBZ"/></suggestion>.</message>
            <short>Possible agreement error</short>
            <example correction="supports">It <marker>support</marker> transparency.</example>
            <example correction="matters">It only <marker>matter</marker> to me.</example>
            <example correction="keeps">I think it's a good thing because it <marker>keep</marker> us on our toes.</example>
            <example correction="becomes">The lights suddenly went out and it <marker>become</marker> dark.</example><!-- The suggestion is not correct; it should be 'became'. -->
            <example correction="works">I had to unpair it and re-pair it and it <marker>work</marker>…</example>
            <example correction="runs">I really hope it <marker>run</marker>.</example>
            <example correction="pleases">if it <marker>please</marker> you otherwise, tell me that also.</example>
            <example correction="goes">I think it <marker>go</marker> crazy.</example>
            <example correction="works">I hope it <marker>work</marker> good.</example>
            <example correction="tells">Tom thought it <marker>tell</marker> the truth.</example>
            <example correction="wins">They are hoping it <marker>win</marker> these competitions.</example>
            <example correction="helps">I assume it <marker>help</marker></example>
            <example correction="exists">I assume it still <marker>exist</marker>.</example>
            <example correction="makes">For me it <marker>make</marker> sense for them to do that before the feature was incorporated in the making of V2.</example>
            <example correction="believes">RealTimeTraders.com obtains data from sources it <marker>believe</marker> to be reliable.</example>
            <example correction="wants">If the company picks and chooses which year it <marker>want</marker> to go, the FPPC regs make the "gift" of the trip from the company, not CFEE.</example>
            <example>Does it <marker>support</marker> transparency?</example>
            <example>Doesn't it <marker>support</marker> transparency?</example>
            <example>The American publisher let it go out of print.</example>
            <example>How did it come about?</example>
            <example>So, send me it please.</example>
            <example>I'll say it clear, ...</example>
            <example>How do it contact you to do this?</example>
            <example>I took my umbrella lest it rain.</example>
            <example>He immediately wrote it down.</example>
            <example>Wi-Fi doesn’t interfere with Z wave, and it sometimes can with zigbee.</example>
            <example>Is it right?</example>
            <example>I heard it thunder in the distance.</example>
            <example>How'd it go with Tom last night?</example>
            <example>Do it well.</example>
            <example>All my doubts about it have been driven away.</example>
            <example>It fell without resistance to Union forces under Brig.</example>
            <example>You may take this book as long as you keep it clean.</example>
            <example>Embrace life whether it be a moment or, an eternity.</example>
            <example>But he insisted that it be housed in a special museum.</example>
            <example>Many other components beside it determine how much cooling you'll get.</example>
            <example>How had it come to this?</example>
            <example>They find it really cool.</example>
            <example>He could do it even better.</example>
            <example>The details of how to do it have been explained.</example>
            <example>I can have it ready in thirty minutes.</example>
            <example>Cut it <marker>short</marker> all over.</example>
            <example>Don't cut it too <marker>short</marker> in the front.</example>
            <example>You will understand it as <marker>time</marker> passes.</example>
            <example>The lights suddenly went off and it <marker>become</marker> dark.</example>
            <example>Instead of setting it piece by piece, you can...</example><!-- #1802 -->
            <example>I'm not paying to have it continue.</example><!-- #1960 -->
            <example>He had put it right at the beginning.</example>
            <example>He removed it right then.</example>
            <example>This question of Slavery was more important than any other; indeed, so much more important has it become that no other national question can even get a hearing just at present.</example>
            <example>We roast our coffee after you place your order and ship it FREE to you the same day.</example>
            <example>How's it feel now?</example>
            <example>What's it look like to you?</example>
            <example>Push it open.</example>
            <example>They simulate a shell's trajectory by 'flying' it in short steps and applying data about the conditions affecting the trajectory at each step.</example>
            <example>It up front states that we are not asking for a vote to change the governance at the June meeting.</example>
            <example>They confirmed it so will you please do it?</example>
            <example>They say it cant happen.</example><!-- rule CANT will catch this -->
            <example>... to the cheerfully optimistic, and it need not imply anything specific about the writer's...</example>
            <example>Then please do it after school.</example><!-- #2124 -->
            <example>If we don't need it now let's not complicate things.</example><!-- #2154 -->
            <example>He's doing it slightly rough, then.</example><!-- #2154 -->
            <example>He's finding it very rough on the sea.</example><!-- #2154 -->
            <example>He keeps it in sync.</example><!-- #2154 -->
            <example>The buy it now button.</example>
            <example>He mentioned it in paragraph one.</example><!-- #2507 -->
            <example>He noted it in test samples.</example><!-- #2507 -->
            <example>Let's achieve it before bed.</example><!-- #2507 -->
            <example>He asked it in general.</example><!-- #2507 -->
            <example>He asked it in general</example><!-- #2507 -->
            <example>Please order this product by February 15, and we will be able to deliver it before March 15.</example>
            <example>And he has done it before spring break.</example>
            <example>Submit it please</example>
            <example>That’s exactly it Bob, a single latch lock.</example>
            <example>Something that help it run fast.</example>
            <example>The rose looks fair, but fairer we it deem for that sweet odor which does in it live.</example><!-- Premium #1795 -->
            <example type="triggers_error">Si le grain ne meurt – 1926 (translated as If It Die)</example>
            <example>What'll it be, what'll it be, you and me.</example>
            <example>Backing it are some of the world's top oil companies and banks, including BP Amoco Plc.</example>
        </rule>

        <rulegroup id="DID_PAST" name="'did' with past tense verb">
            <rule>
                <antipattern>
                    <token>did</token>
                    <token/>
                    <token postag="JJ" min="0"/>
                    <token/>
                    <token postag="VBD" chunk_re=".-VP" />
                    <token regexp="yes" min="0">'|‘|"|“</token>
                    <token postag="NNP"><exception negate_pos="yes" postag="NNP"/></token>
                </antipattern>
                <antipattern>
                    <token postag="WP"/>
                    <token min="0" max="2" postag="RB"/>
                    <token>did</token>
                </antipattern>
                <antipattern><!-- Chunking error: Did this get resolved at all? -->
                    <token>did</token>
                    <token regexp="yes">that|this|th[oe]se</token>
                    <token>get</token>
                    <token postag="VBD" />
                </antipattern>
                <antipattern><!-- Did getting dropped off a distance away occur to you?  -->
                    <token skip="4">did</token>
                    <token postag="VBD" skip="4" chunk_re=".-VP" />
                    <token postag="IN" skip="4" />
                    <token postag="VBP?" postag_regexp="yes" chunk_re="B-VP" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0" postag="W(RB|P)" postag_regexp="yes"/>
                    <token>did</token>
                    <token chunk_re="B-NP-.*" postag="DT|PRP\$|JJ.*" postag_regexp="yes" min="0"/>
                    <token chunk_re="I-NP-.*" postag="DT|PRP\$|JJ.*|NNP|NN|NN:UN?" postag_regexp="yes" min="0"/>
                    <token chunk_re="E-NP-.*" postag="NN.*" postag_regexp="yes"/>
                    <token postag="RB" min="0">
                        <exception regexp="yes">so|as|then</exception>
                    </token>
                    <marker>
                        <token postag="VBD" skip="-1"><exception postag="VB"/></token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Typo. Did you mean <suggestion><match no="8" postag="VB"/></suggestion>?</message>
                <example correction="work">Did the application <marker>worked</marker>?</example>
                <example correction="work">Did the applications <marker>worked</marker>?</example>
                <example correction="work">Did your new applications <marker>worked</marker>?</example>
                <example correction="call">Did a man <marker>called</marker> when I was out of the office?</example>
                <example correction="have">Did your car ever <marker>had</marker> a recent windshield replacement?</example>
                <example correction="call">Why did a man <marker>called</marker>?</example>
                <example>Did your applications <marker>work</marker>?</example>
                <example>If it were not that I knew who it was I could have mistaken it for my Aunt so well did her clothes fit him.</example>
                <example>Why did a record <marker>called</marker> 'Daffodil' show a poppy?</example>
                <example>Did a man <marker>called</marker> Daffodil come here?</example>
                <example>The person who eventually did this interesting work was able to show that...</example>
                <example>The mechanical device that actually did this check failed because of the ingress of water.</example>
                <example>I just did a simple setup based off that tutorial.</example>
                <example>This felt so horrible that everything else I did that day sucked.</example>
                <example>Did this get resolved at all?</example>
                <example>Did getting dropped off a distance away occur to you?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0" postag="W(RB|P)" postag_regexp="yes"/>
                    <token>did</token>
                    <token regexp="yes">I|it|you|s?he|we|they</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">so|as|then</exception>
                    </token>
                    <marker>
                        <token postag="VBD"><exception postag="VB"/></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="6" postag="VBP" postag_regexp="yes"/></suggestion>?</message>
                <short>Possible grammatical error</short>
                <example correction="forget">Did you <marker>forgot</marker> it?</example>
                <example correction="forget">Did you really <marker>forgot</marker> it?</example>
                <example correction="forget">Why did you <marker>forgot</marker> it?</example>
                <example correction="forget">I couldn't find any images in your email, did you <marker>forgot</marker> to attach them maybe?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0" postag="W(RB|P)" postag_regexp="yes"/>
                    <token>did</token>
                    <token regexp="yes">n't|not</token>
                    <token regexp="yes">I|it|you|s?he|we|they</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">so|as|then</exception>
                    </token>
                    <marker>
                        <token postag="VBD" skip="-1"><exception postag="VB"/></token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="7" postag="VBP" postag_regexp="yes"/></suggestion>?</message>
                <short>Possible grammatical error</short>
                <example correction="forget">Didn't you <marker>forgot</marker> it?</example>
                <example correction="use">Didn't you <marker>used</marker> to be a teacher?</example>
                <example>Ate like crap, drank a lot and did workouts developed by bros.</example>
            </rule>
        </rulegroup>

        <rule id="ADVERB_VERB_ADVERB_REPETITION" name="Adverb repetition: e.g. 'also see also'">
    <!-- Created by Tiago F. Santos, 2018-11-10    -->
            <antipattern>
                <token>first</token>
                <token>come</token>
                <token>first</token>
            </antipattern>
            <antipattern>
                <token>in</token>
                <token postag="NN.*|UNKNOWN" postag_regexp="yes" />
                <token>in</token>
            </antipattern>
            <antipattern>
                <token>never</token>
                <token>say</token>
                <token>never</token>
            </antipattern>
            <antipattern>
                <token>interested</token>
                <token>in</token>
            </antipattern>
            <antipattern>
                <token>n't</token>
                <token postag='V.+' postag_regexp='yes' />
                <token>t</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">[a-z]</token>
            </antipattern>
            <antipattern>
                <token>enough</token>
                <token inflected="yes">be</token>
                <token>enough</token>
            </antipattern>
            <antipattern>
                <token>same</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token>same</token>
                <token regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern><!-- #3223 -->
                <token>please</token>
                <token postag_regexp="yes" postag="VBP?"/>
                <token>please</token>
            </antipattern>
            <antipattern><!-- It's concerning that Trump got so sick so quickly -->
                <token>so</token>
                <token postag="JJ" />
                <token>so</token>
                <token postag="RB" />
            </antipattern>
            <antipattern>
                <token>there</token>
                <token regexp="yes" inflected="yes">be|have|do|will|can|should</token>
                <token skip="-1">there</token>
                <token>?</token>
            </antipattern>
            <pattern>
                <token postag='RB'>
                    <exception regexp="yes">as|in|not(hing)?|per</exception>
                </token>
                <token postag='V.+' postag_regexp='yes'>
                    <exception>yes</exception>
                </token>
                <token><match no='0'/></token>
            </pattern>
            <message>Adverb repetition.</message>
            <suggestion>\1 \2</suggestion>
            <suggestion>\2 \3</suggestion>
            <url>https://www.lexico.com/grammar/positions-of-adverbs</url>
            <example correction="also see|see also">You may <marker>also see also</marker> Scotland...</example>
            <example>You may <marker>also see</marker> Scotland...</example>
            <example>First come first serve.</example><!-- missing comma -->
            <example>Same people same place.</example><!-- missing comma -->
            <example>Country star breaks down in tears in heartbreaking performance.</example>
            <example>Are you interested in participating in the world championship?</example>
            <example>... marine foods such as fish and algae, and also in mushrooms in larger concentrations.</example>
            <example>Actinium is found only in traces in uranium ores as 227Ac – one tonne of ore contains...</example>
            <example>Don't watch T.V.</example>
            <example>Those who possess nothing lose nothing.</example>
            <example>Enough is enough!</example>
            <example>Please please please, President Bush, process your nominees.</example><!-- #3223 -->
            <example>Can you please say please?</example><!-- #3223 -->
            <example>It's concerning that Trump got so sick so quickly.</example>
            <example>PLEASE REPLY Please review the attached schedule for the tokenized products.</example><!-- #3223 Missing full stop or missing colon -->
            <example>... but please use Please DO NOT REPLY to this message.</example><!-- #3223 Missing quotes (possibly italicized in the source text). -->
            <example>Please visit Please let me know when you can...</example><!-- #3223 Missing full stop between sentences. -->
            <example>If they are really there is there anything I can do about it?</example>
            <example>The flat rate is set as $42 per ID per month for unlimited usage.</example>
            <example>Whether she will agree or not is not clear.</example>
        </rule>
        <rule id="GOING_TO_VBD" name="Use of past form with 'going to ...'">
            <pattern>
                <token>going</token>
                <token>to</token>
                <marker>
                    <token postag="VBD"><exception postag="VB"/></token>
                </marker>
            </pattern>
            <message>The verb after 'going to' requires the base form.</message>
            <suggestion><match no="3" postag="VB"/></suggestion>
            <example correction="write">I'm going to <marker>wrote</marker> him.</example>
            <example>We are not going to <marker>let</marker> them get away with this.</example>
        </rule>
        <rulegroup id="NON_ACTION_CONTINUOUS" name="Use of continuous form with non-action verbs">
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token>been</token>
                    <token regexp="yes">knowing|belonging|supposing</token>
                </pattern>
                <message>The verb '<match no="3" postag="VB"/>' is usually not used with a continuous form, use the simple form instead.</message>
                <suggestion>\1 <match no="3" postag="VBN"/></suggestion>
                <url>http://www.eslbase.com/grammar/present-perfect-continuous</url>
                <short>Probably incorrect use of continuous form</short>
                <example correction="had known">He <marker>had been knowing</marker> it.</example>
                <example>I have been meaning to try out a dance class sometime.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">w(ere|as)</token>
                    <token regexp="yes">knowing|belonging|supposing</token>
                </pattern>
                <message>The verb '<match no="2" postag="VB"/>' is usually not used with a continuous form, use the simple form instead.</message>
                <suggestion><match no="2" postag="VBD"/></suggestion>
                <url>http://www.eslbase.com/grammar/past-continuous</url>
                <short>Probably incorrect use of continuous form</short>
                <example correction="knew">She <marker>was knowing</marker> it.</example>
                <example>He <marker>knew</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>is</token>
                    <token regexp="yes">knowing|belonging|supposing</token>
                </pattern>
                <message>The verb '<match no="2" postag="VB"/>' is usually not used with a continuous form, use the simple form instead.</message>
                <suggestion><match no="2" postag="VBZ"/></suggestion>
                <url>http://www.eslbase.com/grammar/present-continuous</url>
                <short>Probably incorrect use of continuous form</short>
                <example correction="knows">She <marker>is knowing</marker> it.</example>
                <example>He <marker>knows</marker> it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">a(?:m|re)|were</token>
                    <token regexp="yes">knowing|belonging|supposing</token>
                </pattern>
                <message>The verb '<match no="2" postag="VB"/>' is usually not used with a continuous form, use the simple form instead.</message>
                <suggestion><match no="2" postag="VBP"/></suggestion>
                <url>http://www.eslbase.com/grammar/present-continuous</url>
                <short>Probably incorrect use of continuous form</short>
                <example correction="know">I <marker>am knowing</marker> it.</example>
            </rule>
        </rulegroup>
        <rule id="ON_FIRST_GLANCE" name="on (at) first glance">
            <pattern>
                <marker>
                    <token skip="1">on</token>
                </marker>
                <token regexp="yes" skip="1">first|a</token>
                <token>glance</token>
            </pattern>
            <message>Did you mean <suggestion>at</suggestion>?</message>
            <short>Wrong preposition</short>
            <example correction="At"><marker>On</marker> first glance it seems to be a good idea.</example>
        </rule>
        <rule id="CONGRATULATIONS_FOR" name="congratulations for (on)">
            <pattern>
                <token>congratulations</token>
                <marker>
                    <token>
                        for
                    </token>
                </marker>
            </pattern>
            <message>The correct preposition here is <suggestion>on</suggestion>.</message>
            <url>https://dictionary.cambridge.org/grammar/british-grammar/nouns-and-prepositions</url>
            <example correction="on">Congratulations <marker>for</marker> your new job!</example>
        </rule>
        <rulegroup id="DONT_NEEDS" name="don't ... 3rd person verb">
            <rule>
                <antipattern>
                    <token postag="CC|SENT_START" postag_regexp="yes" />
                    <token regexp="yes">[wd]o</token>
                    <token>n't</token>
                    <token postag="NNS" chunk="E-NP-plural" />
                    <token postag="VB" chunk="B-VP" />
                </antipattern>
                <pattern>
                    <token regexp="yes">do|wo|will</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token postag="VBZ">
                            <exception>is</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="VB"/></suggestion>?</message>
                <example>I don't <marker>need</marker> help with that.</example>
                <example>You don't <marker>have</marker> a bicycle?</example>
                <example correction="need">I don't <marker>needs</marker> help with that.</example>
                <example correction="have">You don't <marker>has</marker> a bicycle?</example>
                <example>Don’t patents encourage innovation and therefore bestow incalculable benefits on all us?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">do|will</token>
                    <token>not</token>
                    <marker>
                        <token postag="VBZ">
                            <exception>is</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="VB"/></suggestion>?</message>
                <example>I do not <marker>need</marker> help with that.</example>
                <example>You do not <marker>have</marker> a bicycle?</example>
                <example correction="need">I do not <marker>needs</marker> help with that.</example>
                <example correction="have">You do not <marker>has</marker> a bicycle?</example>
                <example>... and that they do not is because nobody cares.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOES_X_HAS" name="does ... 3rd person verb">
            <rule>
                <antipattern>
                    <token>he</token>
                    <token>who</token>
                    <token>does</token>
                    <token regexp="yes">n't|not</token>
                </antipattern>
                <pattern>
                    <token>does<exception scope="previous" postag="NNP"/></token>
                    <token>
                        <exception regexp="yes">so|th(is|at)|and|[:,]|\/</exception>
                        <exception postag_regexp="yes" postag="VB[PG]?|WP|CC"/>
                    </token>
                    <marker>
                        <token postag="VBZ">
                            <exception postag="NNS"/>
                            <exception regexp="yes">is|'s</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="VB"/></suggestion>? As 'do' is already inflected, the verb cannot also be inflected.</message>
                <example>He does not have expertise about that.</example>
                <example>Does anybody have an idea about that?</example>
                <example>An algorithm that does so is usually considered invalid.</example>
                <example correction="have">He does not <marker>has</marker> expertise about that.</example>
                <example correction="have">Does anybody <marker>has</marker> an idea about that?</example>
                <example>What it does: increases rate of gain and improves feed efficiency.</example>
                <example>Does Lincoln Mills suggest that if Congress granted jurisdiction over interstate divorce cases, the federal courts would be authorized to fashion a national law for the dissolution of marriages?</example>
                <example>Everyone also who does what is just (righteous) has been born of him.</example>
                <example>It seems like as technologies emerge, I love to jump on the bandwagon around the end of the early adopters phase -- and then it either does or doesn't integrate well with my life.</example>
                <example>The only reason Bobby does it is because he knows I would SMACK him if he didn't.</example>
                <example>What he does here is not relevant.</example>
                <example>He who fights may lose, but he who doesn't has already lost.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="CC" min="0" />
                    <token regexp="yes">do|did|does</token>
                    <token regexp="yes">(any|some)(one|body|thing)</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="VBZ" />
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="6" postag="VB" /></suggestion>?</message>
                <example correction="use">Does anybody here <marker>uses</marker> a Mac?</example>
                <example correction="know">Does someone here <marker>knows</marker> what I have to do?</example>
                <example correction="know">But do anyone <marker>knows</marker> if the same is possible in Javascript?</example>
                <example correction="have">Do anyone <marker>has</marker> any suggestion left?</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_QUITE_WHILE" name="a quite while (quite a while)">
            <rule>
                <pattern>
                    <token>a</token>
                    <token>quite</token>
                    <token regexp="yes">while|lot|bit|few|little|number|long</token>
                </pattern>
                <message>The word order seems wrong. Did you mean <suggestion>\2 \1 \3</suggestion>?</message>
                <example correction="quite a while">It was <marker>a quite while</marker> since he appeared last on TV.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">a</token>
                        <token postag="RB">quite</token>
                        <token postag="NN(:UN?)?" postag_regexp="yes">
                            <exception postag="JJ.*|VB[NG]" postag_regexp="yes" />
                            <exception scope="next" regexp="yes">based|wide|specific|powered|generated|shaped|owned|born</exception><!-- compound adjectives where a hyphen is missing -->
                        </token>
                    </marker>
                </pattern>
                <message>The word order seems wrong. Did you mean <suggestion>\2 \1 \3</suggestion>?</message>
                <example correction="quite a confusion">There's <marker>a quite confusion</marker> around this matter.</example>
            </rule>
        </rulegroup>
        <rule id="DT_RB_IN" name="Adverb instead of noun">
            <antipattern>
                <token postag="RB" />
                <token regexp="yes">,|n?or|and|&amp;|but|:|\/|to|yet</token>
                <token regexp="yes" min="0">&quote;</token>
                <token postag="NN.*|VBG|VBD|JJ.*|RB|UNKNOWN|CD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- A not to exceed cost of $3 Million was provided to Marketing ... -->
                <token>a</token>
                <token>not</token>
                <token postag="VB" />
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="RB" />
                <token regexp="yes">,|or|and|&amp;|but|:|\/</token>
                <token regexp="yes">sorta?|kinda?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern><!-- The teams in bold compete in Serie A currently -->
                <token />
                <token />
                <token case_sensitive="yes">A</token>
                <token postag="RB" />
            </antipattern>
            <antipattern>
                <token postag="RB" />
                <token>after</token>
                <token>market</token>
            </antipattern>
            <antipattern>
                <token postag="RB" />
                <token>to</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token>for</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- ... is how Californians have really adapted to a really, you know, awful situation. -->
                <token regexp="yes">the|an?</token>
                <token postag="RB" />
                <token min="0">,</token>
                <token>you</token>
                <token>know</token>
                <token min="0">,</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- The currently out of stock items (missing hyphens, different error) -->
                <token postag="RB" />
                <token>out</token>
                <token>of</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>never</token>
                <token postag="VBN" />
                <token regexp="yes">before|after</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no">A</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token postag="RB" />
                <token>.</token>
                <token>.</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token postag="RB" />
                <token>…</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Tt]he|[Aa]n?</token><!-- Todo add "my|your|his|her|..." -->
                    <token postag="RB">
                        <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                        <exception regexp="yes">\d.*</exception>
                        <exception postag="NN.*|RBS|VBG|JJ.*" postag_regexp="yes" regexp="yes">(?!(often|almost)$).+</exception>
                        <exception regexp="yes">fairground|home|way|moment|while|sudden|bit|same|before|after|cappella|right</exception>
                        <exception regexp="yes">approx|off|second-best|third-best|infra|one-time|part-time|false|face-to-face|one-on-one|one-to-one</exception><!-- not tagged as NN but colloqiually used like -->
                        <exception>overleaf</exception><!-- name of a popular web service-->
                        <exception regexp="yes">.+side</exception>
                    </token>
                </marker>
                <token postag="PCT|CC|IN|MD" postag_regexp="yes">
                    <exception postag="NN.*|JJ.*|VBD" postag_regexp="yes" />
                    <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                </token>
            </pattern>
            <message>The adverb "\2" cannot be used like a noun.</message>
            <example correction="">I tend to move logical content around in <marker>the often</marker> after I've written something.</example>
            <example correction="">TMS doesn't currently have <marker>the functionally</marker> in place.</example>
            <example>Unfortunately not at the moment.</example>
            <example>All of a sudden, she spoke out.</example>
            <example>He is on the harbourside.</example>
            <example>This is a very, very common mistake so don’t worry.</example>
            <example>The Assembly likely won't vote the Hertzberg bill out until tomorrow at the earliest.</example>
            <example>I need a big and not small house.</example>
            <example>The lively and friendly way of life of the French also left a deep impression on him.</example>
            <example>Probably after the 1st.</example>
            <example>As far as the blinking, I’m not sure, but Schlage support should be able to tell you.</example>
            <example>The near:far DOF ratio is 0.6.</example>
            <example>This capitalist/socialist debate is not now nor ever will be an either or sort of thing.</example>
            <example>The teams in bold compete in Serie A currently.</example>
            <example>Kay, here's the near to last draft of the form.</example>
            <example>He is providing an online or phone support center.</example>
            <example>The only after market item is the power steering cooler, as far as trying to replicate things no luck.</example>
            <example>If you are holding down A shortly after the macro has launched...</example>
            <example>I’m planning to change the engine anyway in the not to distant future but need it to last several months for now.</example>
            <example>Many of these standards first appeared in the early to mid 1980s.</example>
            <example>The sicker of the two is not the one he thinks.</example>
            <example>The bike leans on the right before turning right.</example>
            <example>A year ago Enron was the hottest of the hot.</example>
            <example>Gas market regulatory issues" could include a yet to be drafted EU cross border gas transmission/ trading regulation.</example>
            <example>These deals have shown up on the not to be confirmed report.</example>
            <example>The nearby, but less known Temagami Magnetic Anomaly, has striking similarities to the Sudbury Basin.</example>
            <example>Sami was dropped off at the far.</example>
            <example>This causes confusion in our groups, because when subsequent deals are transacted with the same counterparty, credit advises us to use the previously provided Annex.</example>
            <example>I suggest that we support the CPUC decision to delay hearing the advice letter with a big HOWEVER.</example>
            <example>One of the few, if not the only, times he left Scotland was towards the end of his life, when he returned to Ireland to found the monastery at Durrow.</example>
            <example>A rainy, truly wet, summer and harvest this year; it was a hard, tormenting year, and a year of suffering and sickness.</example>
            <example>The big or the small?</example>
            <example>We will be marketing this conference to over 40,000 targeted individuals, including a direct mail of at least 25,000 and in addition an online and press campaign.</example>
            <example>I've implied the junction of the organic, the lively, the sweet – in other words, life, the orange – and the mechanical, the cold, the disciplined.</example>
            <example>The interesting thing, at least I see kind of going forward, is how Californians have really adapted to a really, you know, awful situation.</example>
            <example>Tom is the only in our class that Mary doesn't get along with.</example>
            <example>Teaching and preaching are "the main, almost the only, activities of ministry."</example>
            <example>A day after announcing a $100 million investment from Vulcan Ventures, Oxygen Media, an online and cable network for women, said it is laying off 65 employees and restructuring it business.</example>
            <example>Ksatrias (Kshatriyas) - the kingly and warrior caste Where did you get all this information?</example>
            <example>Notes on a soon to be forgotten war.</example>
            <example>It had a strange, barking dog.</example>
            <example>During the early and mid-20th century when town gas was produced, tar was a readily available product and extensively used as the binder for road aggregates.</example>
            <example>Marsupial lion, an extinct species of carnivorous marsupial mammal that lived in Australia from the early to the late Pleistocene Danger was not far behind, as al-Fihri planned a counterattack.</example>
        </rule>
        <rule id="A_RB_NN" name="Adverb instead of an adjective">
            <antipattern>
                <token regexp="yes">an?|the</token>
                <token>about</token>
                <token regexp="yes">section|(sub-?)?page|website|tab|text|you|turns?|menu|buttons?|links?|screen</token>
            </antipattern>
            <antipattern><!-- A really cocoa brown color -->
                <token postag="RB" />
                <token>cocoa</token>
                <token>brown</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/nearly_man  -->
                <token>nearly</token>
                <token>man</token>
            </antipattern>
            <antipattern><!-- A never smoker https://en.wiktionary.org/wiki/never-smoker, https://en.wiktionary.org/wiki/never_event  -->
                <token>never</token>
                <token regexp="yes">smoker|event|trumper</token>
            </antipattern>
            <antipattern><!-- Indeed is a job platform -->
                <token>indeed</token>
                <token regexp="yes">profiles?|accounts?|users?|jobs?|logins?</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/bit_part -->
                <token>bit</token>
                <token>part</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/once_(or_every_once)_in_a_while -->
                <token>once</token>
                <token>in</token>
                <token>a</token>
                <token>while</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token>a</token>
                <token>sudden</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">Twice</token>
                <token regexp="yes">bands?|albums?|songs?|concerts?|tour|members?|tracks?</token>
            </antipattern>
            <antipattern>
                <token>really</token>
                <token regexp="yes">long|short</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token>never</token>
                <token regexp="yes">give|geat</token>
                <token regexp="yes">up|ahead</token>
                <token regexp="yes">attitudes?|motivation|approach(es)?</token>
            </antipattern>
            <antipattern><!-- https://300daysofbetterwriting.wordpress.com/2013/02/28/thus-and-therefore-statements-should-follow-logically-from-the-previous-statements/ -->
                <token regexp="yes">therefore|thus|about</token>
                <token regexp="yes">statements?</token>
            </antipattern>
            <antipattern><!-- A really kind of weird conversation -->
                <token regexp="yes">kind|sort</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>in</token>
                <token>between</token>
            </antipattern>
            <antipattern><!-- caught by AN_AND -->
                <token>an</token>
                <token>also</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>rather</token>
                <token>out</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">the|an?</token>
                <token regexp="yes">[A-Z].*</token>
                <token regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>the</token>
                <token regexp="yes">Please|PLEASE|About|ABOUT</token>
            </antipattern>
            <antipattern><!-- The tenants became the owners of their lands under the newly set-up Land Commission. -->
                <token regexp="yes">an?|the</token>
                <token postag="RB" />
                <token>set-up</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Change was seen in Northern Ireland, with the moderately unionist Ulster Unionist Party losing 4 seats to the more hardline Democratic Unionist Party. -->
                <token regexp="yes">an?|the</token>
                <token postag="RB" />
                <token regexp="yes">.+ist</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- The relatively progressivist 1940 Constitution was adopted by the Batista administration. -->
                <token regexp="yes">an?|the</token>
                <token postag="RB" />
                <token regexp="yes">.+ist</token>
                <token regexp="yes">\d+</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>Wisely</token>
                <token regexp="yes">cards?</token>
            </antipattern>
            <antipattern><!-- band name -->
                <token>the</token>
                <token>tragically</token>
                <token>hip</token>
            </antipattern>
            <antipattern><!-- A life changing -->
                <token>life</token>
                <token>changing</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Always_(brand) -->
                <token case_sensitive="yes">Always</token>
                <token regexp="yes">product|company|corporation|corp|brand</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/notwithstanding_clause -->
                <token>notwithstanding</token>
                <token>clause</token>
            </antipattern>
            <antipattern><!-- Qur'an -->
                <token regexp="yes">&apostrophe;</token>
                <token spacebefore="no">an</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- the Genially presentation -->
                <token regexp="yes">an?|the</token>
                <token postag="RB" regexp="yes">[A-Z].+</token>
                <token regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern><!-- What does a actually stand for? -->
                <token>A</token>
                <token postag="RB" />
                <token>stand</token>
                <token>for</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token>never</token>
                <token>give</token>
                <token>up</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">an?|the</token>
                <token postag="RB" />
                <token>man</token>
                <token>made</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token regexp="yes">an?|the</token><!-- Todo add "my|your|his|her|..." -->
                <marker>
                    <token postag="RB">
                        <exception postag="JJ[RS]?|NN.*" postag_regexp="yes"/>
                        <exception regexp="yes">not|per|after|before|approx|while|bit|otherwise|multiply</exception>
                        <exception case_sensitive="yes" regexp="yes">[A-Z]+|Ergo</exception>
                        <exception regexp="yes">home|way|moment|while|sudden|bit|same|before|after|cappella|right|if|then</exception>
                        <exception>somewhat</exception><!-- can be a preposition according to https://www.merriam-webster.com/dictionary/somewhat -->
                        <exception>sometimes</exception><!-- can be an adjective according to https://www.merriam-webster.com/dictionary/sometimes -->
                        <exception>one-third</exception>
                        <exception>overleaf</exception>
                        <exception>everywhere</exception>
                    </token>
                    <token postag="NN(:UN?)?" postag_regexp="yes">
                        <exception regexp="yes">set-up|put-down</exception>
                        <exception postag="JJ[RS]?|VB[NG]|IN|W.*" postag_regexp="yes" />
                        <exception scope="next" regexp="yes">&hyphen_modifier;</exception>
                        <exception scope="next" regexp="yes">enabled|favou?rable|soaked|blazed|condensed|shattering|sensitive|filled|questioning|looking|speaking|rich</exception><!-- compound adjectives where a hyphen is missing -->
                    </token>
                </marker>
            </pattern>
            <filter class="org.languagetool.rules.en.AdverbFilter" args="adverb:\2 noun:\3"/>
            <message>You used an adverb ('\2') instead of an adjective, or a noun ('\3') instead of another adjective.</message>
            <url>http://www.ucl.ac.uk/internet-grammar/adverbs/xadvb1.htm</url>
            <short>Incorrect adverb</short>
            <example>This is a <marker>philosophical question</marker>.</example>
            <example>Mc-Master-Carr is a supply company.</example>
            <example>It's nothing impressive. It's just a <marker>bit part</marker> in that play.</example>
            <example>The picture is done in a <marker>masterly</marker> style.</example>
            <example>All of a sudden water came down from the roof.</example>
            <example>That was a really kind of weird conversation.</example>
            <example>A completely oil based solution.</example>
            <example>It requires a SO number.</example>
            <example>Make a multiply equation.</example>
            <example>What does a actually stand for?</example>
            <example>Ask Student A why he is busy.</example>
            <example>Diversity Dick Liebert reported that questions for the ETC survey are currently being developed.</example>
            <example>Such a person may once in a while see a good person.</example>
            <example><marker>Once in a while</marker> everything goes wrong.</example>
            <example correction="philosophical question">This is a <marker>philosophically question</marker>.</example>
            <example correction="real solution">It's a <marker>really solution</marker>.</example>
            <example>... to obtain a big break with a too long, too perilous shoot.</example><!-- #3180 -->
            <example correction="simple solution">It's a <marker>simply solution</marker>.</example>
            <example>Some Low Church Anglicans take a strictly memorialist view of the sacrament.</example>
            <example type="triggers_error">Some Low Church Anglicans take a strictly memorialist (Zwinglian) view of the sacrament.</example>
            <example>Now I just had to email the Fully Developer with an apology.</example>
            <example>The tenants became the owners of their lands under the newly set-up Land Commission.</example>
            <example>The relatively progressivist 1940 Constitution was adopted by the Batista administration.</example>
            <example>Since he yields to the flesh instead of crucifying it, the fleshly man is also subject to feelings of inferiority, insecurity, inadequacy, guilt, worry, and doubt.</example>
            <example>... that has devastating consequences in an already stress filled situation.</example>
            <example>The utility, Wood said, has even experienced a per kilowatt decrease over the last three years from near 8 cents/kWh to near 4.5 cents.</example>
            <example>We stopped booking a per start accrual sometime last year on all of the Peakers since none of the plants except New Albany were using the reserve.</example>
            <example>Ghostwriters, technical writers, and textbooks writers are typically paid in a different way: usually a set fee or a per word rate rather than on a percentage of sales.</example>
        </rule>
        <rulegroup id="WANT_THAT_I" name="want that I (want me to)">
            <!-- TODO: extend this rule to cover more than personal pronouns. This is actually a very common error for German speakers. -->
            <antipattern>
                <token regexp="yes">of|the|an?|my|y?our|his|her|their|its</token>
                <token>wanting</token><!-- noun -->
            </antipattern>
            <antipattern>
                <token>I</token>
                <token regexp="yes">am|'m</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">want</token>
                        <token>that</token>
                        <token>I</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 me to</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="wants me to">He <marker>wants that I</marker> send him an email.</example>
                <example correction="want me to">They <marker>want that I</marker> send him an email.</example>
                <example correction="wanted me to">They <marker>wanted that I</marker> send him an email.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">want</token>
                        <token>that</token>
                        <token>you</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 you to</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="wants you to">He <marker>wants that you</marker> send him an email.</example>
                <example correction="want you to">They <marker>want that you</marker> send him an email.</example>
                <example correction="wanted you to">They <marker>wanted that you</marker> send him an email.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">want</token>
                        <token>that</token>
                        <token>he</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB[ZP]?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 him to</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="want him to">They <marker>want that he</marker> sends him an email.</example>
                <example>They <marker>want him to</marker> send him an email.</example>
                <example>At his parents' prompting, he explains the feeling of wanting that he felt.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">want</token>
                        <token>that</token>
                        <token>she</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB[ZP]?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 her to</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="want her to">They <marker>want that she</marker> sends him an email.</example>
                <example>They <marker>want her to</marker> send him an email.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">want</token>
                        <token>that</token>
                        <token>we</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 us to</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="wants us to">He <marker>wants that we</marker> send him an email.</example>
                <example correction="want us to">They <marker>want that we</marker> send him an email.</example>
                <example correction="wanted us to">They <marker>wanted that we</marker> send him an email.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">want</token>
                        <token>that</token>
                        <token>they</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>\1 them to</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="want them to">They <marker>want that they</marker> send him an email.</example>
                <example>They <marker>want them to</marker> send him an email.</example>
            </rule>
        </rulegroup>
        <rule id="THE_SENT_END" name="Sentence ending with 'the' or 'a'">
            <antipattern case_sensitive="yes">
                 <token regexp="yes">\p{Ll}</token>
                 <token regexp="yes">−|-</token><!-- minus sign, hyphen -->
                 <token>a</token>
                 <token postag="SENT_END">.</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <token><exception regexp="yes">’|'|\.|-</exception><exception postag="SENT_START"/></token>
                <marker>
                    <token regexp="yes">[Tt]he|[Aa]n|a</token>
                    <token postag="SENT_END" regexp="yes">\.|\?|!</token>
                </marker>
            </pattern>
            <message>A word may be missing after '\2'.</message>
            <example>I am going to the store.</example>
            <example>I got a .2TB hard drive.</example>
            <example>I met Robert (a.k.a. Bob) at the store.</example>
            <example>a. The first item in the list.</example>
            <example>I am in Concourse A.</example>
            <example>I read the Qur'an.</example>
            <example>He was taken to Chang’an.</example>
            <example>I got up at 3 a.m.</example>
            <example>... root a and therefore p(x) is a multiple of x − a.</example>
            <example>Thus, the alternance of -o/-a, has been replaced by ø/-a.</example><!-- #4479 -->
            <example correction="">I am going to <marker>an.</marker></example>
            <example correction="">I am going to <marker>the.</marker></example>
        </rule>
        <rule id="THE_PUNCT" name="'The' or 'a' before a punctuation">
            <antipattern>
                <token inflected="yes" regexp="yes">vowel|letter</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token spacebefore="no">,</token>
                <token>b</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <token><exception regexp="yes">’|'|\.|:|-</exception><exception postag="SENT_START"/></token>
                <marker>
                    <token regexp="yes">[Tt]he|an?|An</token>
                    <token regexp="yes">[,;]</token>
                </marker>
            </pattern>
            <message>A word may be missing after '\2'.</message>
            <example>I am going to the store.</example>
            <example>I got a .2TB hard drive.</example>
            <example>I met Robert (a.k.a. Bob) at the store.</example>
            <example>a. The first item in the list.</example>
            <example>I am in Concourse A.</example>
            <example>I read the Qur'an.</example>
            <example>He was taken to Chang’an.</example>
            <example>I got up at 3 a.m.</example>
            <example>Here a, b and c are lattice constants.</example>
            <example>Thus, the alternance of -o/-a, has been replaced by ø/-a.</example><!-- #4480 -->
            <example>It corresponds to English adjectives in -ic, -al, -an, -y, -ist, etc.</example><!-- #4480 -->
            <example correction="">I am going to <marker>an,</marker> then I see you.</example>
            <example correction="">I am going to <marker>the;</marker> that's right.</example>
            <example type="triggers_error">... r(x) is not constant, it will have some root a, which will be then a common root of p(x) and q(x)...</example>
        </rule>
        <rule id="PRP_RB_NO_VB" name="Verb missing after personal pronoun and adverb at beginning of sentence.">
            <antipattern><!-- missing hyphen needs different rule -->
                <token>all</token>
                <token regexp="yes">year|day|night|week|month|time|access|wise|knowing(ness)?</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START"/>
                <token postag="PRP"/>
                <marker>
                    <token postag="RB.*" postag_regexp="yes"><exception postag="IN|JJ.*|VB.*" postag_regexp="yes"/><exception regexp="yes">too|also|way</exception></token>
                    <token>
                        <exception postag="VB.*|,|\.|CC|IN|TO|JJ.*|WP|MD|RB" postag_regexp="yes"/>
                        <exception regexp="yes">\(|\)|\[|\"</exception>
                        <exception postag="UNKNOWN" regexp="yes">.*[a-z].*</exception><!-- misspelled unknown word (spell checker should handle this) -->
                    </token>
                </marker>
            </pattern>
            <message>A verb may be missing after '\3'.</message>
            <example correction="">I <marker>accidentally the</marker> flashlight.</example>
            <example>I <marker>accidentally dropped the</marker> flashlight.</example>
            <example correction="">I <marker>rarely the</marker> the flashlight.</example>
            <example correction="">I <marker>quickly the</marker> the flashlight.</example>
            <example correction="">We <marker>quickly the</marker> the flashlight.</example>
            <example>Everyone needs this.</example>
            <example>We wanted it no matter how rarely the item was found.</example>
            <example>He stabbed me intentionally.</example>
            <example>Her best friend was Mitch.</example>
            <example>They too might be in danger.</example>
            <example>He also described the disaster.</example>
            <example>We once more apologise for the trouble.</example>
            <example>Is someone there to assist me?</example>
            <example>One way this can occur is through fear.</example>
            <example>She went to the store frequently and bought cookies.</example>
            <example>He found himself frequently at odds with reality.</example>
            <example>He regularly performed dressed all in black.</example>
            <example>He possibly could go to school.</example>
            <example>He applied himself fairly seriously to his work.</example>
            <example>He joined them there a few days later.</example>
            <example>He really didn't know how to fly.</example>
        </rule>

        <rule id="DONT_WILL" name="don't will (won't)">
            <pattern>
                <token negate="yes">who</token>
                <marker>
                    <token>do</token>
                    <token spacebefore="no">n't</token>
                    <token>will</token>
                </marker>
            </pattern>
            <message>Typo. Did you mean <suggestion>won't</suggestion>?</message>
            <short>Grammatical problem or typo</short>
            <example correction="won't">I <marker>don't will</marker> do that.</example>
            <example>Those who <marker>don't will</marker> never know.</example>
        </rule>
        <rulegroup id="WAS_BEEN" name="was been (has been)">
            <rule>
                <pattern>
                    <token>was</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>was</suggestion> or <suggestion>has been</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="was|has been">She <marker>was been</marker> here since Monday.</example>
            </rule>
            <rule>
                <pattern>
                    <token>was</token>
                    <token>not</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>was not</suggestion> or <suggestion>has not been</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="was not|has not been">She <marker>was not been</marker> here since Monday.</example>
            </rule>
            <rule>
                <pattern>
                    <token>was</token>
                    <token>n't</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>wasn't</suggestion> or <suggestion>hasn't been</suggestion>?</message>
                <short>Grammatical problem or typo</short>
                <example correction="wasn't|hasn't been">She <marker>wasn't been</marker> here since Monday.</example>
            </rule>
        </rulegroup>
        <rule id="LETS_DONT" name="let's don't (let's not)">
            <pattern>
                <token>let</token>
                <token spacebefore="no">'s</token>
                <token>do</token>
                <token>n't</token>
            </pattern>
            <message>This usage of 'let' is nonstandard.</message>
            <suggestion>\1\2 not</suggestion>
            <example correction="Let's not"><marker>Let's don't</marker> go there.</example>
        </rule>
        <rule id="THESE_ONES" name="these/those ones (these/those)">
            <antipattern>
                <token>ones</token>
                <token>and</token>
                <token regexp="yes">zeroe?s</token>
            </antipattern>
            <pattern>
                <token regexp="yes">th[eo]se</token>
                <token>ones</token>
            </pattern>
            <message>In formal contexts, <suggestion>\1</suggestion> is sufficient.</message>
            <short>Grammatical problem</short>
            <example correction="These"><marker>These Ones</marker> Are Bitter.</example>
            <example>I cannot stare at these ones and zeros any longer.</example>
        </rule>
        <rulegroup id="EACH_EVERY_NNS" name="'each' or 'every' with plural nouns">
            <antipattern><!-- of each customers use case (missing possessive apostrophe)-->
                <token postag="IN" chunk="B-PP" />
                <token regexp="yes">each|every|n?either</token>
                <token postag="NNS" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- what each customers use case (missing possessive apostrophe)-->
                <token regexp="yes">what|how|when|if|whether</token>
                <token regexp="yes">each|every|n?either</token>
                <token postag="NNS" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">that|think|believe|hope|doubt|assume|say|guess|bet</token>
                <token>either</token>
                <token postag="JJ" min="0" />
                <token postag="NNS" skip="-1" />
                <token>or</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">that|think|believe|hope|doubt|assume|say|guess|bet</token>
                <token postag="RB" min="0" />
                <token>neither</token>
                <token postag="JJ" min="0" />
                <token postag="NNS" skip="-1" />
                <token>nor</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\(|\[</token>
                <token>either</token>
                <token postag="JJ" min="0" />
                <token postag="NNS" skip="-1" />
                <token>or</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\(|\[</token>
                <token postag="RB" min="0" />
                <token>neither</token>
                <token postag="JJ" min="0" />
                <token postag="NNS" skip="-1" />
                <token>nor</token>
            </antipattern>
            <antipattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>either</token>
                <token postag="JJ" min="0" />
                <token postag="NNS" skip="-1" />
                <token>or</token>
            </antipattern>
            <antipattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token skip="-1">neither</token>
                <token>nor</token>
            </antipattern>
            <antipattern><!-- each time credits are purchased -->
                <token regexp="yes">each|every</token>
                <token>time</token>
                <token postag="NNS" />
                <token postag="RB" min="0" />
                <token postag="MD|VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" />
                <token>each</token>
                <token>other</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>neither</token>
                        <token postag="JJ" chunk_re="I-NP.*" min="0">
                            <exception postag="NN.*|CD" postag_regexp="yes" />
                            <exception>few</exception>
                        </token>
                        <token postag="NNS" chunk_re=".-NP.*">
                            <exception postag="NN|NN:UN?|NNP" postag_regexp="yes"/>
                            <exception>class</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Use a singular noun after the quantifier '\1', or change it to "all".</message>
                <suggestion>neither of the \3</suggestion>
                <suggestion>none of the \3</suggestion>
                <url>http://www.grammaring.com/determiners-with-countable-and-uncountable-nouns-some-any-no-many-much-few-little-etc</url>
                <short>Possible agreement error</short>
                <example correction="Neither of the children|None of the children"><marker>Neither children</marker> are happy.</example>
                <example correction="Neither of the channels|None of the channels"><marker>Neither channels</marker> have received a notification.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">each|every|either</token>
                        <token postag="JJ" chunk_re="I-NP.*" min="0">
                            <exception postag="NN.*|CD" postag_regexp="yes" />
                            <exception>few</exception>
                        </token>
                        <token postag="NNS" chunk_re=".-NP.*">
                            <exception postag="NN|NN:UN?|NNP" postag_regexp="yes"/>
                            <exception regexp="yes">class|committee</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Use a singular noun after the quantifier '\1', or change it to "all".</message>
                <suggestion>all \2 \3</suggestion>
                <suggestion>each of the \2 \3</suggestion>
                <suggestion suppress_misspelled="yes">\1 \2 <match no="3" postag=".*" postag_regexp="yes" postag_replace="NN|NN:UN?" /></suggestion>
                <url>http://www.grammaring.com/determiners-with-countable-and-uncountable-nouns-some-any-no-many-much-few-little-etc</url>
                <short>Possible agreement error</short>
                <example correction="All children|Each of the children|Each child"><marker>Each children</marker> are happy.</example>
                <example correction="all things|each of the things|every thing">For iOS, <marker>every things</marker> went well smile</example>
                <example correction="All traditional farms|Each of the traditional farms|Each traditional farm"><marker>Each traditional farms</marker> originally had one owner, but most of them have been divided up and sold off over the years, and so there are more than 115 farms in use today.</example>
                <example correction="all payments|each of the payments|either payment">Mitigation referred to in paragraphs 2 and 4 should include <marker>either payments</marker> actually received or the highest bid rejected in the event NB imposes a minimum bid that is not hit.</example>
                <example><marker>Each</marker> children's services are available...</example>
                <example><marker>Each</marker> children services are available...</example>
                <example><marker>Each</marker> series revolves around a group of magical girls.</example>
                <example>Every box is nice.</example>
                <example>Insights event pricing is still very dependent on each customers use case.</example>
                <example>This would mean that the wrongly received Xathenos either gets taken away again from 30 players, or it massively diminishes the effort people put into actually crafting it.</example>
                <example>It's quite frustrating, I've tried updating and reinstalling atom but nothing works, neither does restarting my computer.</example>
                <example>A small portion of each class enter in the HST track</example>
                <example>Please engineer a solution which either stops collecting resources when the buffer becomes full (de facto industry standard) or increase the buffer size</example>
                <example>Their is a Matrix of products and books which needs to be filled in for each books profile.</example>
                <example>Either numbers have significantly changed or we aren't talking apples to apples here.</example>
                <example>This is used in two distinct senses: either equal values are considered identical, and are simply counted, or equal values are considered equivalent, and are stored as distinct items.</example>
                <example>Alresford in elections every four years elects one representative to Hampshire County Council, this is currently</example>
                <example>Plus every few days add some reasonably heavy back assistance work like lat pulldowns, dumbell rows for 4x6 etc.</example>
                <example>Every ten seconds seems fair.</example>
                <example>With Kern Water Bank, there is a $5000 admin fee each time credits are purchased.</example>
                <example>There would be nothing left of Section 7 rights if every time employees exercised them in a way that was somehow offensive to someone.</example>
                <example>Can you send me a list of the Deemed ISDAs that are still outstanding (either comments received or counterparty has not returned signed copy).</example>
                <example>Mahrashtra and Dabhol serving each other notices is ``simply legal maneuvering,'' said Kirit Parikh, an economist on the prime minister's economic advisory council.</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_INFORMATION" name="'information' as a plural noun">
           <rule>
                <pattern>
                    <token regexp="yes">these|no</token>
                    <token regexp="yes">information|news</token>
                    <token regexp="yes">were|are</token>
                </pattern>
                <message>'\2' is a mass noun (so it is uncountable). Therefore, use the singular.</message>
                <suggestion><match no="1" regexp_match="ese" regexp_replace="is"/> \2 was</suggestion>
                <suggestion><match no="1" regexp_match="ese" regexp_replace="is"/> \2 is</suggestion>
                <url>https://www.englishclub.com/grammar/nouns-countable-un.htm</url>
                <short>delete 'a' / 'an'</short>
                <example correction="No news was|No news is"><marker>No news are</marker> good news.</example>
                <example correction="This information was|This information is"><marker>These information were</marker> very helpful.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">an?</token>
                        <token postag="JJ"><exception postag="NN.*" postag_regexp="yes"/></token>
                        <token>information</token>
                    </marker>
                    <token><exception postag="NN.*|UNKNOWN" postag_regexp="yes"/></token>
                </pattern>
                <message>'\3' is a mass noun (i.e., uncountable). Therefore, the preceding '\1' is probably wrong.</message>
                <suggestion>\2 \3</suggestion>
                <url>https://www.englishclub.com/grammar/nouns-countable-un.htm</url>
                <short>delete 'a' / 'an'</short>
                <example correction="valuable information">This is <marker>a valuable information</marker>.</example>
                <example>This is valuable information.</example>
                <example>Is there <marker>an</marker> information desk?</example>
            </rule>
        </rulegroup>
        <rulegroup id="AGREEMENT_THEIR_HIS" name="Possible agreement error: Each of them likes their (his/her)" default="off">
            <url>http://writing2.richmond.edu/writing/wweb/pronoun.html</url>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <token regexp="yes">Each|None</token>
                    <token>of</token>
                    <token skip="3">the</token>
                    <marker><token>their</token></marker>
                </pattern>
                <message>'\2' is singular and thus takes a singular pronoun.</message>
                <suggestion>his</suggestion>
                <suggestion>her</suggestion>
                <suggestion>his or her</suggestion>
                <suggestion>its</suggestion>
                <example correction="his|her|his or her|its">Each of the boys likes <marker>their</marker> new teacher.</example>
                <example correction="his|her|his or her|its">Each of the students remembered <marker>their</marker> homework.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes">each|every|n?either</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token postag="VB.*" postag_regexp="yes"><exception postag="NNS"/></token>
                    <marker><token>their</token></marker>
                </pattern>
                <message>'Each', 'every', 'either' and 'neither' are used with singular and thus take a singular pronoun.</message>
                <suggestion>his</suggestion>
                <suggestion>her</suggestion>
                <suggestion>his or her</suggestion>
                <suggestion>its</suggestion>
                <example correction="his|her|his or her|its">Each child needs <marker>their</marker> parents.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SINGULAR_AGREEMENT_SENT_START" name="Possible agreement error: singular noun + plural verb">
    <!-- Created by Tiago F. Santos, 2018-07-17    -->
            <rule><!-- TODO overly strict. expand with other rules or improve disambiguation significantly-->
                <antipattern><!-- https://www.lexico.com/en/definition/former, www.ldoceonline.com/dictionary/remainder -->
                    <token>the</token>
                    <token regexp="yes">following|former|latter|remainder</token>
                </antipattern>
                <antipattern><!-- caught by ALL_NN -->
                    <token>all</token>
                    <token postag="NN" />
                    <token regexp="yes">are|were</token>
                </antipattern>
                <antipattern><!-- no way www.ldoceonline.com -->
                    <token>no</token>
                    <token regexp="yes">way|longer</token>
                    <token chunk="B-VP"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NN">
                        <exception postag="NN.+|JJ" postag_regexp="yes"/>
                        <exception>lot</exception><!-- www.lexico.com/definition/lot -->
                        </token>
                    <marker>
                        <token postag="VBP"><exception negate_pos='yes' postag="VBP"/><exception>is</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="4" postag="VBZ"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="is">The dog <marker>are</marker> released.</example>
                <!--example correction="barks">The dog <marker>bark</marker> loudly.</example--><!-- XXX disambiguation clash -->
                <example>The media has a lot of influence on the outcome of an election.</example>
                <example>A known mistake is better than an unknown truth.</example>
                <example>The Academy Award for Best Production Design recognizes achievement...</example>
                <example>Your shirt button is coming off.</example>
                <example>The rich are apt to look down upon the poor.</example>
                <example>The rich are not always happy.</example>
                <example>The rich are apt to look down on people.</example>
                <example>The rich are often misers.</example>
                <example>The rich are not always happier than the poor.</example>
                <example>Her husband quit shortly after Galt did and joined the strike some...</example>
                <example>The burglar shut the child in the closet.</example>
                <example>The burglar burst into his house.</example>
                <example>The fisherman cast his line into the water.</example>
                <example>The hill lay covered with snow.</example>
                <example>The chairperson cut me short.</example>
                <example>The trip back was very comfortable.</example>
                <example>The director cast me as the devil.</example>
                <example>The student center is a good place to strike up conversations.</example>
                <example>The Syndic General then notifies the Co-princes who in turn appoint ...</example>
                <example>His official title at the company is Assistant to the President.</example>
                <example>The greenhouse frog (Eleutherodactylus planirostris) lays eggs in sma...</example>
                <example>The remainder are scattered throughout Alaska, both within organize...</example>
                <example>The official state song of Alaska is "Alaska's Flag", which was adop...</example>
                <example>Our yacht club has ten members.</example>
                <example>Our team beat the Lions 3 to 0.</example>
                <example>The vase burst into fragments.</example>
                <example>The vase fell to the floor and shattered.</example>
                <example>The vase fell from the table and crashed to pieces.</example>
                <example>An alkyl group, generally abbreviated with the symbol R, is a fu...</example>
                <example>A tablet found on the Greek island Salamis in 1846 AD dates back...</example>
                <example>The prince fell in love with a woodcutter's daughter.</example>
                <example>The inscription read: They also left behind a memorial bag containing ...</example>
                <example>The cruise phase was a relatively uneventful part of the flight, e...</example>
                <example>The driver felt like taking a rest.</example>
                <example>The cruise back to Earth was mostly a time for the crew to relax ...</example>
                <example>My upper right wisdom tooth hurts.</example>
                <example>The electron pair is attracted so close to the chlorine atom that t...</example>
                <example>The pommel horse requires more balance than strength.</example>
                <example>The ayu season has opened.</example>
                <example>The rocket put a communications satellite into orbit.</example>
                <example>A birthday cake with twelve candles on top.</example>
                <example>The bike ride told on Louie.</example>
                <example>The lion put an end to his prey with one stroke.</example>
                <example>My mistake cost me my fortune.</example>
                <example>A Pew Research Center demographic study from 2009 put the percen...</example>
                <example>The volunteer group provides war victims with food and medicine.</example>
                <example>My ballpoint pen just ran out of ink.</example>
                <example>The ball hit him on the left side of the head.</example>
                <example>The ball hit her in the eye.</example>
                <example>A ball hit her on the right leg.</example>
                <example>A fork fell off the table.</example>
                <example>A pistol bullet went clean through his leg.</example>
                <example>My band name's Red Hot.</example>
                <example>The bus stop is across the street.</example>
                <example>The bus stop is quite handy.</example>
                <example>The bus stop is near our school.</example>
                <example>The bus stop is close by.</example>
                <example>The bus stop is five minutes' walk from here.</example>
                <example>My bath towel was wet, so it was of no use.</example>
                <example>The bus fell off the cliff, killing all 10 aboard.</example>
                <example>His symbol space would be</example>
                <example>My brother saw to all the arrangements for the party.</example>
                <example>No longer are the riches of the Bible known only to a few.</example>
                <example>A lot are accounting documents.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AGREEMENT_SENT_START" name="Possible agreement error: plural noun + singular verb">
            <rule>
                <antipattern>
                    <token postag="SENT_START" />
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="NNS" />
                    <token postag="NNS" chunk_re="E-NP.*" />
                    <token chunk_re=".-VP" postag="VB.*|MD" postag_regexp="yes">
                        <exception inflected="yes">get</exception>
                    </token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes">
                        <exception regexp="yes">this|an?|one|every</exception>
                    </token>
                    <token postag="NNS"><exception postag="NN(:.+)?|NNP" postag_regexp="yes"/><exception>media</exception></token>
                    <marker>
                        <token postag="VBZ">
                            <exception>is</exception>
                            <exception inflected="yes" regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="4" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs <marker>are</marker> released.</example>
                <example>The dog is released.</example>
                <example correction="bark">The dogs <marker>barks</marker> loudly.</example>
                <example>The media has a lot of influence on the outcome of an election.</example>
                <example>The Times gathers information from fictitious business name filings with the counties; not all listings are new businesses.</example>
                <example>This guys works for the US Sales VP, our contact at Samsung.</example><!-- different error -->
                <example>This follows comments made by Enron chairman Kenneth Lay in Friday's issue of Financial Times that Enron is looking to exit from its Indian venture.</example>
                <example>This makes tests based on Fermat's Little Theorem risky.</example>
                <example>The keys issues is still the price, which will probably be revised in accordance to the results of the auction.</example>
                <example>These days parents spend most of their time running their kids around from one activity to the next.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes">this|an?|one</token>
                    <marker>
                        <token postag="NNS"><exception postag="NN(:.+)?|NNP" postag_regexp="yes"/><exception>media</exception></token>
                    </marker>
                    <token postag="VBZ" chunk_re=".-VP" />
                </pattern>
                <message>Consider using the singular form after the singular determiner "\2".</message>
                <suggestion suppress_misspelled="yes"><match no="3" postag=".*" postag_replace="NN|NN:UN?" postag_regexp="yes"/></suggestion>
                <short>Possible agreement error</short>
                <example>The dogs <marker>are</marker> released.</example>
                <example>The dog is released.</example>
                <example correction="guy">This <marker>guys</marker> works for the US Sales VP, our contact at Samsung.</example>
                <example correction="report">This <marker>reports</marker> shows schematically the annual average supply movements between regions for 2000 and 2001.</example>
                <example>This follows comments made by Enron chairman Kenneth Lay in Friday's issue of Financial Times that Enron is looking to exit from its Indian venture.</example>
            </rule>
            <rule>
                <antipattern><!-- The families of flowering plants -->
                    <token postag="SENT_START"/>
                    <token/>
                    <token/>
                    <token/>
                    <token chunk="B-NP-plural" postag="NN.*" postag_regexp="yes"/>
                    <and>
                        <token chunk="E-NP-plural" postag="NNS"/>
                        <token postag="SENT_END"/>
                    </and>
                </antipattern>
                <antipattern><!-- Any workarounds while Steve works on a fix? -->
                    <token postag="SENT_START"/>
                    <token/>
                    <token/>
                    <token postag="CC"/>
                    <token chunk="B-NP-singular" postag="NNP"/>
                    <token chunk="B-VP" postag="VBZ"/>
                </antipattern>
                <antipattern><!-- The prices of corporate bonds rose. -->
                    <token postag="IN" />
                    <token chunk_re="B-NP-plural" />
                    <and>
                        <token chunk_re="E-NP-plural" />
                        <token postag="VBZ" />
                    </and>
                    <token postag="RB" min="0" />
                    <token chunk="B-VP" postag="MD|VB[DP]?" postag_regexp="yes">
                        <exception inflected="yes">get</exception>
                    </token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token postag="IN">
                        <exception>like</exception>
                    </token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <marker>
                        <token postag="VBZ">
                            <exception>is</exception>
                            <exception inflected="yes" regexp="yes">&uncommon_verbs;</exception>

                        </token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="want">Many users in Asia <marker>wants</marker> to learn English.</example>
                <example>The children of American soldiers staying in Japan and Japanese women were...</example>
                <example>The families of flowering plants</example><!-- No closing punctuation: -->
                <example>Any workarounds while Steve works on a fix?</example><!-- Refer to #2981 -->
                <example>Your suggestions while Mike works on a fix are welcome.</example>
                <example>The prices of corporate bonds rose.</example>
                <example>My children like licorice sticks.</example>
                <example>The names of fruit trees usually end in -era, a suffix derived from Latin -ARIA and they are usually feminine: She wore a red cheongsam.</example>
                <example type="triggers_error">No refunds after ticket has been booked.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">securities|tele-?communications</token>
                    <token>firms</token>
                </antipattern>
                <antipattern>
                    <token postag="NNS" />
                    <and>
                        <token postag="NNS" />
                        <token postag="VBZ" />
                    </and>
                    <token postag="RB" min="0" />
                    <token postag="VB[DP]?|MD" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- the public demands answers -->
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token postag="VBZ" />
                    <token postag="NNS" chunk_re="E-NP.*" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="JJ.*" postag_regexp="yes" chunk="I-NP-plural"/>
                    <token postag="NNS"><exception postag="NNP?|NN:.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="VBZ">
                            <exception regexp="yes">is|soldiers|guys|companies</exception>
                        </token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="5" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs <marker>are</marker> released.</example>
                <example>The dog is released.</example>
                <example correction="bark">The black dogs <marker>barks</marker> loudly.</example>
                <example>The Canadian Badlands has much to offer.</example>
                <example>The public demands answers.</example>
                <example>The work leaves traces on it.</example>
                <example>The following outlines routes and their stands.</example>
                <example>The new wires companies will come under regulatory scrutiny to become more efficient.</example>
                <example>Several Chinese telecommunications companies, most notably Huawei and ZTE, have been accused of spying for the Chinese military.</example>
                <example>Some primitive cattle breeds display similar coat colours to the aurochs, including the black colour in bulls with a light eel stripe, a pale mouth, and similar sexual dimorphism in colour.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <and>
                        <token postag="NNS" />
                        <token postag="VBZ" />
                    </and>
                    <token postag="RB" min="0" />
                    <token postag="VB[DP]?|MD" postag_regexp="yes" chunk_re=".-VP">
                        <exception inflected="yes">get</exception>
                    </token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN|NN:UN?" postag_regexp="yes" /></token>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception>hedge</exception></token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war <marker>are</marker> released.</example>
                <example>The dog of war is released.</example>
                <example correction="bark">The dogs of war <marker>barks</marker> loudly.</example>
                <example>This species of butterfly has already gone extinct.</example>
                <example>This box of cereal has expired.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog is released.</example>
                <example correction="are">The dogs <marker>is</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS">
                        <exception postag="NN(:.+)?" postag_regexp="yes"/><exception>media</exception>
                    </token>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog was released.</example>
                <example correction="were">The dogs <marker>was</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN"/></token>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog of war is released.</example>
                <example>That species of bird is said to be in danger of dying out.</example>
                <example correction="are">The dogs of war <marker>is</marker> released.</example>
            </rule>
            <rule>
                <antipattern><!-- several hours of material was ... -->
                    <token regexp="yes">several|many</token>
                    <token regexp="yes">hours|days|weeks|months|years</token>
                    <token>of</token>
                    <token regexp="yes">work|material</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war <marker>are</marker> released.</example>
                <example>The dog of war was released.</example>
                <example correction="were">The dogs of war <marker>was</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs, sacrificed by the Ichma, <marker>are</marker> often found with ropes still tied around their necks.</example>
                <example correction="patrol">The dogs, which are specially trained to detect organic matter, <marker>patrols</marker> the nearly 4,000 vehicles.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token postag="IN"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="8" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="want">Many users in Asia, for example, <marker>wants</marker> to learn English.</example>
            </rule>
            <rule>
                <antipattern><!-- Its festive pageants, shows, contests and other -->
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="JJ"/>
                    <token postag="NNS"/>
                    <token>,</token>
                    <token postag="NNS"/>
                    <token>,</token>
                    <token postag="NNS"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="JJ"/>
                    <token postag="NNS"><exception postag="NNP?|NN:.*" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="7" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs, for instance, <marker>are</marker> released.</example>
                <example correction="bark">The black dogs, mostly dachshunds and terrier mixes, <marker>barks</marker> loudly.</example>
                <example>Its festive pageants, shows, <marker>contests</marker> and other activities are a...</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception>hedge</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="8" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war <marker>are</marker> released.</example>
                <example>The dog of war is released.</example>
                <example correction="bark">The dogs of war, mostly dachshunds and terrier mixes, <marker>barks</marker> loudly.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog is released.</example>
                <example correction="are">The dogs, Bob and Ben, <marker>is</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/><exception>media</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog was released.</example>
                <example correction="were">The dogs, Bob and Ben, <marker>was</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN:UN"/></token>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog of war is released.</example>
                <example>The handling of dynamite is dangerous.</example>
                <example correction="are">The dogs of war, finally, <marker>is</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war, however, <marker>are</marker> released.</example>
                <example>The dog of war, however, was released.</example>
                <example correction="were">The dogs of war, however, <marker>was</marker> released.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VBZ" />
                    <token postag="MD" />
                </antipattern>
                <antipattern>
                    <token postag="VBZ">
                        <exception>has</exception>
                    </token>
                    <token chunk_re=".-VP" postag="VB[PD]" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|'s|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="4" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs <marker>are</marker> released.</example>
                <example>The dog is released.</example>
                <example correction="bark">She wanted to know whether the dogs <marker>barks</marker> loudly.</example>
                <example>How many hours does a scientist work per day?</example>
                <example>Migrate users to Netco Need to check with network security and/or integration team to find out when the users IDs will be converted to run on the Netco network.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token postag="IN"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="want">She asked whether the users from Asia <marker>wants</marker> to learn English.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="JJ"/>
                    <token postag="NNS"><exception postag="NNP?|NN:.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="5" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs <marker>are</marker> released.</example>
                <example>The dog is released.</example>
                <example correction="bark">How can we know whether the black dogs <marker>barks</marker> loudly?</example>
                <example>The Canadian Badlands has much to offer.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception>hedge</exception></token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war <marker>are</marker> released.</example>
                <example>The dog of war is released.</example>
                <example correction="sleep">Is this the house in which the dogs of war <marker>sleeps</marker> each night?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"><exception>many</exception></token>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog is released.</example>
                <example>How many stations is the journey to London?</example>
                <example correction="are">What happens when the dogs <marker>is</marker> released?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/><exception>media</exception></token>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog was released.</example>
                <example correction="were">What happened when the dogs <marker>was</marker> released?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog of war is released.</example>
                <example correction="are">What happens when the dogs of war <marker>is</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war <marker>are</marker> released.</example>
                <example>The dog of war was released.</example>
                <example correction="were">What happened when the dogs of war <marker>was</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs, sacrificed by the Ichma, <marker>are</marker> often found with ropes still tied around their necks.</example>
                <example correction="eat">Do you know what the dogs, which are specially trained to detect organic matter, <marker>eats</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token postag="IN"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="8" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="want">Do you know whether the users from Asia, for example, <marker>wants</marker> to learn English?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="JJ"/>
                    <token postag="NNS"><exception postag="NNP?|NN:.*" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="7" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs, for instance, <marker>are</marker> released.</example>
                <example correction="bark">He asked whether the black dogs, mostly dachshunds and terrier mixes, <marker>barks</marker> loudly.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception>hedge</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBZ"><exception regexp="yes">is|soldiers|guys|companies</exception></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="8" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war <marker>are</marker> released.</example>
                <example>The dog of war is released.</example>
                <example correction="bark">He asked whether the dogs of war, mostly dachshunds and terrier mixes, <marker>barks</marker> loudly.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog is released.</example>
                <example correction="are">What happens when the dogs, Bob and Ben, <marker>is</marker> released?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/><exception>media</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog was released.</example>
                <example correction="were">What happened when the dogs, Bob and Ben, <marker>was</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog of war is released.</example>
                <example correction="are">What happens when the dogs of war, finally, <marker>is</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"/>
                    <token postag="NNS"/>
                    <token>of</token>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dogs of war, however, <marker>are</marker> released.</example>
                <example>The dog of war, however, was released.</example>
                <example correction="were">What happened when the dogs of war, two dachshunds, <marker>was</marker> released.</example>
            </rule>
            <!-- caused by VBZNNS_NNS [was VBZNNS_DT_NNS] in disambiguation.xml: -->
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[A-Z]+</token>
                    <token regexp="yes">means|stands</token>
                </antipattern>
                <antipattern>
                    <token>includes</token>
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token>rolls</token>
                    <token>eyes</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes">provides|contains</token>
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>sports</token>
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token postag="NNS" chunk_re="B-NP.*" />
                    <token postag="NNS" chunk_re="E-NP.*" />
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token postag="VBZ">
                            <exception postag="NN.*" postag_regexp="yes"/>
                            <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                            <exception regexp="yes">physics|thanks</exception>
                        </token>
                        <token postag="VBZ"/>
                    </marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion><match no="2" postag="VBP" case_conversion="startupper"/> \3</suggestion> or <suggestion>\2 <match no="3" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="Do dogs|Does dog"><marker>Does dogs</marker> sleep more than 15 hours per day?</example>
                <example>AIDS means "Acquired Immune Deficiency Syndrome".</example>
                <example>Includes states with more than one recent poll and an average poll margin of less than 10 percentage points.</example>
                <example>Thanks guys for replying.</example><!-- TODO: requires a comma rule -->
                <example>Thanks looks good.</example>
                <example>Provides services related to the technical coordination and management of Internet number resources Don't tell anyone Tom and I were here.</example>
                <!--example><marker>Cats sleeps</marker> more than 15 hours per day.</example>< 2018-11-26 corrected VBZNNS_NNS such that it does not give 'Cats' the postag VBZ. -->
            </rule>
            <rule><!-- needed after changes in VBZNNS_NNS in disambiguation.xml [3f2b9f5]: -->
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[A-Z]+</token>
                    <token regexp="yes">means|stands</token>
                </antipattern>
                <antipattern><!-- Sports prototypes,  -->
                    <token postag="SENT_START"/>
                    <token postag="NNS"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token postag="PCT"/>
                </antipattern>
                <antipattern>
                    <token>sports</token>
                    <token>bar</token>
                </antipattern>
                <antipattern>
                    <token>Wolves</token>
                    <token>fans</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token postag_regexp='yes' postag="NNP?S">
                          <exception postag="NN(P|:.*)?" postag_regexp="yes"/>
                          <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                          <exception regexp="yes">media|earnings|savings</exception>
                          <exception>todays</exception><!-- caught by spell checker -->
                          <exception>his</exception>
                          <exception>thanks</exception>
                          <exception>Measles</exception><!-- Plural nouns treated as singular. -->
                        </token>
                        <token postag="VBZ">
                          <exception regexp='yes'>is|was</exception>
                        </token><!-- XXX is/are to allow sub-rule 41 -->
                    </marker>
                </pattern>
                <message>Possible agreement error.</message>
                <suggestion suppress_misspelled="yes"><match no="2" postag_regexp='yes' postag="(NN)S" postag_replace='$1(:UN)?'/> \3</suggestion>
                <suggestion suppress_misspelled="yes"><match no="2" postag_regexp='yes' postag="(NNP)S" postag_replace='$1(:UN)?'/> \3</suggestion>
                <suggestion suppress_misspelled="yes">\2 <match no="3" postag_regexp='yes' postag="VBP" /></suggestion>
                <short>Possible agreement error</short>
                <example correction="Other authors|Others author"><marker>Others authors</marker> such as Komarios, and Chymes...</example>
                <example correction="Cat sleeps|Cats sleep"><marker>Cats sleeps</marker> more than 15 hours per day.</example><!-- 'Cat sleeps more than... ' is not good English. -->
                <example correction="Alga has|Algae have"><marker>Algae has</marker> emerged in recent years as a popular source of om...</example>
                <example correction="User sees|Users see"><marker>Users sees</marker> LT icon in Word.</example><!--  #2169 -->
                <example><marker>Other authors</marker> such as Komarios, and Chymes...</example>
                <example><marker>Media sells</marker> a trace of hatred at bargain prices.</example><!-- TODO media should also be tagged as singular noun-->
                <example><marker>Does dogs</marker> sleep more than 15 hours per day?</example>
                <example>AIDS means "Acquired Immune Deficiency Syndrome".</example>
                <example>Sports prototypes, unlike GT cars, do not rely on...</example>
                <example>His does not work.</example>
                <example>Thanks looks good.</example>
                <example>Measles makes people very sick.</example><!-- Premium #1795 -->
                <example>Confetti drops over the crowd as the clock strikes midnight.</example><!-- Premium #1795 -->
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="SENT_START"/></token>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="NNS"><exception postag="NN|NN:UN?|PRP\$" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker><token postag="VBZ"/></marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="prevent">This infrared radiation rises into the atmosphere where gases, such as carbon dioxide, <marker>prevents</marker> the infrared radiation from escaping into space.</example>
            </rule>
            <rule>
                <antipattern><!-- MFU 2019/03/06 fix for 'bachelors and masters programs' probably caused by MFU disambiguation changes on 2019/03/06. -->
                    <token regexp="yes">wh(ich|o)</token>
                    <token postag="VBZ"/>
                    <token postag="NNS"/>
                    <token regexp="yes">and|or</token>
                    <token postag="NNS"/>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern>
                    <token>what</token>
                    <token regexp="yes">matters|ways</token>
                    <token regexp="yes">is|does</token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="SENT_START"/>
                        <exception>but</exception>
                    </token>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="NNS">
                        <exception postag="NN|NN:UN?|PRP\$" postag_regexp="yes"/>
                        <exception regexp="yes">makes|helps|works|comes|tells</exception>
                    </token>
                    <marker><token postag="VBZ"/></marker>
                </pattern>
                <message>Possible agreement error. You should probably use: <suggestion><match no="4" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="prevent">This infrared radiation rises into the atmosphere where gases <marker>prevents</marker> the infrared radiation from escaping into space.</example>
                <example>This infrared radiation rises into the atmosphere where gases <marker>prevent</marker> the infrared radiation from escaping into space.</example>
                <example>... University of Aruba (UA) which offers <marker>bachelors</marker> and masters programs in law, finance and economic...</example>
                <example>But what matters is that nobody cared.</example>
            </rule>
            <!--rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token/>
                    <token>and</token>
                    <token/>
                    <marker>
                        <token postag="VBZ"><exception postag="NN.*" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="5" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="have">Tina and Peter <marker>has</marker> two children.</example>
            </rule-->
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception>each</exception></token>
                    <token>
                        <exception>,</exception>
                        <exception postag="UNKNOWN" />
                    </token>
                    <token>and</token>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token/>
                    <marker>
                        <token postag="VBZ"><exception postag="NN.*" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="7" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="are">The teacher and her students <marker>is</marker> in the classroom.</example>
                <example>Each dog and each cat <marker>is</marker> well groomed.</example>
                <example correction="sing">Her mother and her father <marker>sings</marker> a song.</example>
                <example>No, and it's not in my pocket either.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>and</token>
                    <token>my</token>
                    <token>name</token>
                    <token>is</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="NNP"/>
                    <token>and</token>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token/>
                    <marker>
                        <token postag="VBZ"><exception postag="NN.*" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBP"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="sing">Tina and her father <marker>sings</marker> a song.</example>
                <example>Tom and my name is Rishi.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token>Each</token>
                    <token>of</token>
                    <token>the</token>
                    <token postag="NNS"/>
                    <marker>
                        <token postag="VBP"><exception postag="NN.*|VB[DGZ]|JJ" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>You should probably use <suggestion><match no="6" postag="VBZ"/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="is">Each of the children <marker>are</marker> happy.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token>Both</token>
                    <marker><token postag='NN'><exception postag='VBP|IN|JJ|NNP?S' postag_regexp='yes'></exception></token></marker>
                    <token postag="VB[DP]" postag_regexp="yes"/>
                 </pattern>
                 <message>Please check whether 'Both' should be followed by a plural form.</message>
                 <suggestion><match no="3" postag="NN" postag_regexp="yes" postag_replace="NNS"/></suggestion>
                 <example correction='elements'>Both <marker>element</marker> are red.</example>
                 <example correction='children'>Both <marker>child</marker> love my mother.</example>
                 <example>Both <marker>aircraft</marker> crashed.</example>
                 <example>My parents are both fine.</example>
                 <example>Both Fresnel and Stokes' theories were popular.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token>Both</token>
                    <token>of</token>
                    <token>them</token>
                    <marker><token postag='VBZ'><exception postag='VB[PGD]?' postag_regexp='yes'></exception></token></marker>
                 </pattern>
                 <message>Please check whether 'Both of them' should be followed by a plural form.</message>
                 <suggestion><match no="5" postag="VBZ" postag_regexp="yes" postag_replace="VBP"/></suggestion>
                 <example correction='believe'>Both of them <marker>believes</marker> in God.</example>
                 <example>Both of them <marker>believed</marker> in God.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token/>
                    <token regexp="yes">is|was</token>
                    <token regexp="yes">an?|one|the</token>
                </antipattern>
                <antipattern><!-- https://en.wikipedia.org/wiki/Asteroids_(video_game) -->
                    <token postag="SENT_START"/>
                    <token skip="-1">Asteroids
                        <exception regexp="yes">arcade|Atari|game|video</exception></token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token>is</token>
                    <token postag="RB" min="0" />
                    <token>spelled</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token postag="NNS">
                        <exception postag="VB.|NN(:UN?|PS?)?|PRP\$" postag_regexp="yes"/>
                        <exception case_sensitive="yes" regexp="yes">[A-Z]+</exception>
                        <exception regexp="yes">Maths|Sports|Windows|Billiards|.+ics|measles|earnings|savings</exception>
                    </token>
                    <marker><token regexp="yes">is|was</token></marker>
                 </pattern>
                 <message>You should probably use: <suggestion>are</suggestion> or <suggestion>were</suggestion>.</message>
                 <short>Possible agreement error</short>
                 <example correction="are|were">Cars <marker>is</marker> useful.</example>
                 <example>Gambling is forbidden</example>
                 <example>Windows is a type of computer operating system.</example>
                 <example>Asteroids was so popular that video arcade operators sometimes ...</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token regexp="yes">in|of</token>
                    <token postag="NNP|UNKNOWN" postag_regexp="yes"/>
                    <marker>
                        <token>is</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>are</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog is released.</example>
                <example correction="are">The dogs of Peter <marker>is</marker> released.</example>
                <example correction="are">The chemicals in Botox <marker>is</marker> released.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/></token>
                    <token regexp="yes">in|of</token>
                    <token postag="NNP|UNKNOWN" postag_regexp="yes"/>
                    <marker>
                        <token>was</token>
                    </marker>
                </pattern>
                <message>You should probably use: <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example>The dog is released.</example>
                <example correction="were">The dogs of Peter <marker>was</marker> released.</example>
                <example correction="were">The chemicals in Botox <marker>was</marker> released.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>The</token>
                    <token>mass</token>
                    <token>of</token>
                    <token/>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token>The</token>
                    <token postag="NN:UN"><exception postag="NNS"/></token>
                    <token>of</token>
                    <token postag="JJ" min="0"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <marker><token chunk="B-VP" postag="VBP?" postag_regexp="yes"><exception postag="VB[ZD]|RB" postag_regexp="yes"/></token></marker>
                </pattern>
                <message>Possible agreement error.</message>
                <suggestion><match no="6" postag="VBZ"/></suggestion>
                <example correction="is">The smell of apples <marker>are</marker> great.</example>
                <example correction="has">The number of Aleut <marker>have</marker> dwindled to about 2,000.</example>
                <example>The lack of modern post facilities caused trouble for many shippers.</example>
                <example>The people of London are very proud of this bridge.</example>
                <example>The level of arsenic found in Sami's stomach was enough to kill 4 horses.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AGREEMENT_QUESTION" name="agreement error: auxiliary verb (do/have) and subject in questions">
            <rule>
                <antipattern>
                    <token>do</token>
                    <token regexp="yes">th[oe]se|many|all</token>
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" postag="VB" />
                </antipattern>
                <antipattern>
                    <token>do</token>
                    <token chunk_re="B-NP-plural" />
                    <token chunk_re="[EI]-NP-plural" min="1" max="4" />
                    <token postag="VB" />
                    <token postag="IN|DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" min="0">wh(at|ere|en)</token>
                    <marker><token>Do</token></marker>
                    <token postag="PRP\$|DT" postag_regexp="yes"></token>
                    <token postag="NN(:UN)?" postag_regexp="yes"><exception postag="NNP?S" postag_regexp="yes" /></token>
                    <token postag="VB" skip="-1"></token>
                    <token>?</token>
                </pattern>
                <message>You should probably use <suggestion>does</suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="Does"><marker>Do</marker> your father live in England?</example>
                <example correction="Does"><marker>Do</marker> the man like you?</example>
                <example>Do those look right?</example>
                <example>Do these still have air shocks with a pump?</example>
                <example>Do the zip file installation steps work for Spring Boot?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" min="0">wh(at|ere|en)</token>
                    <marker><token>Have</token></marker>
                    <token postag="PRP\$|DT" postag_regexp="yes"></token>
                    <token postag="NN(:UN)?" postag_regexp="yes"><exception postag="NNP?S" postag_regexp="yes" /></token>
                    <token postag="VBN" skip="-1"></token>
                    <token>?</token>
                </pattern>
                <message>You should probably use <suggestion>has</suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="Has"><marker>Have</marker> your father lived in England?</example>
                <example correction="Has"><marker>Have</marker> the man talked to you?</example>
                <example correction="has">Where <marker>have</marker> the man been?</example>
                <example>Have the police questioned you?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" min="0">wh(at|ere|en)</token>
                    <marker><token>Has</token></marker>
                    <token postag="PRP\$|DT" postag_regexp="yes"></token>
                    <token postag="NNS"><exception postag="NN(:UN)?" postag_regexp="yes"/></token>
                    <token postag="VBN" skip="-1"></token>
                    <token>?</token>
                </pattern>
                <message>You should probably use <suggestion>have</suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="Have"><marker>Has</marker> your parents told you everything?</example>
                <example correction="have">When <marker>has</marker> your parents told you the truth?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" min="0">wh(at|ere|en)</token>
                    <marker><token>Does</token></marker>
                    <token postag="PRP\$|DT" postag_regexp="yes"></token>
                    <token postag="NNS"><exception postag="NN(:UN)?" postag_regexp="yes"/></token>
                    <token postag="VBP?" postag_regexp="yes" skip="-1"></token>
                    <token>?</token>
                </pattern>
                <message>You should probably use <suggestion><match no="3" regexp_match="(?i)es" regexp_replace=""/></suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="Do"><marker>Does</marker> your parents live in England?</example>
                <example correction="do">What <marker>does</marker> your parents know?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <marker>
                        <token regexp="yes">is|was</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes"/>
                    <token postag="NNS"><exception postag="NN(:.+)?" postag_regexp="yes"/><exception>media</exception></token>
                    <token>?</token>
                </pattern>
                <message>You should probably use <suggestion>are</suggestion> or <suggestion>were</suggestion>.</message>
                <short>Possible agreement error</short>
                <example correction="are|were">Where <marker>is</marker> your dogs?</example>
                <example correction="are|were">Where <marker>was</marker> the cars?</example>
            </rule>
        </rulegroup>
        <rule id="A_HUNDREDS" name="a hundreds (hundred)">
            <pattern>
                <token regexp="yes">a|one</token>
                <token regexp="yes">hundreds|thousands|[bm]illions|trillions|quadrillions</token>
            </pattern>
            <message>Possible agreement error. Consider using: <suggestion><match no="1"/> <match no="2" regexp_match="(.*)s" regexp_replace="$1"/></suggestion></message>
            <short>Possible agreement error</short>
            <example correction="A hundred"><marker>A hundreds</marker> people were in the store.</example>
            <example correction="One million"><marker>One millions</marker> ants were on the ground.</example>
            <example>The dinosaurs began dying <marker>either thousands</marker> or millions of years ago.</example>
            <example><marker>The thousands</marker> of students on campus when protesting.</example>
            <example>It would go up to 21 millions by 1966.</example>
        </rule>
        <rule id="COUPLE_OF_TIMES" name="couples of times (couple of times)">
            <antipattern>
                <token>couple</token>
                <token>of</token>
                <token regexp="yes">times|things</token>
            </antipattern>
            <pattern>
                <token regexp="yes">couples?</token>
                <token regexp="yes">off?</token>
                <token regexp="yes">times?|things?</token>
            </pattern>
            <message>Did you mean <suggestion>couple of times</suggestion>?</message>
            <example correction="couple of times">I tried it a <marker>couples of times</marker>.</example>
        </rule>
        <rule id="A_NUMBER_NNS" name="number (of) years">
            <antipattern><!-- #3272 a number variable reaches 4 -->
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="JJ|NN(:UN?)?"/>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="VBZ"/><!-- reaches/I-NP-plural -->
                <token postag="CD"/>
            </antipattern>
            <pattern>
                <token>a</token>
                <token regexp="yes" min="0">good|great|high|big|huge|small|tiny|little|low|long|fine|decent</token>
                <marker>
                    <token>number</token>
                </marker>
                <token postag="JJR?" postag_regexp="yes" min="0">
                    <exception postag="IN" />
                </token>
                <token postag="NNS" />
            </pattern>
            <message>Did you mean <suggestion>\3 of</suggestion>?</message>
            <example correction="number of">For a <marker>number</marker> years, I was a caretaker.</example>
            <example>Each egg and skin has been assigned a number by specialists.</example>
            <example>Loop until a number variable reaches 4.</example><!-- #3272 -->
        </rule>
        <rule id="A_CD_NNS" name="I have a 20 cars (I have 20 cars)">
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token postag="NNS" />
                <token>to</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">days|weeks|months</token>
                <token>a</token>
                <token regexp="yes">day|week|month|year</token>
            </antipattern>
            <antipattern><!-- a seven nights or more package -->
                <token regexp="yes">an?</token>
                <token postag="CD" />
                <token postag="NNS" />
                <token regexp="yes">or|and|&amp;</token>
                <token postag="JJR" />
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- a 30 minutes walk -->
                <token postag="CD" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="NN.*|JJ.*" postag_regexp="yes">
                    <exception regexp="yes">left|anyway|anyhow|somehow|if|ago</exception>
                </token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes">or|and|&amp;|-|–</token>
                <token postag="CD" min="0" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="NN.*|JJ.*" postag_regexp="yes">
                    <exception regexp="yes">left|anyway|anyhow|somehow|if|ago</exception>
                </token>
            </antipattern>
            <antipattern><!-- a 30 minutes slot (wrong tagging) -->
                <token postag="CD" />
                <token postag="NNS" />
                <token regexp="yes">slot|full|rise</token>
            </antipattern>
            <antipattern><!-- worth a 1000 words -->
                <token>worth</token>
                <token regexp="yes">an?</token>
            </antipattern>
            <antipattern><!-- worth more than a 1000 words -->
                <token>worth</token>
                <token>more</token>
                <token regexp="yes">th[ea]n</token>
                <token regexp="yes">an?</token>
            </antipattern>
            <antipattern>
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
            </antipattern>
            <antipattern><!-- a three fourths (3/4) vote -->
                <token regexp="yes">an?</token>
                <token postag="CD" />
                <token postag="NNS" />
                <token>(</token>
                <token regexp="yes">\d+</token>
                <token regexp="yes">[/:]</token>
                <token regexp="yes">\d+</token>
                <token>)</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token skip="2" postag="CD" />
                <token>per</token>
                <token postag="N.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">an?</token>
                    <token postag="CD" spacebefore="yes">
                        <exception regexp="yes">billion|trillion|million|thousand|hundred|milliard|quadrillion</exception>
                        <exception regexp="yes">1[4-9]\d{2}</exception>
                        <exception regexp="yes">2[01]\d{2}</exception>
                        <exception postag="NNP" />
                    </token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NNP?S" postag_regexp="yes">
                    <exception postag="NN|NN:UN?|NNP" postag_regexp="yes" />
                </token>
            </pattern>
            <message>The article "\1" is not needed here.</message>
            <suggestion>\2</suggestion>
            <example correction="150">I have received <marker>a 150</marker> likes.</example>
            <example correction="545">By 1802, the estimation of inhabitants was at 933 with <marker>a 545</marker> slaves.</example>
            <example correction="two">I have <marker>a two</marker> questions.</example>
            <example correction="140"><marker>A 140</marker> bucks for a new fender.</example>
            <example correction="three">We only have <marker>a three</marker> hours left.</example>
            <example correction="two">After <marker>a two</marker> months, 82 ideas for datasets, 386 voters, thirteen civil society organisation consultations and very active discussions on the Index forum, we have finally arrived at a consensus.</example>
            <example correction="three">About <marker>a three</marker> weeks ago, I decided to move my hub 16" further away from my upstairs wireless access point.</example>
            <example correction="100">This book is translated into 36 languages and has been published in more than <marker>a 100</marker> countries all over the world.</example>
            <example correction="two">That said, there are <marker>a two</marker> options I can think of.</example>
            <example correction="100">It has less than <marker>a 100</marker> virtual hosts, most of them small sites.</example>
            <example correction="1000">Layla wanted to get <marker>a 1000</marker> dollars out of Fadil.</example>
            <example correction="100">Layla barely weighed <marker>a 100</marker> pounds.</example>
            <example correction="1000">Besides, there is no way to test <marker>a 1000</marker> temporary IDs anyway.</example>
            <example correction="two">We already have <marker>a two</marker> cabins to stay in right on the Llano river.</example>
            <example correction="2">I typed this up <marker>a 2</marker> hours ago, but forgot to post it.</example>
            <example correction="1000">If you can go <marker>a 1000</marker> miles before adding oil I would not worry about it.</example>
            <example correction="two">The last time I heard voices was <marker>a two</marker> weeks ago so my psychiatrist increased my medicine.</example>
            <example correction="2">Most of the companies on the attached list received <marker>a 2</marker> mailings from Enron earlier this year.</example>
            <example correction="forty-five">After <marker>a forty-five</marker> minutes or so of jokes and music, the procession then moves out to the lawn in front of Hartley, Wallach and John Jay residence halls to entertain the residents there.</example>
            <example>By 1841, there were over half a million peasant farmers, with 1.75 million dependants.</example>
            <example>In a 30 minutes slot.</example>
            <example>He flew A380 airplanes.</example>
            <example>In accordance with Section 8 of the original Plan, in 1997 the amended Plan was approved by a three fourths (3/4) vote of the Board.</example>
            <example>Hotel Finisterra would like to offer you two additional nights free with a seven nights or more vacation package.</example>
            <example>The International Date Line, established in 1884, passes through the mid-Pacific Ocean and roughly follows a 180 degrees longitude north-south line on the Earth.</example>
            <example>Over a 40 years period there would be a difference greater than 780,000 miles.</example>
            <example>Using a five parameters analytical form for the discount factors, and minimizing the sum of absolute errors, I can derive a smooth zero curve.</example>
            <example>This annual event grew out of a 1988 Seven Sisters conference.</example>
            <example>For about $35.00 they claim to give you a four months supply.</example>
            <example>For example, process sampling is done at a 10 seconds rate.</example>
            <example>And you use a 90 days valid certificate.</example>
            <example>This is not a five minutes task to solve.</example>
            <example>So in a 1 weeks window you’re going to have X number of plot-table points.</example>
            <example>May we therefore ask you for a two months' extension of credit?</example>
            <example>It's a ten minutes walk to the bus stop.</example>
            <example>A picture is worth a 1000 words with this one.</example>
            <example>Wayde van Niekerk's coach is a 74 years old great-grandmother.</example>
            <example>Ok, It has a 9 terminals connector according to auto parts store.</example>
            <example>It is a six hours' drive from Sofia to Varna.</example>
            <example>A 2016 paper challenges the view that cultural differences are necessarily an obstacle to long-run economic performance of migrants.</example>
            <example>Enter the Dragon is a 1973 martial arts action film produced by and starring Bruce Lee.</example>
            <example>I need to offer you at least a five days written notice of the ARD so if tomorrow will work for you, would you be willing to waive the 5 days prior notice.</example>
            <example>It is estimated that by 2050, a 3 feet rise in sea levels will inundate some 20 percent of the land and displace more than 30 million people.</example>
            <example>AB 82xx (Keeley) Electric Utility Rate Stabilization Act of 2001 passed out of Assembly Energy Costs and Availability Committee Wednesday evening on a 11 AYES and 9 NOES vote.</example>
            <example>The president is the project director of the Littleport Ice Stadium Project and plans are already drawn for a 400 metres indoor speed skating oval and an inner ice pad 100 x 60 metres bandy pitch.</example>
            <example>We are experiencing a 40 seconds delay because of it.</example>
            <example>In May, MG agreed to a 300 pence per share cash offer from Enron.</example>
        </rule>
        <rulegroup id="A_NNS" name="Agreement: 'a' + plural word">
            <antipattern><!-- caught by AN_AND -->
                <token regexp="yes">on|yes|off</token>
                <token>an</token>
                <token regexp="yes">off|no|on</token>
                <token chunk="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token>one</token>
                <token>of</token>
                <token>a</token>
                <token>kind</token>
            </antipattern>
            <antipattern><!-- "U.S.A" -->
                <token case_sensitive="yes" regexp="yes">[A-Z]+</token>
                <token spacebefore="no">.</token>
                <token case_sensitive="yes" spacebefore="no">A</token>
            </antipattern>
            <antipattern><!-- "L.A" -->
                <token case_sensitive="yes">L</token>
                <token spacebefore="no">.</token>
                <token case_sensitive="yes" spacebefore="no">A</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token regexp="yes" spacebefore="no">[a-z]</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">a</token>
            </antipattern>
            <antipattern><!-- bullet point "4.a" -->
                <token postag="CD"/>
                <token spacebefore="no">.</token>
                <token spacebefore="no">a</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>us</token>
                <token>of</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">[A-Z]</token>
                <token>/</token>
                <token>A</token>
            </antipattern>
            <antipattern><!-- https://support.dnsimple.com/articles/a-record/ -->
                <token case_sensitive="yes">A</token>
                <token regexp="yes">levels?|records?</token>
            </antipattern>
            <antipattern><!-- "He registered a ups.com user" -->
                <token regexp="yes" skip="2">an?</token>
                <token>.</token>
                <token regexp="yes" spacebefore="no">\w{2,6}</token>
            </antipattern>
            <antipattern><!-- Spanish name -->
                <token>a</token>
                <token>las</token>
            </antipattern>
            <antipattern><!-- A Creative Commons Attribution -->
                <token>Creative</token>
                <token>Commons</token>
                <token />
            </antipattern>
            <antipattern>
                <token>A</token>
                <token>nucleotides</token>
            </antipattern>
            <antipattern><!-- https://www.merriam-webster.com/dictionary/a%20ways%20to%20go / https://en.wiktionary.org/wiki/ways -->
                <token>a</token>
                <token regexp="yes">little|short|long|small|big|fair</token>
                <token>ways</token>
            </antipattern>
            <antipattern><!-- https://www.merriam-webster.com/dictionary/a%20ways%20to%20go / https://en.wiktionary.org/wiki/ways -->
                <token>a</token>
                <token>ways</token>
                <token regexp="yes">to|behind|from|down|off|away|back</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;|evidence</token>
                <token case_sensitive="yes">A</token>
            </antipattern>
            <antipattern><!-- Qur'an -->
                <token regexp="yes">Qur|Ma</token>
                <token regexp="yes">&apostrophe;</token>
                <token>an</token>
            </antipattern>
            <antipattern><!-- "a.k.a" -->
                <token>a</token>
                <token>.</token>
                <token>k</token>
                <token>.</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token>honors</token>
                <token>thesis</token>
            </antipattern>
            <antipattern>
                <token>_</token>
                <token spacebefore="no">a</token>
            </antipattern>
            <antipattern>
                <token skip="-1">a</token>
                <token regexp="yes" spacebefore="yes">b|c|d</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token skip="-1">A</token>
                <token spacebefore="yes">A</token>
            </antipattern>
            <antipattern>
                <token skip="-1" spacebefore="yes">B</token>
                <token regexp="yes">A</token>
            </antipattern>
            <antipattern><!-- an apples to apples comparison -->
                <token regexp="yes">an?</token>
                <token>apples</token>
                <token>to</token>
                <token postag="NNS" />
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">heads|thumbs|studs|bottoms</token>
                <token regexp="yes">up|down</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token>American</token>
                <token regexp="yes">Airlines|Booksellers</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>cappella</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>records</token>
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>cattle</token>
                <token>breed</token>
            </antipattern>
            <antipattern><!-- retail company -->
                <token>whole</token>
                <token>foods</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>once</token>
                <token>in</token>
                <token>a</token>
                <token>lifetime</token>
                <token>events</token>
            </antipattern>
            <antipattern><!-- idiom https://en.wiktionary.org/wiki/stone%27s_throw (caught by POSSESSIVE_APOSTROPHE) -->
                <token>stones</token>
                <token>throw</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">A</token>
                <token regexp="yes">divisions?|grade[sd]?|molecules</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">months|weeks|years</token>
                <token>long</token>
            </antipattern>
            <antipattern><!-- an operations center campus -->
                <token regexp="yes">an?</token>
                <token postag="NNS"/><!-- operation/E-NP-plural, thus cannot use the chunker -->
                <token postag="JJ|NN(:UN?)?" postag_regexp="yes"/>
                <token postag="NN(:UN?)?" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- A lawyers only meeting / a pets friendly office -->
                <token skip="1" regexp="yes">an?</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes">only|friendly</token>
                <token postag="NN(:UN?)?|NNP" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- moving from an assets based to an ... -->
                <token skip="1" regexp="yes">an?</token>
                <token chunk="E-NP-plural" />
                <token regexp="yes">based|powered|oriented</token>
            </antipattern>
            <antipattern><!-- a wires only company -->
                <token regexp="yes">an?</token>
                <token postag="NNS" chunk="E-NP-plural" />
                <token>only</token>
                <token chunk="B-NP-singular" />
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">an?</token>
                <token>terms</token>
                <token>of</token>
                <token>service</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">Gems|Spoils</token>
                <token>of</token>
                <token>War</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- He listens to a Sisters of Mercy song / A Centers for Disease study -->
                <token regexp="yes">[Aa]n?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" />
                <token regexp="yes" chunk="E-NP-plural">[A-Z].*</token>
                <token regexp="yes">[Oo]f|[Ff]or</token>
                <token min="0" regexp="yes">[Tt]he</token>
                <token regexp="yes">[A-Z].*</token>
                <token />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- A Centers for Disease study -->
                <token regexp="yes">[Aa]n?</token>
                <token regexp="yes" chunk="E-NP-plural">[A-Z].*</token>
                <token regexp="yes">[Oo]f|[Ff]or</token>
                <token min="0" regexp="yes">[Tt]he</token>
                <token regexp="yes">[A-Z].*</token>
                <token />
            </antipattern>
            <antipattern>
                <token regexp="yes">triple|double|single|A</token>
                <token>A</token>
                <token>batteries</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes" spacebefore="no">an?</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>A</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern><!--  #2069. a good chance things will not become worse. -->
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJ" postag_regexp="yes" />
                <token postag_regexp="yes" postag="NN:UN?" chunk_re="E-NP.*" />
                <token postag="NNS"/>
                <token postag="MD"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" min="0" max="2" />
                <token regexp="yes" chunk="E-NP-plural">measles|masters|bachelors|associates|headquarters|innings|cms|maxima|optima</token><!-- maxima, optima are car model names -->
            </antipattern>
            <antipattern><!-- An earnings release / A comics nerd -->
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" min="0" max="2" />
                <token regexp="yes" chunk="E-NP-plural">earnings|relations|arms|savings|arts|rights|officials|sports|maths|olympics|synthetics|narcotics|mains|comics|communications|motions|insights</token><!-- common plural nouns -->
                <token postag="NN.*|CC|UNKNOWN" postag_regexp="yes" regexp="yes">
                    .*[a-z].*
                    <exception>for</exception><!-- "for" is CC but in this case not helpful -->
                </token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="JJR?|NN|NN:UN?" postag_regexp="yes" min="0" max="2" />
                <token regexp="yes" chunk="E-NP-plural">stats|(down|up|back|for)wards|(in|out)doors|anyways|sideways|thanks</token><!-- A big thanks to Carl-->
            </antipattern>
            <antipattern><!-- football/soccer teams -->
                <token case_sensitive="yes" chunk="E-NP-plural" regexp="yes">Reds|Cowboys|Knicks|Jets|Oilers</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" min="0" max="2" />
                <token regexp="yes" chunk="E-NP-plural" case_sensitive="yes">[A-Z]+</token><!-- common plural nouns -->
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?|NNP" postag_regexp="yes" min="0" max="2" />
                <token chunk="E-NP-plural" />
                <token spacebefore="no">'s</token> <!--TODO: not reliable, because next word could be plural -->
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="[NJ].*|POS" postag_regexp="yes" min="0" max="4" />
                <token>series</token>
            </antipattern>
            <antipattern><!-- It's a ten minutes walk -->
                <token regexp="yes">an?</token>
                <token postag="JJR?" postag_regexp="yes" min="0" />
                <token postag="CD" />
                <token chunk="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" min="0" max="2" />
                <token chunk="E-NP-plural" />
                <token regexp="yes">&hyphen_modifier;|(hard)?wired</token>
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token regexp="yes">few|.*dozen|time|hundred|thousand|million|gazillion|zillion</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="JJR?" postag_regexp="yes" />
                <token regexp="yes">few|.*dozen|time|hundred|thousand|million|gazillion|zillion</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Actions_on_Google -->
                <token>Actions</token>
                <token>on</token>
                <token>Google</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token postag="JJR?" postag_regexp="yes" min="0" />
                <token>works</token>
                <token>with</token>
                <token postag="NNP|UNKNOWN" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- incorrect tagging: "I’m not an integrations expert - so I’ll go" / "There is a permissions API you can use to check those permissions." -->
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" min="0" />
                <token chunk="E-NP-plural" />
                <token postag="NN.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[A-Z].*</token>
            </antipattern>
            <antipattern><!-- incorrect tagging: "I’m not an integrations expert - so I’ll go" / "There is a permissions API you can use to check those permissions." -->
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" min="0" />
                <token chunk="E-NP-plural" />
                <token regexp="yes">implementation|folder|file|feature</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token postag="NN|NN:UN?|JJR?" postag_regexp="yes" />
                <token chunk="E-NP-plural">hands</token>
                <token regexp="yes">free|on</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural">glasses</token>
                <token>wearer</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>bare</token>
                <token>bones</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- It is a Pearls Before Swine comic -->
                <token regexp="yes">an?</token>
                <token regexp="yes" chunk="E-NP-plural">[A-Z].*</token>
                <token regexp="yes" skip="2">[A-Z].*</token>
                <token regexp="yes">[a-z].*|\p{P}</token>
            </antipattern>
            <antipattern>
                <token>rags</token>
                <token>to</token>
                <token>riches</token>
            </antipattern>
            <antipattern><!-- A variables.txt -->
                <token chunk="E-NP-plural" />
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern><!-- A seconds to milliseconds conversion -->
                <token regexp="yes">an?</token>
                <token postag="NNS" chunk="E-NP-plural" />
                <token>to</token>
                <token postag="NNS" />
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- misspelled "SmartThings" -->
                <token>smart</token>
                <token chunk="E-NP-plural">things</token>
            </antipattern>
            <antipattern><!-- the A forwards to ...-->
                <token>the</token>
                <token>a</token>
            </antipattern>
            <antipattern><!-- missing hyphen "an all-girls school" -->
                <token regexp="yes">an?</token>
                <token>all</token>
                <token chunk="E-NP-plural" regexp="yes">girls|boys</token>
            </antipattern>
            <antipattern><!-- "rails" and "grails" are programming languages -->
                <token chunk="E-NP-plural" skip="1" regexp="yes">g?rails</token>
                <token regexp="yes">apps?|applications?|servers?|test.*|packages?|code|repository|programming|views?|\d+|models?|filters?|controllers?|config.*|errors?|exceptions?|templates?</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural">rules</token>
                <token>engine</token>
            </antipattern>
            <antipattern><!-- "rails" and "grails" are programming languages -->
                <token chunk="E-NP-plural" case_sensitive="yes" regexp="yes">Rails|Grails</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural">savings</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token chunk="E-NP-plural" regexp="yes">(milli)?seconds|minutes|hours|days|weeks|months|years|decades|moments|centuries|generations</token>
                <token regexp="yes">ago|earlier|early|later?|before|after|prior|untill?|till?|beforehand</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="NN.*|JJ.*" postag_regexp="yes" />
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token chunk="E-NP-plural" regexp="yes">(milli)?seconds|minutes|hours|days|weeks|months|years|decades|moments|centuries|generations</token>
                <token regexp="yes">ago|earlier|early|later?|before|after|prior|untill?|till?|beforehand</token>
            </antipattern>
            <antipattern><!-- different error (missing apostrophe) -->
                <token chunk="E-NP-plural">runners</token>
                <token>high</token>
            </antipattern>
            <antipattern>
                <token>A</token>
                <token>plus</token>
            </antipattern>
            <antipattern>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token regexp="yes">miles|feet|kilo(metres|meters)|metres|meters</token>
                <token>away</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>na</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z]</token>
                <token regexp="yes">&amp;|and|or</token>
                <token>A</token>
                <token chunk="E-NP-plural" regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token regexp="yes">couple|lot|bunch|ton|few</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I have an Aeon Labs account. -->
                <token regexp="yes">an?</token>
                <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
                <token case_sensitive="yes">Labs</token>
            </antipattern>
            <antipattern><!-- two and a half years ... -->
                <token postag="CD" />
                <token regexp="yes">and|&amp;</token>
                <token regexp="yes">an?</token>
                <token>half</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- The R.A works ... -->
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">A</token>
            </antipattern>
            <antipattern><!-- a post months and months ago -->
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
                <token regexp="yes">and|&amp;</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token>ago</token>
            </antipattern>
            <antipattern>
                <token>vis</token>
                <token>a</token>
                <token>vis</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes" skip="-1">assign|give|provide|send|forward|email|grant|teach|train</token>
                <token regexp="yes">an?</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="IN|TO|PCT|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>A</token>
                <token>stands</token>
                <token>for</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">an?</token>
                <token postag="NNP?|NN:UN?" postag_regexp="yes" />
                <token>dozens</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- You will see what an American looks like -->
                <token>what</token>
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?|JJ.*" postag_regexp="yes" min="0" />
                <token postag="NNP" />
                <token postag="VBZ" />
                <token>like</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/steelworks -->
                <token regexp="yes" chunk="E-NP-plural">(steel|iron)works</token>
            </antipattern>
            <antipattern>
                <token>estimated</token>
                <token>tens</token>
                <token>of</token>
                <token regexp="yes" chunk="E-NP-plural">[mb]illions</token>
            </antipattern>
            <antipattern><!-- www.lexico.com/definition/clever_dick -->
                <token chunk="B-NP-plural"/>
                <token>clever</token>
                <token>clogs</token>
            </antipattern>
            <antipattern><!-- www.lexico.com/definition/fireworks_display -->
                <token>fireworks</token>
                <token>display</token>
            </antipattern>
            <antipattern><!-- www.lexico.com/definition/warts_and_all -->
                <token chunk="B-NP-plural"/>
                <token>warts</token>
                <token>and</token>
                <token>all</token>
            </antipattern>
            <antipattern><!--  a displaced persons (DP) camp -->
                <token chunk="B-NP-plural" regexp="yes">an?</token>
                <token postag="JJ"/>
                <token chunk="E-NP-plural"/>
                <token>(</token>
                <token regexp="yes">\p{Lu}+</token>
                <token>)</token>
                <token chunk="E-NP-singular"/>
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP-plural">settings</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Is there a way users can do this themselves? -->
                <token>a</token>
                <token chunk_re="I-NP.*" regexp="yes">way|shame|thing</token>
                <token chunk_re="E-NP-plural" />
                <token postag="RB" min="0" max="2" />
                <token postag="VB[GDP]?|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>guild</token>
                <token chunk="E-NP-plural">wars</token>
            </antipattern>
            <antipattern><!-- I know right now it is a Green Eggs and Ham quote but that doesn’t hold a candle to Lion King! -->
                <token>Green</token>
                <token>Eggs</token>
                <token regexp="yes">and|&amp;</token>
                <token>Ham</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>little</token>
                <token>nuts</token>
            </antipattern>
            <antipattern><!-- That's just an old wives' tale. -->
                <token regexp="yes">an?</token>
                <token postag="NNP?|NN:UN?|JJR?" postag_regexp="yes" min="0" />
                <token chunk="E-NP-plural" />
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
                <token min="0">s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN|NN:UN?|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!--the fear of not enough is a problem humans have been battling with for millennia. -->
                <token regexp="yes">an?</token>
                <token postag="NNP?|NN:UN?" postag_regexp="yes" chunk_re="I-NP.*">
                    <exception>multiple</exception>
                </token>
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="VB[DP]?|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!--the fear of not enough is a problem humans are dealing with. -->
                <token regexp="yes">an?</token>
                <token postag="NNP?|NN:UN?" postag_regexp="yes" chunk_re="I-NP.*">
                    <exception>multiple</exception>
                </token>
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token regexp="yes">aren?|weren?|haven?</token>
            </antipattern>
            <antipattern><!-- Perhaps there's a wrong hosts entry -->
                <token skip="1">hosts</token>
                <token regexp="yes">txt|file|entry</token>
            </antipattern>
            <antipattern><!-- Fox News (...) is a United States pay television news channel. -->
                <token regexp="yes">an?</token>
                <token>United</token>
                <token chunk_re="E-NP.*">States</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- ... is a trend companies and regulators in Latin America want to encourage. -->
                <token regexp="yes">an?</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token postag="JJR?|NNP?|NN:UN?" postag_regexp="yes" min="0" chunk_re=".-NP-plural" />
                <token postag="NNP?S" postag_regexp="yes" min="0" chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern><!-- A children's party -->
                <token regexp="yes">an?</token>
                <token/>
                <token postag="POS" chunk="B-NP-singular"/>
            </antipattern>
            <antipattern><!-- An unprecedented consumers' boycott -->
                <token regexp="yes">an?</token>
                <token postag="J.*" postag_regexp="yes"/>
                <token postag="N.*" postag_regexp="yes"/>
                <token postag="POS" chunk="B-NP-singular"/>
            </antipattern>
            <antipattern><!-- a peaches and cream competition -->
                <token>peaches</token>
                <token regexp="yes">and|&amp;|or</token>
                <token>cream</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token chunk_re="I-NP-plural" postag="NN.*|UNKNOWN" postag_regexp="yes" />
                <token postag="NNS" chunk="E-NP-plural">lots</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- It's a little yikes -->
                <token>little</token>
                <token chunk="E-NP-plural">yikes</token>
            </antipattern>
            <!--<antipattern><!-\- A title emperors wore -\->
                <token regexp="yes">an?</token>
                <token postag="N.*" postag_regexp="yes"/>
                <token postag="NNS"/>
                <token chunk="B-VP"/>
            </antipattern>-->
             <rule><!-- A_NNS[1] "The cat is an animals" (only suggest singular form: "animal" because of "is") -->
                <pattern>
                    <token regexp="yes">is|am|was|'s|'m</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Aa]n?</token>
                        <token postag="JJR?" postag_regexp="yes" min="0" />
                        <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                            <exception postag="NNP?|NN:UN?|PRP.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>The plural noun "\5" cannot be used with the article "\3". Did you mean <suggestion>\3 \4 <match no="5" postag="NNP?|NN:UN?" postag_regexp="yes" /></suggestion>?</message>
                <example correction="an animal">The cat is <marker>an animals</marker>.</example>
                <example correction="a common phenomenon">That’s <marker>a common phenomena</marker>.</example>
                <example correction="a criterion">That is <marker>a criteria</marker> used by Synthetics.</example>
                <example correction="a new issue">A google search may help, I’m sure this is not <marker>a new issues</marker>.</example>
                <example correction="a good suggestion">It’s <marker>a good suggestions</marker> though.</example>
                <example correction="a pretty woman">She is physically <marker>a pretty women</marker>!</example>
                <example correction="a civil right">It’s <marker>a civil rights</marker> for the soul of humanity.</example>
                <example correction="a distinguishing characteristic">According to Jonas, alienation is <marker>a distinguishing characteristics</marker> of Gnosticism.</example>
                <example correction="a question">I guess it’s <marker>a questions</marker> of thresholds the different repositories create.</example>
                <example correction="a spreadsheet">Attached is <marker>a spreadsheets</marker> with duty rates for select countries.</example>
                <example correction="a major milestone">The Syria resolution was <marker>a major milestones</marker> for the United Nations.</example>
                <example>The diamond is a precious stone.</example>
                <example>It's only a few dollars.</example>
                <example>I’m a Works with Nest developer.</example>
                <example>It’s got a long ways to being a mainstream product.</example>
                <example>That’s probably a ways off.</example>
                <example>I don’t really know how a traditional rails app works.</example>
                <example>Quite right, the console patch is certainly a ways off.</example>
                <example>Their is a stats metric every 15m that is published and it contains a value which is a total value.</example>
                <example>I’m not an integrations expert - so I’ll go ahead and make this direct message public for now.</example>
                <example>There is a permissions API you can use to check those permissions.</example>
                <example>With the release of 7.6.0, there is a new Priorities API.</example>
                <example>There was an experimental jails implementation.</example>
                <example>It is a Pearls Before Swine comic.</example>
                <example>It's a ten minutes walk to the bus stop.</example>
                <example>I am pretty new to this but I was able to connect an existing alarms hardwired contact.</example>
                <example>Accordingly, Japan's Self-Defense Forces is an unusual military that has never fired shots outside Japan.</example>
                <example>Formerly, there was an additional score that was lesser to yuko.</example>
                <example>I’m not a big comics nerd, so can’t say how true to source it is.</example>
                <example>His life is a rags to riches story.</example>
                <example>It's essentially an Irish Hooters.</example>
                <example>There is a Variables.plist file Inside KM.</example>
                <example>The CN Tower is a concrete communications and observation tower located in Downtown Toronto.</example>
                <example>If there is a logs folder they should contain some messages to you help determine what is wrong.</example>
                <example>... the beak is large, curving <marker>a little downwards</marker>; their legs are long...</example>
                <example>Lucas is a clever clogs.</example>
                <example>... and which was a displaced persons (DP) camp in what used to be a sanatorium.</example>
                <example>IShip is a service shippers can use to compare costs among Federal Express, UPS and the U.S. Postal Service.</example>
            </rule>
            <rule><!-- A_NNS[2] "This candy is a jelly beans" (only suggest singular form: "animal" because of "is") -->
                <pattern>
                    <token regexp="yes">is|am|'s|'m|was</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Aa]n?</token>
                        <token postag="NNP?|NN:UN?" postag_regexp="yes" chunk="I-NP-plural" />
                        <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                            <exception postag="NNP?|NN:UN?|PRP.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>The plural noun "\5" cannot be used with the article "\3". Did you mean <suggestion>\3 \4 <match no="5" postag="NNP?|NN:UN?" postag_regexp="yes" /></suggestion>?</message>
                <example correction="a jelly bean">This candy is <marker>a jelly beans</marker>.</example>
                <example correction="an IoT fan">Hi guys I am <marker>an IoT fans</marker> in Hong Kong.</example>
                <example correction="a dashboard module">It would also be nice if there was <marker>a dashboard modules</marker> where people could go to find dashboards.</example>
                <example correction="a whole collection">Here is <marker>a whole collections</marker> of teams.</example>
                <example correction="an engine issue">If it is still <marker>an engine issues</marker>, I understand, and as a primarily mobile player, I am not as affected as others.</example>
                <example correction="a college freshman">I remember the 30 year olds who would date my female classmates when I was <marker>a college freshmen</marker>.</example>
                <example correction="a brief outline">The attached is <marker>a brief outlines</marker> of the schedule for the Tuesday, November 13th meeting in Philadelphia.</example>
                <example>Is there a way users can do this themselves?</example>
                <example>This is not a guild wars related topic it should be in PC/game chat</example>
                <example>Your best bet is a VW parts counter that might have a diagram for what you want.</example>
                <example>I know right now it is a Green Eggs and Ham quote but that doesn’t hold a candle to Lion King!</example>
                <example>.. and there is an auto parts store close by call them ask if they test charging systems.</example>
                <example>It's a Jelly Beans product.</example>
                <example>Greed and the fear of not enough to around is a problem humans have been battling with for millennia.</example>
                <example>I know that Tom is a little nuts.</example>
                <example>Fox News (...) is a United States pay television news channel.</example>
                <example>That's just an old wives' tale.</example>
                <example>It's a thing women already know.</example>
                <example>Today, Israel is a major arms supplier to the country.</example>
                <example>Animalia is an illustrated children's book by Graeme Base.</example>
                <example>This is a mistake students are apt to make.</example>
                <example>In the Austro-Hungarian Empire, "Bohemian-Moravian-Slovak" was a language citizens could register as speaking.</example>
                <example>Now if it was a bonus souls gained per hour boost, that’d be different.</example>
                <example>Bagpuss is a UK children's television series, made by Peter Firmin and Oliver Postgate from 20 February 1974 to 15 May 1974 through their company Smallfilms.</example>
                <example>The use of financial hedges to mitigate risk is a trend companies and regulators in Latin America want to encourage.</example>
                <example type="triggers_error">The black budget is an account expenses and spending related to military research and covert operations.</example>
                <example>There was a children's party at the Joneses yesterday.</example>
                <example>He was an Italian children's writer.</example>
                <example>It is a service shippers can use.</example>
            </rule>
            <rule><!-- A_NNS[3] "My cat has a long noses" (suggest "a long nose" and "long noses") -->
                <antipattern>
                    <token>a</token>
                    <token>myriad</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural"/>
                    <token chunk="B-NP-singular">'s</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes"/>
                    <token skip="2" postag="POS"/>
                    <token postag="NN(P|:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?</token>
                    <and>
                        <token postag="NN|NN:UN?" postag_regexp="yes">
                            <exception regexp="yes">several|comprehensive|subsequent</exception><!-- uncommon adjectives -->
                        </token>
                        <token postag="JJR?" postag_regexp="yes" />
                    </and>
                    <token postag="VBZ">
                        <exception inflected="yes" regexp="yes">&uncommon_verbs;|friend</exception>
                    </token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Aa]n?</token>
                        <token postag="JJR?" postag_regexp="yes" min="0" />
                        <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                            <exception postag="NNP?|NN:UN?|PRP.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>The plural noun "\3" cannot be used with the article "\1". Did you mean <suggestion>\1 \2 <match no="3" postag="NNP?|NN:UN?" postag_regexp="yes" /></suggestion> or <suggestion>\2 \3</suggestion>?</message>
                <example correction="an animal|animals">The cat is <marker>an animals</marker>.</example>
                <!-- <example correction="crise|crisis">Can you call crises services yourself, is it a <marker>crises</marker>?</example> -->
                <example correction="an agreement|agreements">I appreciate your efforts to reach <marker>an agreements</marker> on the contents of the paper.</example>
                <example correction="a different stimulus|different stimuli">Adding more plates not only makes it heavier but also increases the circumference, giving <marker>a different stimuli</marker>.</example>
                <example correction="an example|examples">For <marker>an examples</marker>, see Python agent attribute examples.</example>
                <example correction="a lot|lots">This is causing <marker>a lots</marker> of issues.</example>
                <example correction="a grandchild|grandchildren">Tom is too young to have <marker>a grandchildren</marker>.</example>
                <example correction="a criterion|criteria">I needed to use a text line as <marker>a criteria</marker> to select users for a list.</example>
                <example correction="a stimulus|stimuli">A memory occurs when <marker>a stimuli</marker> is too complex that the nervous system...</example>
                <example correction="a week|weeks">I'm doing sport 3 days <marker>a weeks</marker>.</example>
                <example correction="an car|cars">They class <marker>an cars</marker> according to a special classification criteria.</example><!-- Spell checker also finds 'an' -->
                <example correction="a Korean woman|Korean women">The average figure of <marker>a Korean women</marker> in her twenties</example>
                <example correction="a live mouse|live mice">The cat is playing with <marker>a live mice</marker>.</example>
                <example correction="A sausage|Sausages"><marker>A sausages</marker></example>
                <example correction="a gentleman|gentlemen">You’re <marker>a gentlemen</marker> and a nice guy.</example>
                <example correction="a multiple user|multiple users">If <marker>a multiple users</marker> experience the same crash you’ll see this counted in the API.</example>
                <example correction="a kind|kinds">Same with 4 of <marker>a kinds</marker>.</example>
                <example correction="a day|days">Just <marker>a days</marker> later, it happened again.</example>
                <example correction="a parenthesis|parentheses">In Section 1.1, there should be <marker>a parentheses</marker> after etc.</example>
                <example correction="a question|questions">I have <marker>a questions</marker> about the 80% of "First of the Month Nomination".</example>
                <example correction="a several option|several options">I still have <marker>a several options</marker>.</example>
                <example correction="A motivated 20-year-old|Motivated 20-year-olds"><marker>A motivated 20-year-olds</marker> helped me clean the garden.</example>
                <example correction="an international company|international companies">Sami worked for <marker>an international companies</marker>.</example>
                <example correction="a paper flower|paper flowers">The street is like a tunnel of <marker>a paper flowers</marker>.</example>
                <example correction="a good friend|good friends">Tom is one of my really <marker>a good friends</marker>.</example>
                <example correction="a simple word|simple words">So in <marker>a simple words</marker>, the factor of loadings (say, 60x3) are a simplier way for us to remember the historical correlation matrix (say, 60x60).</example>
                <example correction="A comprehensive study|Comprehensive studies"><marker>A comprehensive studies</marker> of civil war was carried out by a team from the World Bank in the early 21st century.</example>
                <example correction="a subsequent issue|subsequent issues">I may or may not have <marker>a subsequent issues</marker> later.</example>
                <example>A fish lives in the sea.</example>
                <example>TODO: ... and make sure that you class <marker>a cars</marker> as specified on the classification criteria.</example>
                <example>A players hire A players.</example>
                <example>She had a lovely peaches and cream complexion.</example>
                <example>The Italian language dies a little every time an anglophone orders "a panini".</example>
                <example>When a woman cries, she is being hysterical.</example>
                <example>The life of an ant starts from an egg.</example>
                <example>In physics, acceleration is the rate at which the velocity of a body changes with time.</example>
                <example>Two argue, and a third benefits.</example>
                <example>When a psychic claims to have contacted the dead, don't believe it.</example>
                <example>A king rules.</example>
                <example>2013 – A building collapses near Dhaka, Bangladesh, killing 1,129 people and injuring 2,500 others</example>
                <example>A blonde walks into a pharmacy and asks the assistant for some rectum deodorant.</example>
                <example>A permanent costs extra.</example>
                <example>A piano burns longer.</example>
                <example>A road starts from Abadeh Ring Road to Soqad and Semirom, Road 55.</example>
                <example>In comparison, a home averages about 600 therms.</example>
                <example>In coupling reactions a metal catalyses a coupling between two formal radical fragments.</example>
                <example>When a plane refuels, it usually needs to be on the ground.</example>
                <example>Where a woman rules, bad is the end.</example>
                <example>I even got a dozen cookies each from Cookies by George yesterday.</example>
                <example>Many folks use Echos as intercoms so it might not be an apples to apples comparison.</example>
                <example>All three studies concluded that people have a gamblers' fallacy retrospectively as well as to future events.</example>
                <example>Just wanted give you guys a heads up.</example>
                <example>Other industries included an ironworks, established in the 1720s, as well as wool spinning and a lint mill.</example>
                <example>Cholera became one of the most widespread and deadly diseases of the 19th century, killing an estimated tens of millions of people.</example>
                <example>I'm a sports fanatic.</example>
                <example>Two A regions.</example>
                <example>S &amp; A Supplements</example>
                <example>It's time to give her a Snickers.</example>
                <example>Create a new settings section "Languages" where the user can configure his mother tongue.</example>
                <example>We have an insights dashboard.</example>
                <example>Attached is the latest and greatest breakdown of facilities and Level A costs related to Sun Devil.</example>
                <example>I once had someone break into a convertible years ago.</example><!-- #3272 -->
                <example>I don’t really know how a traditional rails app works.</example>
                <example>A little ways down.</example>
                <example>I have an associates in accounting.</example>
                <example>You will see what an American looks like.</example>
                <example>Not only is a new Ruby available, but a new Rails is out too!</example>
                <example>How do I create a virtual motions sensor that works.</example>
                <example>Whitley Hall, an all girls high school.</example>
                <example>However my keyboard with 2 little triple A batteries will run for almost a year with no swap out.</example>
                <example>While Iran has outlawed homosexuality, Iranian Shi'a thinkers such as Ayatollah Khomeini have allowed for transgender people to change their sex so that they can enter heterosexual relationships.</example>
                <example>We anticipate that Sat will be a lawyers only meeting to discuss the corporate structure and the bankruptcy issues related to the different business units.</example>
                <example>A studs up tackle is made when a player lunges into a tackle with a leg.</example>
                <example>Also a big thanks to the lovely community on the forums and my family members.</example>
                <example>A buyers' market is a market in which goods are plentiful, buyers have a wide range of choices, and prices are low.</example>
                <example>Many a cappella groups can be found in high schools and colleges.</example>
                <example>The Group A offenses are 46 specific crimes grouped in 22 offense categories.</example>
                <example>User A shares the appropriate folders with users B and C.</example>
                <example>Now you can earn AAdvantage bonus miles when you book an American Airlines Vacations ski package.</example>
                <example>The round was led by Desai Capital Management and included investments from Series A investors Prospect Street Ventures, Draper Richards, eCom Partners, and Pennell Venture Partners.</example>
                <example>It is a criteria list that we prepared last night.</example>
                <example>He was employed for a time by a Mrs. Reed.</example>
                <example>There was a children's party at the Joneses yesterday.</example>
                <example>A men's retailer opened in Florida.</example>
                <example>Shi'a Muslims are nice.</example>
                <example>He explains that this photo was apparently taken by a tourist moments before the terrorist airline crash into the World Trade Center.</example>
                <example>Geringer would also like to come to Houston to learn about our vision in moving from an assets based to a market based entity.</example>
                <example>The A forwards to 217.160.29.39.</example>
                <example>Our little group did a runthrough of this game.</example>
                <example>The delay in and delay between both used a seconds to milliseconds conversion that was not moved over to the new scheduler.</example>
                <example>The league created two A divisions.</example>
                <example>Division A teams are the best.</example>
                <example>Dock A floats.</example>
                <example>A Centers for Disease Control and Prevention study.</example>
                <example>Two of the sunroof drains run down the A pillars.</example>
                <example>* It’s totally possible to have a great score near or a little above the 9k.</example>
                <example>A half-dozen tools make up the tool collection.</example>
                <example>He registered a ups.com user</example>
                <example>On that occasion I bought souvenir dog tags from the onboard gift shop, stamped with a motto of my choosing (“Rise and reverberate”, an old Sisters of Mercy slogan).</example>
                <example>He moved to Juventus where he won trophies including two Serie A titles.</example>
                <example>Atlas District, an arts and entertainment district in the Near Northeast</example>
                <example>"The murderer," wrote Schopenhauer, "who is condemned to death according to the law must, it is true, be now used as a mere means, and with complete right."</example>
                <example>As a consequence, a LAPS is very similar in structure to an EIS sensor.</example>
                <example>The batsman averaged almost 40 with the highlight being <marker>an innings</marker> of 125.</example>
                <example>She attended Sydenham School and left just before taking <marker>A Levels</marker> to go to Drama School.</example>
                <example>I'm using a Mac and I can't read a <marker>Windows 95</marker> file.</example>
                <example>… the <marker>heads of a ram and a buck are</marker> budding forth.</example>
                <example>... Group N Production cars and more modified <marker>Group A</marker> cars.</example>
                <example>Person A makes a lot of money.</example>
                <example>ǂHoan and Juǀʼhõasi are Kx'a languages, from the two branches of that family.</example>
                <example>If a and b are coprime and a divides the product bc, then a divides c.</example>
                <example>... which includes a regional headquarters, an operations center campus and a $400 million data center.</example>
                <example>A <marker>tries</marker> to overtake B.</example><!-- #2415 -->
                <example>A <marker>million</marker> thank you.</example><!-- #2415 -->
                <example>Only half a dozen asteroids are larger than 87 Sylvia.</example>
                <example>It's a ten minutes walk to the bus stop.</example>
                <example>The only exception to this is that if a defendant appeals a conviction for a crime.</example>
                <example>Three weeks later his last <marker>first-class innings</marker> brought him 62 for Victoria at Sydney.</example>
                <example>Arrangements of popular music for small a cappella ensembles typically include one voice singing the lead melody...</example>
                <example>... and these were Grade A major milestones for me.</example>
                <example>Can I wear a Hoodie backwards?</example>
                <example>Production of the old Model A cases stopped.</example>
                <example>He received A on his in class.</example>
                <example>We have a good chance things will not become worse.</example><!--  #2069 -->
                <example>I expressed a warm thanks.</example><!-- MFU 2019-10-11. Although 'a warm thanks' is possibly a FP, the 'correction' is '(thanks)'. Thus, I added an exception.-->
                <example>He made a bad graffiti with his hands.</example><!-- #2250 -->
                <example>I'm going to sign up for a German class right now.</example>
                <example>Generally speaking, any talents that happen after an enemy dies are too slow to matter.</example><!-- #2921 -->
                <example>A martial arts strike.</example><!-- see #2923 -->
                <example>You would need a simple mains relay such as ...</example><!-- see #2923 -->
                <example>He is curving a little downwards.</example>
                <example>I almost want to shell out the $150 for a night indoors.</example>
                <example>The UDC should be a wires only company.</example>
                <example>I have a feeling dogs are so stupid because they trust us humans.</example>
                <example>Giving a patient antibiotics will make him feel better.</example>
                <example>... would later watch a modest fireworks display there.</example>
                <example>Tom has just released a warts and all autobiography of his life with Mary.</example>
                <example>The American Military authorities established a displaced persons (DP) camp in what used to be a sanatorium...</example>
                <example type="triggers_error">Dwan operated <marker>Flying A Studios</marker> in La Mesa, California from August 1911 to July 1912.</example>
                <example type="triggers_error">I think it is a standard milliseconds since epoch.</example>
                <example>A lighter strikes.</example>
                <example>a separate Women's Cricket World Cup had been held</example>
                <example>an unprecedented consumers' boycott</example>
                <example>a title emperors bore as heads of the pagan priesthood</example>
                <example>A compromise can be reached on a patients' rights bill.</example>
            </rule>
            <rule><!-- A_NNS[4] -->
                <antipattern><!-- if a merchant operating ships out of ... -->
                    <token regexp="yes">an?</token>
                    <token postag="NNP?|NN:UN?" postag_regexp="yes" />
                    <token postag="VBG" />
                    <token postag="NNS" chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- if a low rank needs ... -->
                    <token regexp="yes">an?</token>
                    <token postag="JJR?" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VBZ" chunk="E-NP-plural">
                        <exception regexp="yes" inflected="yes">&uncommon_verbs;</exception>
                    </token>
                </antipattern>
                <antipattern><!-- I wish you a good party guys and don 't drink too much ... -->
                    <token regexp="yes">an?</token>
                    <token postag="JJR?" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">guys|kids|boys|girls|wives|folks|people|children|devs|idiots|ladies|gentlemen|gents|lads|bastards|monsters|[sf]uckers|dicks|weirdos|douchebags|morons</token>
                </antipattern>
                <antipattern><!-- an alert only fires if multiple locations signal the same problem ... -->
                    <token regexp="yes">an?</token>
                    <token postag="NN:UN?|NN" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" />
                    <token postag="VBZ" />
                </antipattern>
                <antipattern><!-- a reset on trophies so guilds can pull together -->
                    <token regexp="yes">an?</token>
                    <token postag="NN:UN?|NN" postag_regexp="yes" />
                    <token postag="IN" />
                    <token postag="NNS" chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- ... around a game so events with live timers can be ... -->
                    <token regexp="yes">an?</token>
                    <token postag="NN:UN?|NN" postag_regexp="yes" chunk="E-NP-singular" />
                    <token postag="RB" />
                    <token postag="NNS" chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- a jury decided issues of fact -->
                    <token regexp="yes">an?</token>
                    <token postag="NN:UN?|NN" postag_regexp="yes" chunk="E-NP-singular" />
                    <token postag="VBD" />
                    <token postag="NNS" chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- being a little scared helps -->
                    <token regexp="yes">an?</token>
                    <token>little</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token postag="VBZ" chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- And to a lesser degree oranges -->
                    <token>lesser</token>
                    <token>degree</token>
                    <token postag="NNS" chunk="E-NP-plural" />
                </antipattern>
                <antipattern>
                    <token>sales</token>
                    <token>operations</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?</token>
                    <token postag="JJR?" postag_regexp="yes" />
                    <token>feeling</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?</token>
                    <token chunk="E-NP-singular" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?</token>
                    <token postag="JJR?" postag_regexp="yes" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token chunk="E-NP-plural">things</token>
                </antipattern>
                <antipattern>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token chunk="E-NP-plural" />
                    <token>of</token>
                    <token chunk="B-NP-plural" />
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token postag="POS" />
                    <token min="0" postag="JJ.*" postag_regexp="yes" />
                    <token postag="NN(P|:UN?)?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="NNS" regexp="yes">&time_units;</token>
                    <token regexp="yes">before|previous|after</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Aa]n?</token>
                        <token postag="JJR?" postag_regexp="yes" />
                        <token postag="JJR?" postag_regexp="yes">
                            <exception regexp="yes">other|all|number|various|numerous|several|many|more|less|few|fewer</exception>
                            <exception>thing</exception>
                        </token>
                        <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                            <exception postag="NNP?|NN:UN?|PRP.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>The plural noun "\4" cannot be used with the article "\1". Did you mean <suggestion>\1 \2 \3 <match no="4" postag="NNP?|NN:UN?" postag_regexp="yes" /></suggestion> or <suggestion>\2 \3 \4</suggestion>?</message>
                <example correction="an early major milestone|early major milestones">The Syria resolution was <marker>an early major milestones</marker> for the United Nations.</example>
                <example correction="a simple wooden desk|simple wooden desks">I made <marker>a simple wooden desks</marker>.</example>
                <example correction="a severe economic crise|a severe economic crisis|severe economic crises">In 1982–1983 Chile witnessed <marker>a severe economic crises</marker> with a surge in unemployment and a meltdown of the financial sector.</example>
                <example correction="a new presidential election|new presidential elections">After the Egyptian Revolution of 2011, <marker>a new presidential elections</marker> was held 2012.</example>
                <example correction="a Korean martial art|Korean martial arts">Taekwondo is <marker>a Korean martial arts</marker>.</example>
                <example correction="a disappointing quarterly loss|disappointing quarterly losses">Since reporting <marker>a disappointing quarterly losses</marker> on Oct. 16, Enron has been negotiating with banks to establish new credit lines.</example>
                <example correction="a new online service|new online services">The additional funds will go towards developing <marker>a new online services</marker> for small businesses, and reinforcing the company's engineering infrastructure.</example>
                <example correction="a potential career opportunity|potential career opportunities">I am attaching my resume for your review and I would like to ask you for 15 minutes of your time to discuss about <marker>a potential career opportunities</marker> in your group.</example>
                <example correction="a validated actual volume|validated actual volumes">I have put a call out to Eric Evans, a Manager at CSC in Dublin, OH, to discuss the Project Ranger, where they went out <marker>a validated actual volumes</marker>.</example>
                <example>I have a very small box.</example>
                <example>It is a very sophisticated rules engine developed by the community.</example>
                <example>OFFICIALS SAY Air Force officials tracking the movements of a teen pilot minutes before he crashed a Cessna plane.</example>
                <example>But if a low rank needs to play against a warlord VI then it`s just impossible to win.</example>
                <example>An external service sounds like a good idea!</example>
                <example type="triggers_error">A New Mythic Approaches - Queen of Sin</example>
                <example>I wish you a good party guys and don't drink too much.</example><!-- #2926, #2931 -->
                <example>That’s not a luxury starting players enjoy.</example>
                <example>Looking at an hourly scale of the testing time frame with an hourly average things become more obvious.</example>
                <example>You may be able to use a NRQL alert condition to notify you if a particular service restarts X times in Y minutes.</example><!-- #2926 -->
                <example>If you’ve seen this and were thrown off by it, then there’s a chance other users have been as well!</example>
                <example>Is there any way to set a threshold that an alert only fires if multiple locations signal the same problem?</example>
                <example>It’s also handy to see how the cost of a given service increases as the month goes by.</example><!-- #2921 -->
                <example>A little less points are required.</example>
                <example>Maybe a random dwarf gains 2 mana on brown gems.</example><!-- #2926 -->
                <example>A full team deals 5 dmg/turn!</example><!-- #2926 -->
                <example>The kingdom could not be levelled above 10 even if we added a hundred more troops anyway.</example>
                <example >Perhaps every month have a reset on trophies so guilds can pull together to see how they do?</example><!-- #2927 -->
                <example>My original avatar was switched into a dwarf numerous times.</example>
                <example>Considering that a new clutch costs nearly as much as the value of the car, ...</example><!-- #2926 -->
                <example>I mean who wants to lay naked face down on a table while a pretty blonde looks at your ass?</example><!-- #2926 -->
                <example>It’s not easy or possible for everyone to schedule their day around a game so events with live timers can be a major pain.</example>
                <example>Being a little scared helps.</example>
                <example>The same application running on a bare metal works without any issue.</example><!-- #2926 -->
                <example>Then again, I’m fortunate to live in a town sporting lots of local options.</example>
                <example>A podcast through earbuds.</example><!-- #2927 -->
                <example>A good academic likes to be precise.</example><!-- #2926 -->
                <example>I just created a support ticket moments ago.</example>
                <example>We had similar events in an old house years ago.</example>
                <example>It's a good thing worms don't have any teeth, otherwise they could bite the moles.</example>
                <example>... so that in case of a power outage things still run.</example>
                <example> Scale REALLY hard in levels 16-20 to the equivalent of a mythic in stats.</example>
                <example>This is a huge step backwards.</example>
                <example>Sour foods include citrus, specifically lemons, limes, and to a lesser degree oranges.</example>
                <example>Both of them had flatter, fertile agricultural land sloping down to a port several miles away.</example>
                <example>The five days’ time required to start a new business ranks 29th.</example><!-- #2926 -->
                <example>Expanding its push into entertainment with a bet on preschoolers.</example><!-- #2927 -->
                <example>His father, Thomas Gerry, was a merchant operating ships out of Marblehead.</example>
                <example>But only if a forward pass crosses into the neutral zone.</example><!-- #2926 -->
                <example>“Convenience” makes it sound trivial, but at a certain point things become so inconvenient that they are just not functional.</example>
                <example>An electric motor uses electrical energy to produce mechanical energy.</example><!-- #2926 -->
                <example>However, if the region of air breakdown extends to another conductor at a different voltage it creates a conductive path between them, and a large current flows through the air, creating an electric arc.</example><!-- #2926 -->
                <example>In cases where a judge rather than a jury decided issues of fact, an appellate court will apply an "abuse of discretion" standard of review.</example>
                <example>The stronger of two acids will have a higher Ka than the weaker acid; the ratio of hydrogen ions to acid will be higher for the stronger acid.</example>
                <example>In which a young woman imagines that she is being ...</example><!-- #2926 -->
                <example>Andrew is a great sales operations lead.</example>
                <example>In a perfect world spreaders don't exist.</example><!-- #3101, #3108 -->
                <example>In a perfect world technicians don this equipment.</example><!-- #3108 -->
                <example>In a perfect world technicians wear PPE.</example><!-- #3108 -->
                <example>I would think there would be an overall cost savings for new construction.</example>
                <example>I have a feeling private minions won’t be able to be configured to use authenticated proxy connections.</example>
                <example>My 3 in 4 happened about five minutes after I told my wife I hadn’t gotten an Arcane in days…</example>
                <example>What if you could drag a back troop forward or a front troop backwards.</example>
                <example>it’s not easily visible, it’s an extra thing players have to remember.</example>
                <example>A European Community Shipowners' Associations report for 2011–2012 reveals that the Greek flag is the seventh-most-used internationally for shipping, while it ranks second in the EU.</example>
                <example>Because of changing politics, NATO expanding and financial crises most European (NATO) countries are trying to cut defence budgets; as a direct result lots of obsolete and outdated NATINADS facilities are phased out earlier.</example>
                <example>This portion of the clearance provides a backup if communications are lost, allowing the flight to continue and climb to 5000 feet.</example>
                <example>A recent article re-examines Edmund's death and dismisses the later chronicle accounts as fiction.</example>
                <example>Some inscriptions seem to indicate the use of Allah as a name of a polytheist deity centuries earlier, but we know nothing precise about this use.</example>
                <example>Totality occurs in a narrow path across Earth's surface, with the partial solar eclipse visible over a surrounding region thousands of kilometres.</example>
                <example>Took an extra couple days.</example><!-- found by IF_OF -->
                <example>About a third are women.</example>
                <example type="triggers_error">Tesco is a British multinational groceries and general merchandise retailer with headquarters in Welwyn Garden City.</example>
                <example>Joe, a former Prudential Securities' computer and business services analyst, has also joined the firm as an assistant vice president and equity research associate.</example>
                <example>However, Texas will be able to establish their running game against a soft Red Raiders' defensive front.</example>
                <example>I just don't think he'll be able to beat a sound Yellow Jackets' secondary through the air.</example>
                <example>Air Force officials tracking the movements of a teen pilot minutes before he crashed a Cessna plane into an office tower here Saturday did not perceive him as a threat.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token>myriad</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">hundreds|thousands|millions|billions|trillions</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">is|'s|was</token>
                    <token chunk="B-NP-plural" regexp="yes" case_sensitive="yes">[Aa]n?</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token regexp="yes">aren?|weren?|haven?|don?|make</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="JJ.*|NN.*|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- ... without an assurance suppliers will get paid.  -->
                    <token postag="IN" skip="6" />
                    <token regexp="yes">an?</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VB[DP]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-plural" regexp="yes">settings|insights</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token chunk="B-NP-plural" regexp="yes" case_sensitive="yes">[Aa]n?</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk="I-NP-plural">
                        <exception regexp="yes">problem|issue|doubt|feature|concern|way|extent|ability|solution|la|day|challenge|pity|result|while|value|amount</exception>
                    </token>
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                        <exception postag="NNP?|NN:UN?|PRP.*|VBZ|IN" postag_regexp="yes" />
                        <exception>others</exception>
                    </token>
                </pattern>
                <message>The plural noun "\3" cannot be used with the article "\1".</message>
                <suggestion>\1 \2 <match no="3" postag="NNP?|NN:UN?" postag_regexp="yes" /></suggestion>
                <suggestion>\2 \3</suggestion>
                <example correction="a programming language|programming languages">I'm learning <marker>a programming languages</marker> for work.</example>
                <example correction="an example spreadsheet|example spreadsheets">Attached is the selection guide and <marker>an example spreadsheets</marker> we are using.</example>
                <example correction="a tax problem|tax problems">Justin, I've been running around trying to determine whether we have <marker>a tax problems</marker> with Amita doing what she's doing.</example>
                <example>Seems like a problem others too have experienced, and hopefully fixed very soon.</example>
                <example>If a lock averages 10 events per day for 10 years, the log would be only a few megabytes.</example>
                <example>I have an Aeon Labs account.</example>
                <example>I had a concern bugs may be a problem, but didn’t know it would be so bad.</example>
                <example>I have been using the Xiaomi temp/humidity sensors now for two and a half years without any issues.</example>
                <example>I have to create a separate settings variable for each child device?</example>
                <example>Because most users don’t like clicking through a gazillion things to just get to the application.</example>
                <example>It may be a feature users from Facebook learned to like</example>
                <example>Diaspora isn’t a wiki where you can manage permissions with groups and give a group permissions to view a section and then just add somebody to a group.</example>
                <example>Is there a way users can do this themselves?</example>
                <example>This info is from a post months and months ago.</example>
                <example>So it’s very probable it’s nerfed like just about everything else that gives a player resources.</example>
                <example>I often click on a spell moments before I’m able to cast it.</example>
                <example>State officials were reluctant to accept anything beyond 10%, an amount analysts said is insufficient.</example>
                <example>Do they want more seals because it is a resource or just for bragging rights (a la trophies)?</example>
                <example>She’s been in a zillion publications, pretty much anything you can think of.</example>
                <example>For example, on a website changes are essentially cache/sessions/user upload.</example>
                <example>Are you taking your medication, because if you skip even for a day things can go downhill.</example>
                <example>Greed and the fear of not enough to around is a problem humans have been battling with for millennia.</example>
                <example>A pity progressives in his country didn’t do more to reign in his financial power.</example>
                <example>But, as a result foreigners – Muslim Malays and Cham, Christian European adventurers and missionaries – increasingly disturbed and influenced government affairs.</example>
                <example>Layla suffered a stroke days after her forty fourth birthday.</example>
                <example>I'm working as a commodity traders' assistant at Enron, an energy marketing company based in Houston.</example>
                <example>I will post when a dosage changes or something is added or dropped.</example>
                <example>If a fuse blows or breaker trips, it is often a warning that the circuit is overloaded.</example>
                <example>But the words which a person uses may give to his gestures or preparation such a meaning as may make those gestures or preparations amount to an assault.</example>
                <example>For a while things seemed to be going better for me.</example>
                <example>When preparing for an exam students revise (BrE)/review (AmE) what they have studied; the BrE idiom to revise for has the equivalent to review for in AmE.</example>
                <example>Terraforming Mars and Venus became a reality generations later.</example>
                <example>Longhorn Opposition Results in a Study lawmakers ordered to study pipeline issues 10.</example>
                <example>When preparing for an exam students revise (BrE)/review (AmE) what they have studied.</example>
                <example>Brian taught Love's sister Maureen and a friend harmonies.</example>
                <example>I have a feeling dogs are so stupid because they trust us humans.</example>
                <example>This was one of the first times since the end of the primaries we had direct engagement on an issue voters care about," said one campaign aide.</example>
                <example>It's an idea regulators want to see more of.</example>
            </rule>
        </rulegroup>

        <rule id="ONE_PLURAL" name="Agreement: 'one' + plural word">
            <antipattern>
                <token>one</token>
                <token regexp="yes">pagers?|shots?|timers?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">page|chapter|phase|part</token>
                <token>one</token>
            </antipattern>
            <antipattern>
                <token>one</token>
                <token regexp="yes">to|on</token>
                <token>one</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token min="0">that</token>
                <token>one</token>
                <token>needs</token>
            </antipattern>
            <!-- Similar to A_NNS except that we deal with other situations:
                "one hundred and one items" and "fifty one items" -->
            <pattern>
                <token><exception regexp="yes">'|division|class|category|formula|number|type|series|and</exception><exception postag="CD"/></token>
                <marker>
                    <token postag="CD">one</token>
                    <token postag="NNP?S" postag_regexp="yes">
                        <exception postag="NN:.*|NN|VBZ|NNP" postag_regexp="yes"/>
                        <exception regexp="yes">half-century|innings|his</exception>
                        <exception postag="NN.*" postag_regexp="yes" scope="next" />
                        <exception regexp="yes" scope="next">&apostrophe;</exception>
                    </token>
                </marker>
            </pattern>
            <message>Don't use the number 'one' with plural words. Did you mean <suggestion><match no="2"/> <match no="3" postag="NN(:.+)?" postag_regexp="yes"/></suggestion>, <suggestion><match no="3" postag="NN|NN:.*\+INDT" postag_regexp="yes"/></suggestion>, or simply <suggestion><match no="3"/></suggestion>?</message>
            <short>Possible agreement error</short>
            <example correction="one hexagon|a hexagon|hexagons">I drew <marker>one hexagons</marker> on my paper.</example>
            <!-- TODO: This rule doesn't detect the following errors:
               I had one shoes on my feet.
              -->
            <example correction="one hour|an hour|hours">I worked for <marker>one hours</marker>.</example>
            <example>The paper is ruined when one <marker>pencils</marker> in their name.</example>
            <example>It is a criteria list that we prepared last night.</example>
            <example>He was employed for a time by a Mrs. Reed.</example>
            <example>There was a children's party at the Joneses yesterday.</example>
            <example>A men's retailer opened in Florida.</example>
            <example>I have one hundred and one dollars.</example>
            <example>I have fifty-one dollars.</example>
            <example>I throw the balls one by one.</example>
            <example>Formula One teams are the best.</example>
            <example>He was the first person in a half-century to succeed.</example>
            <example>There was time for <marker>one innings</marker> more.</example>
            <example>All one needs.</example>
        </rule>
        <rule id="DIE_DICE" name="one die, two dice">
            <!-- Not currently handled by ONE_PLURAL or A_NNS -->
            <pattern>
                <token><exception regexp="yes">'|division|class|category|formula|number|type|series|and</exception><exception postag="CD"/></token>
                <token regexp="yes">a|one</token>
                <marker>
                    <token>dice</token>
                </marker>
            </pattern>
            <message>'die' is the singular form of 'dice'. Consider using <suggestion>die</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="die">I had a <marker>dice</marker> in my hand.</example>
        </rule>
        <rule id="ESPECIALLY" name="(e)specially">
            <pattern>
                <token>,</token>
                <marker>
                    <token>specially</token>
                </marker>
                <token postag="JJ.?" postag_regexp="yes"><exception postag="VBN"/></token>
                <token>ones</token>
                <token postag="PCT"/>
            </pattern>
            <message>Consider using <suggestion>especially</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="especially">He loves cats, <marker>specially</marker> small ones.</example>
        </rule>
        <rule id="FOOT_FEET" name="one foot, two feet">
            <!-- Not currently handled by ONE_PLURAL or A_NNS -->
            <pattern>
                <token><exception regexp="yes">'|division|class|category|formula|number|type|series|and</exception><exception postag="CD"/></token>
                <token regexp="yes">a|one</token>
                <marker>
                    <token>feet</token>
                </marker>
            </pattern>
            <message>'foot' is the singular form of 'feet'. Consider using <suggestion>foot</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="foot">I had a shoe on one <marker>feet</marker>.</example>
            <example>I had a show on one foot.</example>
        </rule>
        <rule id="MAN_MEN" name="one man, two men">
            <!-- Not currently handled by ONE_PLURAL or A_NNS -->
            <pattern>
                <token><exception regexp="yes">'|division|class|category|formula|number|type|series|and</exception><exception postag="CD"/></token>
                <token regexp="yes">a|one</token>
                <marker>
                    <token>men</token>
                </marker>
                <token><exception>'s</exception></token>
            </pattern>
            <message>'man' is the singular form of 'men'. Consider using <suggestion>man</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="man">A <marker>men</marker> walked in to the room.</example>
            <example>A <marker>man</marker> walked into the room.</example>
            <example>During its 93 years as a men's residence</example>
        </rule>
        <rule id="WOMAN_WOMEN" name="one woman, two women">
            <!-- Not currently handled by ONE_PLURAL or A_NNS -->
            <pattern>
                <token><exception regexp="yes">'|division|class|category|formula|number|type|series|and</exception><exception postag="CD"/></token>
                <token regexp="yes">a|one</token>
                <marker>
                    <token>women</token>
                </marker>
                <token><exception>'s</exception></token>
            </pattern>
            <message>'woman' is the singular form of 'women'. Consider using <suggestion>woman</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="woman">A <marker>women</marker> walked in to the room.</example>
            <example>A <marker>woman</marker> walked into the room.</example>
            <example>included a women's basketball competition</example>
        </rule>
        <rule id="HAVE_TWITTER" name="have twitter (have Twitter / have twittered)"><!-- needs higher PRIO than HAVE_PART_AGREEMENT -->
            <antipattern>
                <token skip="6">visa</token>
                <token regexp="yes">requirements|restrictions|approvals|processes|rejections</token>
            </antipattern>
            <pattern>
                <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|(?:ha)?ve|used?</token>
                <token regexp="yes" case_sensitive="yes">twitter|skype|excel|google|zoom|slack|photoshop|sketch|visa|react</token><!-- nouns that, in lowercase, are verbs -->
            </pattern>
            <message>Did you mean the proper noun or did you want to use it as a verb?</message>
            <suggestion>\1 <match no="2" case_conversion="startupper" /></suggestion>
            <suggestion>\1 <match no="2" postag="VBN" /></suggestion>
            <example correction="have Twitter|have twittered">I <marker>have twitter</marker>.</example>
            <example>Some countries also have visa and/or health requirements.</example>
        </rule>
        <rule id="PRP_HAVE_VB" name="He has uses (used) the switch"><!-- similar to HAVE_PART_AGREEMENT, but finds other/more errors -->
            <antipattern>
                <token spacebefore="no">'s</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token postag="DT" min="0" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="PRP|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token chunk="E-NP-singular" />
                <token postag="PRP|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural" />
                <token postag="PRP|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token chunk="I-NP-plural" />
                <token postag="PRP|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" min="1" max="2" />
                <token postag="PRP|NNP" postag_regexp="yes" skip="6"/>
                <token inflected="yes">have</token>
                <token>is</token>
            </antipattern>
            <antipattern><!-- brand -->
                <token>his</token>
                <token regexp="yes">and|&amp;</token>
                <token>her</token>
                <token regexp="yes">watch(es)?</token>
            </antipattern>
            <antipattern><!-- all that I have is ... -->
                <token regexp="yes">all|(every|any)?thing</token>
                <token regexp="yes" min="0">that|which</token>
                <token postag="PRP|NNP|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token postag="MD" min="0" />
                <token inflected="yes">have</token>
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">be|have</token>
            </antipattern>
            <antipattern><!-- different error -->
                <token>have</token>
                <token postag="RB" min="0" />
                <token>have</token>
            </antipattern>
            <antipattern><!-- we have cards the other wants -->
                <token inflected="yes">have</token>
                <token chunk="B-NP-plural" />
                <token chunk="E-NP-plural" min="0" />
                <token>the</token>
                <token>other</token>
                <token regexp="yes">wants|requires|needs</token>
            </antipattern>
            <antipattern><!-- then you have evidence the shop knows what they are doing.' -->
                <token inflected="yes">have</token>
                <token chunk="B-NP-singular" />
                <token chunk="E-NP-singular" min="0" />
                <token>the</token>
                <token chunk="E-NP-singular" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">if|when|because|once|since|as|before|after</token>
                <token regexp="yes" skip="2">s?he|it|they|you|we</token>
                <token inflected="yes">have</token>
                <token postag="JJ" min="0" />
                <token postag="NNP?S|NN:UN?" postag_regexp="yes" />
                <token postag="DT|PRP.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_i;</token>
                <token>I</token>
            </antipattern>
            <antipattern>
                <token>A</token>
                <token>/</token>
                <token>C</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token regexp="yes">day|week|month|weekend</token>
                <token regexp="yes">after|before</token>
            </antipattern>
            <antipattern><!-- the best I have is -->
                <token />
                <token />
                <token postag="JJS|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token regexp="yes" min="0">that|which</token>
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token inflected="yes" regexp="yes">be|have</token>
            </antipattern>
            <antipattern><!-- I believe I have since adding ... -->
                <token inflected="yes">have</token>
                <token postag="CC" />
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token>had</token>
                <token chunk="E-NP-plural">doubts</token>
                <token>the</token>
                <token regexp="yes">first|second</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>thought</token>
                <token postag="NNP|PRP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- have comments no later than ... -->
                <token postag="NNS" />
                <token>no</token>
                <token regexp="yes">later|sooner|earlier|more</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token regexp="yes">people|fun|time|school|dinner|lunch</token>
                <token regexp="yes">the|th[eo]se|some</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN:UN?|NNS|NNP?S" postag_regexp="yes" />
                <token regexp="yes">this|every|each</token>
            </antipattern>
            <antipattern><!-- have xxx all over ... -->
                <token inflected="yes">have</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN:UN?|NNS|NNP?S" postag_regexp="yes" />
                <token>all</token>
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token inflected="yes">have</token>
                <token postag="NN:UN?|NNP" postag_regexp="yes" />
                <token regexp="yes" skip="3">an?</token>
                <token regexp="yes">ago|back</token>
            </antipattern>
            <antipattern><!-- the only valid points that she might have is that ... -->
                <token chunk="E-NP-singular" />
                <token regexp="yes" min="0">that|which</token>
                <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token postag="MD" min="0" />
                <token inflected="yes">have</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- the only valid point that she might have is that ... -->
                <token chunk="E-NP-plural" />
                <token regexp="yes" min="0">that|which</token>
                <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token postag="MD" min="0" />
                <token inflected="yes">have</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Just how much trash do you have cluttering your workplace? -->
                <token>how</token>
                <token regexp="yes" skip="6">much|many</token>
                <token inflected="yes">have</token>
                <token postag="VBG" />
                <token postag="PRP\$|DT" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- As you know, I have Please invite your candidate to dinner -->
                <token regexp="yes" case_sensitive="yes">have|has|had</token>
                <token case_sensitive="yes">Please</token>
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- We having classes this week (different error) -->
                <token postag="PRP" />
                <token>having</token>
                <token chunk="B-NP-plural" />
            </antipattern>
            <antipattern><!-- #3346 I had classes the week my cat died. -->
                <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="DT"/>
                <token regexp="yes">second|minute|hour|morning|afternoon|evening|night|day|week|month|year|decade|century</token>
            </antipattern>
            <antipattern><!-- #3321, #3391 have little snow -->
                <token postag_regexp="yes" postag="VB.*"/>
                <token chunk="B-NP-singular" postag="JJ"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
            </antipattern>
            <antipattern><!-- #3391 have double the [double as pre-determiner: www.lexico.com/definition/double -->
                <token postag_regexp="yes" postag="VB.*" inflected="yes">have</token>
                <token chunk_re="B-NP-(singular|plural)">double</token>
                <token postag="DT"/>
            </antipattern>
            <antipattern><!-- #3391 Who in Legal do I have review the contract? -->
                <token skip="-1" postag="WP"/>
                <token regexp="yes">do|did</token>
                <token regexp="yes">I|you|we|they</token>
                <token>have</token>
                <token postag="VB"/>
                <token skip="-1" chunk_re="B-NP-(singular|plural)"/>
                <token>?</token>
            </antipattern>
            <antipattern><!-- #3391 that I have has no -->
                <token postag="WDT"/>
                <token regexp="yes">I|you|we|they</token>
                <token postag_regexp="yes" postag="VB[PD]?"/>
                <token regexp="yes">ha(ve|d|s)</token>
                <token postag="DT"/>
            </antipattern>
            <antipattern>
                <token postag="NN.*" postag_regexp="yes" />
                <token chunk_re="B-SBAR|B-PP">that</token>
            </antipattern>
            <antipattern>
                <token postag="NN.*" postag_regexp="yes" />
                <token skip="1">that</token>
                <token regexp="yes">day|week|month|year|week-?end|moment|afternoon|night|morning|evening</token>
            </antipattern>
            <antipattern><!-- I have emails that show ...  -->
                <token postag="NN.*" postag_regexp="yes" />
                <token>that</token>
                <token postag="RB" min="0" max="2" />
                <token chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token postag="VB[ZPG]?" postag_regexp="yes" />
                <token>all</token>
                <token regexp="yes">alone|day|month|year|week(-?end)?</token>
            </antipattern>
            <pattern>
                <token postag="NNP|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="MD" min="0" />
                <token min="0" regexp="yes">&apostrophe;</token>
                <token inflected="yes">have<exception inflected="yes">will</exception></token>
                <token min="0" regexp="yes">&apostrophe;</token>
                <token postag="RB" min="0">
                    <exception postag="IN" />
                    <exception>nothing</exception>
                </token>
                <marker>
                    <token postag="VB[ZPG]?" postag_regexp="yes">
                        <exception postag="VBN|RB|IN" postag_regexp="yes" regexp="yes">(?!forward$).+</exception><!-- forward #3377 -->
                        <exception regexp="yes">breakfasts?|people|company|kids?</exception>
                    </token>
                </marker>
                <token regexp="yes">
                    an?|the|my|y?our|her|his|their|its|no|many|plenty|all|various|some|th[eo]se|this|every|that
                    <exception case_sensitive="yes">A</exception>
                </token>
            </pattern>
            <message>The verb "\8" seems to be incorrect here.</message>
            <suggestion><match no="8" postag="VBN" /></suggestion>
            <suggestion>been <match no="8" postag="VBG" /></suggestion>
            <suggestion>to <match no="8" postag="VB" /></suggestion>
            <example correction="used|been using|to use">He has <marker>uses</marker> a space before the colon.</example><!-- uses/E-NP-plural -->
            <example correction="made|been making|to make">Yes, then we have <marker>making</marker> a post request for each fired event.</example>
            <example correction="reviewed|been reviewing|to review">I've <marker>review</marker> all three.</example>
            <example correction="cooked|been cooking|to cook">We've also <marker>cooking</marker> a cake for you.</example>
            <example correction="defined|been defining|to define">Now you have <marker>define</marker> a collection.</example>
            <example correction="added|been adding|to add">Hi Rick, good update, but you have <marker>add</marker> a + at the top.</example>
            <example correction="received|been receiving|to receive">We spoke with Stuart Zisman today, who suggested we make sure that both of you have <marker>receive</marker> a recent copy of the list.</example>
            <example correction="Tripled|Been tripling|To triple">Now we have nearly <marker>TRIPLE</marker> the chances with all the Events running all the time.</example>
            <example correction="postponed|been postponing|to postpone">Due to the recent drastic fall in the Enron stock price, $90 in Jan. to $8.50 today, we have <marker>postpone</marker> our search.</example>
            <example correction="had|been having|to have">But if I’ve <marker>have</marker> the same dilemma.</example>
            <example correction="searched|been searching|to search">Tom has <marker>search</marker> a little bit but found nothing.</example>
            <example correction="launched|been launching|to launch">Now Apple had <marker>launch</marker> the new iPad Pro to the market, and I want to know if you know is this program will be available on iOS.</example>
            <example correction="trained|been training|to train">I am most interested if anyone has <marker>train</marker> a troop to 10, 15, or 20?</example>
            <example correction="replaced|been replacing|to replace">If the contacts are bad you may have <marker>replace</marker> the fuse panel.</example>
            <example correction="had|been having|to have">I have <marker>has</marker> the oil pressure sensor replace and oil is in the crankcase.</example>
            <example correction="spent|been spending|to spend">Well, Mary really could've <marker>spend</marker> a fraction of that on better lug nuts.</example>
            <example correction="discussed|been discussing|to discuss">On this issue, assuming that we haven't <marker>discuss</marker> the failure of SCE to apply our account's past credit.</example>
            <example correction="contacted|been contacting|to contact">Over the last week Elisa Tamez and I have <marker>contacting</marker> many of you to offer assistance in calling delinquent supervisors.</example>
            <example correction="entered|been entering|to enter">Did you have <marker>enter</marker> your PIN in the computer?</example>
            <example correction="known|been knowing|to know">Sami should have <marker>know</marker> this.</example>
            <example correction="forwarded|been forwarding|to forward">Amy, I have <marker>forward</marker> this to Sean Crandall to help you settle.</example>
            <example correction="reviewed|been reviewing|to review">I have not <marker>review</marker> all the invoices I am sending you.</example>
            <example correction="compiled|been compiling|to compile">Do you know whether they will have <marker>compiling</marker> the information?</example><!-- Compare #3391 example below: ... they will have compiling... -->
            <example correction="compiled|been compiling|to compile">I am sure they will have <marker>compiling</marker> the information by tomorrow.</example>
            <example>The only extra it has is the ionizer.</example>
            <example>What you have is the “V3” hub.</example>
            <example>As we have grown, we have not done as well as we should have in communicating those policies to new employees and reminding all employees to take advantage of the discounts we have negotiated.</example>
            <example>I will be happy to address any questions you have regarding the form.</example>
            <example>The videos they have are all professional actors etc.</example>
            <example>The Honeywell thermostat I have is the Model # RTH6580WF1001/U1.</example>
            <example>Anyway, hope you have fun this weekend.</example>
            <example>We can have changes every day.</example><!-- #3320 -->
            <example>All I have is the camera so I haven’t bother to install any of the smart apps for it.</example>
            <example>We have cards the other wants / needs.</example>
            <example>We should have lunch some time.</example>
            <example>He had breakfast all alone.</example>
            <example>We have kids that need help.</example>
            <example>Sami had school that day.</example>
            <example>I have work that must be done.</example>
            <example>He has experience that may be useful to your group.</example>
            <example>They have experiments that just can't go off.</example>
            <example>We will have little snow this winter.</example><!-- #3321 and #3391 -->
            <example>They have much rain all the year round.</example>
            <example>By far, the most I have are the Iris motion sensors.</example>
            <example>He had bruises all over after the fight.</example><!-- #3320 -->
            <example>Sami had parties every day.</example><!-- #3320 -->
            <example>As you know, I have Please invite your candidate to dinner when you call (remind them that a jacket is required at dinner).</example>
            <example>Do you have time the day after tomorrow?</example>
            <example>I have nothing indicating a company change for 2001.</example>
            <example>I had dinner an hour ago.</example>
            <example>We have as clear a choice as America has faced in at least a generation.</example>
            <example>..., so all Paul should have is his airfare and incidentals.</example>
            <example>Just how much trash do you have cluttering your workplace?</example>
            <example>Sami had school the next morning.</example>
            <example>We won't have dinner no more.</example>
            <example>Mennad had bills that were due.</example>
            <example>The only possibly valid point that she might have is the fact that we didn't tell her that.</example>
            <example>Serge told us on Oct. 3 that he would have comments no later thatn the week of 10/16 and you would follow up with him.</example>
            <example>I believe I have since adding the Sonos.</example>
            <example>I still had doubts the second time.</example>
            <example>All Enron has is a confirmation from the broker, the party with whom we have contracted through the BrokerClient product.</example>
            <example>Products I have are a Schlage keypad door luck.</example>
            <example>We having classes this week.</example><!-- Caught by PRP_VBG -->
            <example>So all I have now is a hub that I am unable to reach since it is not in pairing mode.</example>
            <example>She had bruises all over her body.</example>
            <example>We had dinner a few days ago and he asked me if I thought you might be interested in meeting with Ali Rodgrigues.</example>
            <example>Even though the transformer I have has a light sensor I programmed it.</example>
            <example>But if your coworker has already told you they did a good job for them, then you have evidence the shop knows what they are doing.</example>
            <example>Just do what you need to do with your vehicle and if you have questions the dealer is the best place to start.</example>
            <example>If you have flavors the script is smart enough to detect that.</example>
            <example>If you have spark the fuel is the next problem to check.</example>
            <example>Please do not hesitate to give me a call with any questions you may have concerning this matter.</example>
            <example>We have FREE His and Her watches valued at $30 each waiting for you.</example>
            <example>The best I ever had is this.</example>
            <example>Again, I think the biggest asset SmartThings has is its vibrant and active developer user community.</example>
            <example>I had classes the week my cat died.</example><!-- #3346 -->
            <example>She has tests a month from now.</example><!-- #3346 -->
            <example>Soon I will have double the number of nieces and nephews I have at the moment.</example><!-- #3391 -->
            <example>... VHS tape, which, although it has double the number of (vertical) scan lines, has a much lower horizontal resolution.</example><!-- #3391 -->
            <example>Who in legal do I have review the contract for acceptance?</example><!-- #3391 -->
            <example>The copy of the confirm that I have HAS NO COMMENTS.</example><!-- #3391 -->
            <example>I had cramps, a backache and headache.</example>
            <example type="triggers_error">I started my period too, so I had cramps a backache and headache and...</example><!-- #3391, probably caused by #3758 -->
            <example type="triggers_error">I will find out from Donna how much of a problem, if any, they will have compiling the information.</example><!-- #3391 -->
            <example>I knew I'd break his heart.</example>
        </rule>

        <rulegroup id="HAVE_PART_AGREEMENT" name="Agreement: 'have' + past/present tense">
            <antipattern><!-- Dear Dr. Lay, as I read in Enron's web site, the list of awards you have are leadership and creativity. -->
                <token>the</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- What I don't have are papers on the Silver Leaf resort thingy. -->
                <token regexp="yes">what|that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token regexp="yes">do|does|did</token>
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- What I really would like to have are papers on the Silver Leaf resort thingy. -->
                <token regexp="yes">what|that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- What I like to have are papers on the Silver Leaf resort thingy. -->
                <token regexp="yes">what|that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="VB[DPZ]?" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- What I'm trying to have are papers on the Silver Leaf resort thingy. -->
                <token regexp="yes">what|that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token postag="VBG" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- The family that he had was his cousin and his sister. -->
                <token regexp="yes">the|this</token>
                <token chunk_re="I-NP.*" min="0" max="2" />
                <token chunk_re="E-NP.*" />
                <token min="0" regexp="yes">that|which|who</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- The family that my friend had was his cousin and his sister. -->
                <token regexp="yes">the|this|these|those|every</token>
                <token chunk_re="I-NP.*" min="0" max="2" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes">that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- The options that my brother should have are the only ... -->
                <token regexp="yes">the|this|these|those|every</token>
                <token chunk_re="I-NP.*" min="0" max="2" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes">that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- The options my brother should have are the only ... -->
                <token regexp="yes">the|this|these|those|every</token>
                <token chunk_re="I-NP.*" min="0" max="2" />
                <token chunk_re="E-NP.*" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- The only chance I have had was when I was there.  -->
                <token regexp="yes">the|this|these|those|every</token>
                <token chunk_re="I-NP.*" min="0" max="2" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes" min="0">that|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">have|be</token>
                <token postag="RB" min="0" />
                <token postag="VBN" />
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- We have option 2 available -->
                <token inflected="yes">have</token>
                <token postag="JJ" min="0" />
                <token postag="NN|NN:UN?" chunk_re="[BI]-NP.*" postag_regexp="yes" />
                <token min="0">#</token>
                <token regexp="yes" chunk_re="E-NP.*">\d+</token>
            </antipattern>
            &multi_word_verbs;
            <rule>
                <antipattern>
                    <token>lynch</token>
                    <token regexp="yes">syndromes?</token>
                </antipattern>
                <antipattern>
                    <token>scuff</token>
                    <token regexp="yes">marks?</token>
                </antipattern>
                <antipattern>
                    <token>Word</token>
                    <token regexp="yes">2\d\d\d</token>
                </antipattern>
                <antipattern>
                    <token>had</token>
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <antipattern>
                    <token>had</token>
                    <token chunk="B-NP-singular"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">'ve|'s</token>
                    <token>go</token>
                    <token>to</token>
                    <token postag="VB"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">[wt]hat|which|who</token>
                    <token regexp="yes">s?he|it</token>
                    <token min="0" regexp="yes">does|did|might|will|must|would|could</token>
                    <token regexp="yes">ha[ds]</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">[wt]hat|which|who</token>
                    <token regexp="yes">I|you|we|they</token>
                    <token min="0" regexp="yes">do|did|might|will|must|would|could</token>
                    <token regexp="yes">have|had</token>
                </antipattern>
                <antipattern>
                    <token>lied</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">ha[ds]|(?:ha)?ve</token>
                    <token>google</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- The job I had was in Germany / #2090 The problems I have are all -->
                    <token postag="DT|JJ" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes"></token>
                    <token postag="PRP" />
                    <token postag="VB.?" postag_regexp="yes" />
                    <token regexp="yes">is|are|was|were</token>
                </antipattern>
                <antipattern><!-- #2089 Do you have pen and paper? 'pen and paper' can be used in a non-count way, as shown in the definition on www.lexico.com/en/definition/pen-and-paper -->
                    <token postag="VB.?" postag_regexp="yes" inflected="yes">have</token>
                    <token chunk="B-NP-singular" postag="NN"/><!-- The pattern has an exception for NN:U. This AP is a special case. -->
                    <token regexp="yes">and|or</token>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- #2089 Do you have bicycle in your garage? [Missing article before a countable noun.] -->
                    <token postag="VB.?" postag_regexp="yes" inflected="yes">have</token>
                    <token chunk="E-NP-singular" postag="NN"/>
                </antipattern>
                <antipattern><!-- 2810 www.tutorialspoint.com/unix/unix-file-permission.htm -->
                    <token postag="VB.?" postag_regexp="yes" inflected="yes">have</token>
                    <token regexp="yes">execute|read|write</token>
                    <token chunk_re="E-NP.*" regexp="yes">access|rights|permissions?</token>
                </antipattern>
                <antipattern><!-- "the idea's you have" (different error) -->
                    <token spacebefore="no">'s</token>
                    <token regexp="yes">s?he|it|they|you|we</token>
                    <token inflected="yes">have</token>
                </antipattern>
                <antipattern><!-- #3005 have Deal #254839 -->
                    <token postag="VB.?" postag_regexp="yes" inflected="yes">have</token>
                    <token chunk="B-NP-singular" postag="NN"/><!-- NN:UN is in the exception in the pattern -->
                    <token>#</token>
                </antipattern>
                <antipattern><!-- All that I have was myself. -->
                    <token>all</token>
                    <token regexp="yes" min="0">that|what|which</token>
                    <token postag="PRP|NN.*|UNKNOWN" postag_regexp="yes" />
                    <token inflected="yes">have</token>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern><!-- norm 1. https://en.wikipedia.org/wiki/Norm_(mathematics) -->
                    <token chunk="B-NP-singular">norm</token>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="CD|UNKNOWN">
                        <exception regexp="yes">\p{L}+</exception>
                    </token>
                </antipattern>
                <antipattern><!-- ... but those who have say the training is vague on this point. -->
                    <token regexp="yes">those|all|many|few</token>
                    <token regexp="yes">that|who|which</token>
                    <token inflected="yes">have</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">do|did</token>
                    <token>n't</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>ripple</token>
                    <token>effects</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token postag="NN" />
                    <token regexp="yes">#|nr|no</token>
                    <token min="0">.</token>
                    <token regexp="yes">\d+</token>
                </antipattern>
                <antipattern><!-- The conversation that you and I had was prior to these changes. -->
                    <token>the</token>
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes" min="0">that|which|who</token>
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <token regexp="yes">and|&amp;|n?or|/</token>
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <token inflected="yes">have</token>
                    <token regexp="yes">was|were|are</token>
                </antipattern>
                <antipattern><!-- The one question I have was ...  -->
                    <token>the</token>
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes" min="0">that|which|who</token>
                    <token postag="PRP_S.*|NNP|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token inflected="yes">have</token>
                    <token regexp="yes">was|were|are</token>
                </antipattern>
                <antipattern><!-- The one question I have was ...  -->
                    <token>the</token>
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">that|which|who</token>
                    <token inflected="yes">have</token>
                    <token regexp="yes">was|were|are</token>
                </antipattern>
                <antipattern><!-- Must have program/project management experience. -->
                    <token inflected="yes">have</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">/|and|&amp;|or</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" min="0" chunk_re="I-NP.*" />
                    <token postag="NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="CC|PCT" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- I think I have cc'ed you -->
                    <token postag="VBP" />
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">e?d</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">have|had|has|'ve</token>
                    <token regexp="yes">Drew|DREW</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">exhibit|plan</token>
                    <token regexp="yes" case_sensitive="yes">A|B|C|D</token>
                </antipattern>
                <antipattern>
                    <token>end</token>
                    <token>cutting</token>
                    <token regexp="yes">pliers|nippers</token>
                </antipattern>
                <antipattern>
                    <token>tear</token>
                    <token regexp="yes">gas|ducts?</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">have|had|has</token>
                    <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
                    <token case_sensitive="yes" postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].*</token>
                </antipattern>
                <antipattern><!-- The tool my teacher had was archaic. -->
                    <token postag="DT" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes" min="0">that|which|who</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">is|are|were|was</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have|'ve</token>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception postag="VBN|NN:UN?|JJ.*|RB" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                            <exception postag_regexp="yes" postag="VB(G|N)" scope="next" />
                        </token>
                    </marker>
                </pattern>
                <message>Use the past participle here.</message>
                <suggestion><match no="2" postag="VBN"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="written">I must have <marker>wrote</marker> that.</example>
                <example correction="appeared">It is shown when a technical error has <marker>appear</marker></example><!-- no punction -->
                <example correction="been">And I have <marker>was</marker> there.</example>
                <example correction="written">I must have <marker>write</marker> to you.</example>
                <example correction="modified">I've <marker>modify</marker> this.</example>
                <example correction="written">I could have <marker>wrote</marker> this letter.</example>
                <example correction="written">... and you should have <marker>write</marker> access code, not accessy code.</example><!-- #2810 -->
                <example correction="normed">They have <marker>norm</marker> some of the data.</example>
                <example correction="done">Tom wasn't the one who told me I didn't have <marker>do</marker> that.</example>
                <example correction="seen">I have <marker>see</marker> pictures of her in a Kabyle dress.</example>
                <example type="triggers_error">A few books that he have <marker>were</marker> French novels.</example><!-- false alarm! -->
                <example type="triggers_error">A few books which they has <marker>are</marker> French novels.</example><!-- false alarm! -->
                <example>Do you have Word 2016 or later?</example>
                <example>I must have <marker>written</marker> that.</example>
                <example>I must have done that.</example>
                <example>I have liked her.</example>
                <example>It has become difficult.</example>
                <example>We have air conditioning.</example>
                <example>We do not have soap.</example>
                <example>We have soap.</example>
                <example>We do have soap.</example>
                <example>The family that he had was his cousin and his sister.</example>
                <example>The family that my friend had was his cousin and his sister.</example>
                <example>The contract not only has meter #9614 attached to it but also ...</example>
                <example>The conversation that you and I had was prior to these changes.</example>
                <example>The one question I had was whether or not we wanted to put in the RFP our objective in terms of income from the facility.</example>
                <example>Must have program/project management experience.</example>
                <example>In the Sahara region some oases have palm trees.</example>
                <example>Jens, I think I have cc'ed you on this.</example>
                <example>She will be able to help you with expense reports, business travel, conference room booking and any other needs you may have while I am away.</example>
                <example>I had curry and rice last night.</example>
                <example>It had feature limitations such as...</example>
                <example>A few books <marker>that he has</marker> are French novels.</example>
                <example>A few books <marker>which they have</marker> are French novels.</example>
                <example>He has <marker>lied to</marker> me again and again.</example>
                <example>What little money I had <marker>was stolen</marker>.</example>
                <example>...was probably true and that what little sex he had was probably "a mixture of voyeurism and...</example>
                <example>I've didn't mistyped it.</example><!-- #1739. Refer to VE_DIDNT -->
                <example>We've don't made an error.</example><!-- #1739. Refer to VE_DIDNT -->
                <example>We have google analytics.</example>
                <example>The job I had was in Germany.</example>
                <example>All that I have was myself.</example>
                <example>A rabbit has long ears.</example>
                <example>The tool my teacher had was archaic.</example>
                <example>The new job I have is about plumbing.</example>
                <example>... but those who have say the training is vague on this point.</example>
                <example>The idea's we have are all stupid.</example>
                <example>The problems I have are all related to something else.</example><!-- #2090 -->
                <example>Do you have pen and paper?</example><!-- #2089 -->
                <example>Make sure that the candidate has pen and paper for the written test.</example><!-- #2089 -->
                <example>Do you have bicycle in your garage?</example><!-- #2089. Missing article before a count noun, but that problem is not applicable to this rule. -->
                <example>... and you should have write access there.</example><!-- #2810 -->
                <example>Logistics needs either (1) have Deal #254839 extended, (2) new deal, or (3) approval to...</example><!-- #3005 -->
                <example>For any additional questions that you may have please contact me.</example>
                <example>Any questions that you may have please bring with you.</example>
                <example>When the basis vectors have norm 1, the coordinate functionals e*n have...</example>
                <example>... the coordinate functionals e*n have norm ≤ 2C in the dual of X.</example>
                <example>The outbreak has had ripple effects across every industry.</example>
                <example>I have index.php changes</example>
                <example>The only chance I have had was when I was there.</example>
                <example>Dear Dr. Lay, as I read in Enron's web site, the list of awards you have are leadership and creativity.</example>
                <example>This hotel has valet parking.</example>
                <example>What I'm trying to have are papers on the Silver Leaf resort thingy.</example>
                <example>What I like to have are papers on the Silver Leaf resort thingy.</example>
                <example>What I really would like to have are papers on the Silver Leaf resort thingy.</example>
                <example>it might be a belts and suspenders idea to have Drew look at it quickly.</example>
                <example>The contacts on the allocation statements that we do have are not returning phone calls.</example>
                <example>We will have Exhibit B in hand first thing tomorrow via FEDEX to confirm this.</example>
                <example>Not all his surviving works have yet been studied, but some of the ones that have are given below.</example>
                <example>Any comments that you might have are more than welcome.</example>
                <example>Yes, you should have Unify Estate access.</example>
                <example>The only bath I ever had was when I stood in front of that big old fire hydrant as they flushed it out.</example>
                <example>The options that my brother should have are the only ...</example>
                <example>The options my brother should have are the only ...</example>
                <example>The options he should have are the only ...</example>
            </rule>
            <rule>
                <antipattern><!-- www.ldoceonline.com/dictionary/far -->
                    <token regexp="yes">far|way</token>
                    <token>better</token>
                </antipattern>
                <antipattern><!-- I have way better Internet -->
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|(?:ha)?ve</token>
                    <token regexp="yes">way|far</token>
                    <token postag="JJR" />
                </antipattern>
                <antipattern><!-- has only ray florets -->
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have</token>
                    <token postag="RB"/><!-- If necessary, make this more strict: only, merely, and possibly others -->
                    <token chunk="I-NP-plural" postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token chunk="I-NP-plural" postag="NN(:UN?)?" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #3125 have hot water -->
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have</token>
                    <token chunk="B-NP-singular" postag="JJ.*" postag_regexp="yes" />
                    <token chunk="I-NP-singular" postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-singular" postag="NN:UN?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- 'Same' as a pronoun: www.lexico.com/definition/same. Ignore the missing 'the': have same cap -->
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have</token>
                    <token>same</token>
                    <token chunk="E-NP-singular" postag="NN(:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token regexp="yes">long|short</token>
                    <token>term</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>brand</token>
                    <token>awareness</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>so</token>
                    <token regexp="yes">do|did</token>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <token chunk="I-NP-plural">better</token>
                </antipattern>
                <antipattern><!-- I have lower levels of ...-->
                    <token>lower</token>
                    <token postag="NNS" />
                </antipattern>
                <antipattern><!-- I've already RSVP'd for Thurs. -->
                    <token postag="VBP" />
                    <token>'d</token>
                </antipattern>
                <antipattern><!-- I've already RSVP'd for Thurs. -->
                    <token postag="VBP" />
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">e?d</token>
                </antipattern>
                <antipattern><!-- The only thing I have now are memories. -->
                    <token>the</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token regexp="yes" min="0">that|which|who</token>
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token inflected="yes">have</token>
                    <token postag="RB" />
                    <token regexp="yes">are|were</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token postag="JJ" chunk_re="I-NP.*" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="I-NP.*" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="I-NP.*" />
                    <token postag="NNP?S|NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>there</token><!-- confusion of "their"-->
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>too</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have|'ve</token>
                    <token postag="RB">
                        <exception regexp="yes">no|little|much|enough|nothing</exception><!-- 2020-02-01 regression MFU. Quick win as an alternative to an AP, because I cannot find a sentence in which 'enough' comes before a verb. -->
                        <exception postag="IN|RP|CC" postag_regexp="yes"/>
                        <exception regexp="yes">please|home|way|weekends|today|yesterday</exception><!-- #3223 -->
                    </token>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception postag="VBN|RB|JJ" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token><exception postag_regexp="yes" postag="VBG|JJ"/></token>
                </pattern>
                <message>Possible agreement error -- use the past participle here.</message>
                <suggestion><match no="3" postag="VBN"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="forgotten">I have already <marker>forgot</marker> their names.</example>
                <example correction="written">I must have always <marker>wrote</marker> that.</example>
                <example correction="rained">It has often <marker>rain</marker> this summer.</example>
                <example correction="been">Had there <marker>was</marker> a problem, you could have...</example>
                <example correction="spoked|spoken">After we had last <marker>spoke</marker>, in November, I was contacted by the...</example><!-- spoke/E-NP-singular -->
                <example correction="sent">I have not <marker>send</marker> it yet.</example>
                <example correction="included">I've also <marker>include</marker> some info.</example>
                <example>I have already <marker>forgotten</marker> their names.</example>
                <example>I have always done that.</example>
                <example>I have nothing better to do.</example>
                <example>I have way better to do.</example>
                <example>I have always liked her.</example>
                <example>The country is dry: it had little <marker>rain</marker> this summer.</example>
                <example>I'm always bored with films that have little <marker>action</marker>.</example>
                <example>They have much rain all the year round.</example>
                <example>That dinner they had together <marker>was</marker> delicious.</example>
                <example>The tea we had there <marker>was</marker> excellent.</example>
                <example>You had <marker>far better</marker> stay here.</example>
                <example>I have significantly lower levels of alcohol in my blood.</example>
                <example>I love Poland, they have lovely people.</example>
                <example>The Cichorioidea has only <marker>ray florets</marker>, with a 5+0 scheme – all five petals form...</example>
                <example>... are diffusible ligands and thus can have long range effects.</example>
                <example>You don't have enough push.</example>
                <example>You should have enough sense not to drink, at least during your illness.</example>
                <example>We have hot water.</example><!-- #3125 -->
                <example>... from the sponsors and investors who have firsthand experience in issuing and investing in debt.</example>
                <example>Do you have hard evidence?</example>
                <example>I've already RSVP'd for Thurs.</example>
                <example>Do you have first aid ice packs?</example>
                <example>In even numbered years, the NL West had home field advantage.</example>
                <example>The only thing I have now are memories.</example>
                <example>We have only option 2 available.</example>
                <example>We have only option #2 available.</example>
                <example>FERC should have same cap they allow for New York.</example>
                <example>... and we will not have hard copy for roughly 30 days.</example>
<!-- False negative --><example>... but had there <marker>was</marker> sufficient information, we could have...</example>
                <example>For any additional questions that you may have please contact me.</example>
                <example>If there are any conflicts that you have please see me on an individual basis.</example>
                <example>Antidepressant responders had significantly better Hamilton Depression Rating Scale (HAM-D) scores over time.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VBP" />
                    <token>'d</token>
                </antipattern>
                <antipattern><!-- I think I have cc'ed you -->
                    <token postag="VBP" />
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">e?d</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|(?:ha)?ve</token>
                    <token>not</token>
                    <token postag="RB"><exception>no</exception><exception postag="IN|RP|CC" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception postag="VBN|RB|JJ" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token><exception postag="VBG"/></token>
                </pattern>
                <message>Possible agreement error -- use the past participle here.</message>
                <suggestion><match no="4" postag="VBN"/></suggestion>
                <short>Possible agreement error</short>
                <example>I have always done that.</example>
                <example correction="written">I have not always <marker>wrote</marker> that.</example>
                <example>I have always liked her.</example>
            </rule>
            <rule>
                <antipattern><!-- If we have company -->
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have</token>
                    <token chunk="E-NP-singular" postag="NN:UN?" postag_regexp="yes"/>
                    <token postag="PRP"/>
                </antipattern>
                <antipattern><!-- #3100 type I diabetes. The capitalization varies. -->
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have</token>
                    <token>type</token>
                    <token regexp="yes">I|one</token>
                    <token regexp="yes">diabetes|herpes</token>
                </antipattern>
                <antipattern><!-- #3516 all she had was -->
                    <token>all</token>
                    <token min="0" max="1" postag="WP"/>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token>had</token>
                    <token postag="VBD"/>
                </antipattern>
                <antipattern><!-- #3516 all the things she had were -->
                    <token chunk="B-NP-plural">all</token>
                    <token chunk="I-NP-plural" min="0" max="4"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token>had</token>
                    <token postag="VBD"/>
                </antipattern>
                <antipattern>
                    <token>one</token>
                    <token chunk_re=".-NP.*" />
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">rank|place|goal|number</token>
                    <token>one</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|have|'ve</token>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception postag="VBN"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="PRP|PRP\$" postag_regexp="yes">
                        <exception regexp="yes">we|they|s?he</exception>
                    </token>
                </pattern>
                <message>Possible agreement error – use the past participle here.</message>
                <suggestion><match no="2" postag="VBN"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="liked">I have <marker>like</marker> her since I first met her.</example>
                <example correction="cc'd">I have <marker>cc</marker> you on this message.</example>
                <example correction="done">Tom hopes that Mary knows that she has <marker>do</marker> everything John has told her to do.</example>
                <example>I have <marker>liked</marker> her since I first met her.</example>
                <example>Noun: If we have <marker>company</marker> we will break out the beer.</example>
                <example>Noun: If the members of this club have <marker>company</marker> they must be on their best behaviour.</example>
                <example>The person has Type I Diabetes.</example><!-- #3100 -->
                <example>Layla wasn't an educated woman and all she had was her virtue.</example><!-- #3516 -->
                <example>Layla wasn't an educated woman and all that she had was her virtue.</example><!-- #3516 -->
                <example>Layla wasn't an educated woman and all the things she had were her ...</example><!-- #3516 -->
                <example>I'd love to have dinner one evening if that suits.</example>
                <example>Have fun you guys.</example>
                <example>I'd love to have lunch one day.</example>
                <example>I have people I need to talk to.</example>
                <example>Tom has type one diabetes.</example>
                <example>Do you have proof that God exists?</example>
                <example>I don't have job We need all the food we can get.</example>
                <example>The integers and the rational numbers have rank one, as well as every subgroup of the rationals.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>have</token>
                    <token>them</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">have|has</token>
                    <token postag="PRP" />
                    <token>still</token>
                    <token>not</token>
                </antipattern>
                <antipattern>
                    <token postag="VBP" />
                    <token>'d</token>
                </antipattern>
                <antipattern><!-- I think I have cc'ed you -->
                    <token postag="VBP" />
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">e?d</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes">ha[ds]|have</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception postag="VBN"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error – use the past participle here.</message>
                <suggestion><match no="4" postag="VBN"/></suggestion>
                <example correction="liked">Have you <marker>like</marker> her?</example>
                <example>Have you liked Dutch jazz music?</example>
                <example>Have you seen her?</example>
                <example>Have you thought of any good plans?</example>
                <example>Let's have them share the event details.</example>
                <example><marker>Had I better</marker> go with you?</example>
                <example>Have him call me.</example>
                <example>Have US export restrictions catalysed a new wave of investment in self-sufficiency?</example>
                <example>Have you people lost your minds?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <token regexp="yes">ha[ds]|have</token>
                    <token postag="PRP"/>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes"><exception postag="VBN"/><exception>better</exception></token><!-- https://dictionary.cambridge.org/grammar/british-grammar/modals-and-modality/had-better -->
                    </marker>
                </pattern>
                <message>Possible agreement error – use the past participle here.</message>
                <suggestion><match no="5" postag="VBN"/></suggestion>
                <example correction="done">What have you <marker>did</marker>?</example>
                <example>What have you seen?</example>
                <example correction="been">Where have you <marker>were</marker>?</example>
                <example>What <marker>had I better</marker> do?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" postag="VB.?" postag_regexp="yes">ha[ds]|(?:ha)?ve</token>
                    <marker>
                        <token>went</token>
                    </marker>
                </pattern>
                <message>Note: <match no="2"/> is a past participle of "wend". Did you mean <suggestion>gone</suggestion> (past participle of "go")?</message>
                <short>Possible agreement error</short>
                <example>We do have soap.</example>
                <example correction="gone">I could have <marker>went</marker> to Italy.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes">ha[ds]|have</token>
                    <token postag="PRP"/>
                    <marker>
                        <token>went</token>
                    </marker>
                </pattern>
                <message>Note: "went" is a past participle of "wend". Did you mean <suggestion>gone</suggestion> (past participle of "go")?</message>
                <example correction="gone">Have you <marker>went</marker> to Italy?</example>
                <example>Have you liked Dutch jazz music?</example>
                <example>Have you seen her?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <token regexp="yes">ha[ds]|have</token>
                    <token postag="PRP"/>
                    <marker>
                        <token>went</token>
                    </marker>
                </pattern>
                <message>Note: "went" is a past participle of "wend". Did you mean <suggestion>gone</suggestion> (past participle of "go")?</message>
                <example correction="gone">Where have you <marker>went</marker>?</example>
                <example>What have you seen?</example>
            </rule>
            <rule><!-- had + past tense. MFU 2018-07-29. As an alternative to trying to change the existing rules, I added 2 rules that find errors that the existing rules do not find. -->
                <antipattern>
                    <token>had</token>
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <antipattern>
                    <token>had</token>
                    <token chunk="B-NP-singular"/>
                </antipattern>
                <antipattern><!-- Chunker is not sufficient: had ringed notebooks -->
                    <token>had</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="NNS"/>
                </antipattern>
                <pattern>
                    <token>had</token>
                    <token min="0" max="2" postag="RB"/>
                    <marker>
                        <token postag='VBD'>
                            <exception postag='VBN'/>
                            <exception regexp='yes'>was|were</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Use the past participle <suggestion><match no="3" postag="VBN"/></suggestion> after the modal (auxiliary) verb '\1'.</message>
                <example correction="broken">The impact had <marker>broke</marker> my foot.</example>
                <example correction="fallen|felled">If he had not <marker>fell</marker>, he would not have died.</example>
                <example correction="risen">I had <marker>rose</marker> before the break of day.</example>
                <example correction="sung">She had often <marker>sang</marker> many good songs.</example>
                <example>The impact had <marker>broken</marker> my foot.</example>
                <example>The block of wood had <marker>saw marks</marker> on it.</example>
                <example>...operational abilities the armed forces had were gradually destroyed by politicisation of...</example>
                <example>...child, only children from wealthy families had ringed notebooks.</example>
<!-- False negative caused by broke/B-NP-plural. Cannot see how to solve the problem. I can add JJ, NN etc to the AP, but 'broke' is JJ, so the rule will still not find this example. --><example>They had <marker>broke</marker> all the rules.</example>
<!-- False negative caused by rose/E-NP-singular --><example>The sun had <marker>rose</marker> before I awoke.</example>
<!-- False negative cause by non-standard drank/VBN --><example>He had <marker>drank</marker> that too quickly.</example>
            </rule>
            <rule><!-- has + past tense -->
                <antipattern>
                    <token>has</token>
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <antipattern>
                    <token>has</token>
                    <token chunk="B-NP-singular"/>
                </antipattern>
                <antipattern><!-- Chunker is not sufficient: has ringed notebooks -->
                    <token>has</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="NNS"/>
                </antipattern>
                <pattern>
                    <token>has</token>
                    <token min="0" max="2" postag="RB"/>
                    <marker>
                        <token postag='VBD'>
                            <exception postag='VBN'/>
                            <exception regexp='yes'>was|were</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Use the past participle <suggestion><match no="3" postag="VBN"/></suggestion> after the modal (auxiliary) verb '\1'.</message>
                <example correction="broken">She has not <marker>broke</marker> her foot.</example>
                <example correction="fallen|felled">She has unfortunately <marker>fell</marker>.</example>
                <example correction="risen">The sun has <marker>rose</marker> already.</example>
                <example correction="sung">She has <marker>sang</marker> many good songs.</example>
                <example>She has not <marker>broken</marker> her foot.</example>
                <example>The block of wood has <marker>saw marks</marker> on it.</example>
                <example>...operational abilities the organization has were gradually destroyed by the...</example>
                <example>...a child from a wealthy family who has ringed notebooks.</example>
<!-- False negative cause by non-standard drank/VBN --><example>He has <marker>drank</marker> that too quickly.</example>
        </rule>
        </rulegroup>
        <rulegroup id="BE_PART_AGREEMENT_2" name="Were they send (sent) via WhatsApp?">
            <rule>
                <antipattern>
                    <token>was</token>
                    <token regexp="yes">.*s</token>
                    <token postag="VBP" chunk_re=".-VP" />
                    <token chunk="B-ADJP" />
                </antipattern>
                <antipattern>
                    <token>was</token>
                    <token>it</token>
                    <token postag="VBP" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>were</token>
                    <token>they</token>
                    <token postag="VBP" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>have</token>
                    <token chunk="B-NP-singular">
                        <exception postag="PRP_S.*" postag_regexp="yes" />
                    </token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token postag="VBP">
                        <exception postag="IN|RP|TO" postag_regexp="yes" />
                    </token>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token chunk="B-ADVP" />
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes">.*'d</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="1">an?</token>
                    <token chunk="B-VP" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token>why</token>
                    <token min="0">not</token>
                </antipattern>
                <antipattern> <!-- common typo: where did... -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token>were</token>
                    <token regexp="yes" inflected="yes">can|do</token>
                </antipattern>
                <antipattern>
                    <token>have</token>
                    <token regexp="yes">it|the</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token postag="VB(P|Z)?" postag_regexp="yes" />
                    <token inflected="yes">not</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="-1">was|were|has|have</token>
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="CC|PCT" postag_regexp="yes" />
                    <token>have</token>
                </antipattern>
                <antipattern>
                    <token>google</token>
                    <token postag="VB[PZ]" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0" skip="1" postag="W.*" postag_regexp="yes" />
                    <token regexp="yes" skip="-1">was|were|has|have
                        <exception scope="next" postag="CC|PCT|MD|VB(G|N)" postag_regexp="yes" />
                        <exception scope="next" regexp="yes" inflected="yes">do|gonna|if</exception>
                    </token>
                    <token min="0" inflected="yes" skip="-1">not
                        <exception scope="next" postag="VBN" />
                    </token>
                    <token chunk_re="E-NP.*">
                        <exception regexp="yes">me|him|her|us|them</exception>
                    </token>
                    <marker>
                        <token skip="-1" postag="VBP?" postag_regexp="yes" chunk_re=".-VP">
                            <exception postag="JJ|MD|NN:UN|POS|R(B|P)|VBN" postag_regexp="yes" />
                            <exception regexp="yes" inflected="yes">back|be|clear|correct|do|friend|matter|present|'s|&uncommon_verbs;</exception>
                            <exception scope="next" postag="VBN" />
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>Possible tense error detected. The past participle or gerund may be more appropriate in this context.</message>
                <suggestion><match no="6" postag="VBN" /></suggestion>
                <suggestion><match no="6" postag="VBG" /></suggestion>
                <example correction="built|building">Weren't those houses <marker>build</marker> with the help of a construction company?</example>
                <example correction="slept|sleeping">Were you <marker>sleep</marker> late last night or were you up?</example>
                <example correction="used|using">Have you <marker>use</marker> the home app?</example>
                <example correction="used|using">Were you <marker>use</marker> the home app?</example>
                <example correction="got|gotten|getting">Have you <marker>get</marker> any solution for this?</example>
                <example correction="got|gotten|getting">Were you <marker>get</marker> any solution for this?</example>
                <example correction="figured|figuring">Have you <marker>figure</marker> out the problem?</example>
                <example correction="figured|figuring">Were you <marker>figure</marker> out the problem?</example>
                <example>What was the resolution please??</example>
                <example>Has this feature been implemented?</example>
                <example>Have Black Lives Ever Mattered?</example>
                <example>Was that a real add?</example>
                <example>Was I right or wrong?</example>
                <example>Have your fears back?</example>
                <example>Has any ever had this happen to them?</example>
                <example>Were those lines present in the logs?</example>
                <example>Was just curious if it is just me?</example>
                <example>Why not have your mechanic inspect the engine?</example>
                <example>Have you pray'd to-night, Desdemona?</example>
                <example>Were did I leave my spectacles?</example>
                <example>Do you leave your car there overnight and have them do it when the motor is cold?</example>
                <example>Can I create docker image for that setup file and Have different batch files can I create docker image for that too??</example>
                <example>Was @MKhanna's last comment able to help you troubleshoot further?</example>
                <example>Has there bin some progress on why this error exists?</example>
                <example>Have it show events for a larger period of time?</example>
                <example>Was there also an agent log in that directory?</example>
                <example>Were async database calls not part of this feature?</example>
                <example>I didnt find the CSV though, were can I find it?</example>
                <example>What have to happen when I press the calibrate button?</example>
                <example>Was there an update or change I don't know about?</example>
                <example>Even if that were true, why would it matter?</example>
                <example>Is the best way to configure them to add them to Hue and have ST find them and then control them? that way they will run locally on the HUE and no custom DH is needed?</example>
                <example>Ok got the camera on network, were does the stream info go in the code?</example>
                <example>Why not add a drop-up menu to the Guild tab and have Guild Wars be selectable?</example>
                <example>Was getting arcane's from delves all the time last week but now getting none at all?</example>
                <example>You can't try to set up an appointment for help or have your stepdaughter find something?</example>
                <example>How do I make atom do this: have two vertical sections/pane/columns – where the text does connect with each other?</example>
                <example>I've just got a SmartThings Hub and was wondering why there is no integration with Tuya / smart life?</example>
                <example>Basically, have the lights get power all the time but have the one physical switch control them independently?</example>
                <example>But was, as Tim is saying, that the causation of the sz or was it something else?</example>
                <example>On top of that, why not have players unlock the weapons at specific gem masteries similar to Mang so that leveling feels a little more rewarding?</example>
                <example>I would interpret this as “If you have long-running tasks, have event listeners or schedulers start you a thread that actually does the heavy lifting”, correct (i.e. do not use the event listener or scheduler thread)?</example>
                <example>Were the rules clear?</example>
                <example>Was Big E gonna say the Super Bowl was lame this year?</example>
                <example>Were there any google meets today?</example>
                <example>Was I correct or do you prefer the other way?</example>
                <example>Was it raspberries or was it blackberries?</example>
                <example>What was there did you take a picture of it?</example>
                <example>...and what was good, you know?</example>
                <example>...and why were they mistakes?</example>
                <example>Was it love at first sight?</example>
                <example>Have each group member describe why they would do it differently?</example>
                <example>Who were there you ask?</example>
                <example>Was vinnies kiss better?</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token chunk_re="B-AD(J|V)P" />
                </antipattern>
                <antipattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token chunk="B-PP" />
                </antipattern>
                <antipattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token chunk_re=".-NP.*" />
                </antipattern>
                <antipattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token regexp="yes">.*'d</token>
                </antipattern>
                <antipattern>
                    <token postag="CC" />
                    <token>have</token>
                </antipattern>
                <antipattern>
                    <token postag="VBP" chunk_re=".-VP" />
                    <token postag="VB[DN]" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token min="0" skip="1" postag="W.*" postag_regexp="yes" />
                    <token regexp="yes">was|were|has|have
                        <exception scope="next" postag="VB(G|N)" postag_regexp="yes" />
                        <exception scope="next">if</exception>
                    </token>
                    <token min="0" inflected="yes">not
                        <exception scope="next" postag="VBN" />
                    </token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <marker>
                        <token skip="-1" postag="VB(P|Z)?" postag_regexp="yes" chunk_re=".-VP">
                            <exception postag="JJ|NN:UN|RP|VBN" postag_regexp="yes" />
                            <exception regexp="yes" inflected="yes">friend|&uncommon_verbs;</exception>
                            <exception>'ve</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>Possible tense error detected. The past participle may be more appropriate in this context.</message>
                <suggestion><match no="6" postag="VBN" /></suggestion>
                <suggestion><match no="6" postag="VBG" /></suggestion>
                <example correction="sent|sending">Were they <marker>send</marker> via WhatsApp?</example>
                <example correction="built|building">It looks fine but was it <marker>build</marker> on concrete?</example>
                <example correction="sent|sending">When was it <marker>send</marker>?</example>
                <example correction="sent|sending">Who was it <marker>send</marker> to?</example>
                <example correction="sent|sending">How exactly was it <marker>send</marker>?</example>
                <example correction="sent|sending">What time was it <marker>send</marker>?</example>
                <example>Were you hurt?</example>
                <example>Was I wrong?</example>
                <example>Were they right?</example>
                <example>Were you compassionate?</example>
                <example>Was it guilt by association?</example>
                <example>Were you out last night?</example>
                <example>How long was I out?</example>
                <example>Was it Jack that broke the window?</example>
                <example>Have you pray'd to-night, Desdemona?</example>
                <example>Were you friends with Tom in college?</example>
                <example>Were you friends with benefits?</example>
                <example>What were you rights/privileges?</example>
                <example>Have you goose hunted before?</example>
                <example>Have you've been feeling well?</example> <!-- messes up the spacing -->
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_RIDE_RIGHT" name="confusion of ride/right">
            <antipattern>
                <token>ride</token>
                <token>sharing</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">am|are|is|was|were</token>
                    <token regexp="yes">s?he|it|I|we|they|you</token>
                    <marker>
                        <token>ride</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>right</suggestion>?</message>
                <example correction="right">Am I <marker>ride</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|I|we|they|you</token>
                    <token regexp="yes">am|are|is|was|were</token>
                    <marker>
                        <token>ride</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>right</suggestion>?</message>
                <example correction="right">I am <marker>ride</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|I|we|they|you</token>
                    <token regexp="yes">has|have</token>
                    <token>been</token>
                    <marker>
                        <token>ride</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>right</suggestion>?</message>
                <example correction="right">They have been <marker>ride</marker> about it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|I|we|they|you</token>
                    <token regexp="yes">'m|'re|'s</token>
                    <marker>
                        <token>ride</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>right</suggestion>?</message>
                <example correction="right">She's <marker>ride</marker>.</example>
            </rule>
        </rulegroup>

        <rulegroup id="BE_VBP_IN" name="can be access (accessed)">
            <!-- Finds some specific errors that BEEN_PART_AGREEMENT can't find (see examples) -->
            <antipattern>
                <token regexp="yes">end|start|host|source</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>witness</token>
                <token regexp="yes">of|to</token>
            </antipattern>
            <antipattern>
                <token postag="VBP" />
                <token spacebefore="no">.</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern>
                <token>be</token>
                <token regexp="yes">&uncommon_verbs;|opt|pain|father|friend|lunch</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token>land</token>
                <token postag="PCT" />
            </antipattern>
            <antipattern>
                <token regexp="yes">ramp|stand</token>
                <token>up</token>
                <token postag="NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>be</token>
                <token>friend</token>
                <token>with</token>
            </antipattern>
            <antipattern>
                <token>there</token>
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token min="0">n't</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token>dust</token>
                <token>to</token>
                <token>dust</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD|TO" postag_regexp="yes" />
                    <token min="0">n't</token>
                    <marker>
                        <token>be</token>
                        <token postag="VBP">
                            <exception postag="JJ.*|VBN" postag_regexp="yes" />
                            <exception case_sensitive="yes" regexp="yes">[A-Z].+</exception>
                        </token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>The past participle is required after "\1\2 \3", alternatively you could omit the "be".</message>
                <suggestion>\3 <match no="4" postag="VBN" /></suggestion>
                <suggestion>\4</suggestion>
                <example correction="be blinked|blink">Each time the browser refreshes, the screen will <marker>be blink</marker>.</example>
                <example>Converting ¥1000 to $12 in Tokyo and converting that $12 into ¥1200 in London, for a profit of ¥200, would be arbitrage.</example>
                <example>He is proud to be father.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD|TO" postag_regexp="yes" />
                    <token min="0">n't</token>
                    <token>be</token>
                    <marker>
                        <token postag="VBP">
                            <exception postag="JJ.*|VBN" postag_regexp="yes" />
                            <exception case_sensitive="yes" regexp="yes">[A-Z].+</exception>
                        </token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>The past participle is required after "\1\2 \3".</message>
                <suggestion><match no="4" postag="VBN" /></suggestion>
                <example correction="accessed">It can be <marker>access</marker> via password.</example>
                <example correction="caused">It might be <marker>cause</marker> by the package.</example>
                <example correction="used">It can be <marker>use</marker> by everyone.</example>
                <example correction="built">It could be <marker>build</marker> around it.</example>
                <example>Could be wrong.</example>
                <example>Maybe a better name for Google would be Gobble.</example>
                <example>As an aside, I think the best bet may be gas.</example>
                <example>It shall be end of March.</example>
                <example>As you recall, there can be start up menu issues with porting user ids.</example>
                <example>There will be follow up and plans will be required.</example>
                <example>It will be pain to migrate</example>
                <example>It's going to be ramp up time.</example>
            </rule>
        </rulegroup>

        <rulegroup id="BEEN_PART_AGREEMENT" name="Agreement: 'been' or 'was' + past tense">
            <antipattern>
                <token regexp="yes">does|did</token>
                <token>is</token>
                <token postag="VBP?" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- www.scotland.org/features/the-history-and-words-of-auld-lang-syne -->
                <token>should</token>
                <token regexp="yes">old|auld</token>
                <token>acquaintance</token>
                <token>be</token>
                <token>forgot</token>
            </antipattern>
            <antipattern><!-- Assume that two or more words with initial capitals is a proper noun -->
                <token case_sensitive="yes" regexp="yes">[a-z]+</token>
                <token postag="VB[DP]?" postag_regexp="yes" case_sensitive="yes" regexp="yes">[A-Z][a-z]+</token>
                <token case_sensitive="yes" regexp="yes">[A-Z][a-z]+</token>
            </antipattern>
            <antipattern><!--  human being -->
                <token>human</token>
                <token chunk="E-NP-singular">being</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">Being</token>
            </antipattern>
            <antipattern><!-- Her soon to be husband -->
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token>soon</token>
                <token>to</token>
                <token>be</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">is|are</token>
                <token case_sensitive="yes">GO</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/brand_new -->
                <token>brand</token>
                <token>new</token>
            </antipattern>
            <antipattern><!-- Their opponents were club president Cesar de Zulueta and Valentin Barr… -->
                <token regexp="yes">are|were</token>
                <token skip="-1" chunk="B-NP-singular"/>
                <token regexp="yes">and|&amp;</token>
                <token chunk="B-NP-singular"/>
            </antipattern>
            <antipattern><!--  ... visited the islands (of whom 443,987 were cruise ship passengers). -->
                <token regexp="yes">are|were</token>
                <token chunk="B-NP-plural"/>
            </antipattern>
            <antipattern><!--  the question is can you -->
                <token chunk="E-NP-singular"/>
                <token regexp="yes">is|was</token>
                <token postag="MD"/>
                <token postag="PRP"/>
            </antipattern>
            <antipattern><!--  the question is did she -->
                <token chunk="E-NP-singular"/>
                <token regexp="yes">is|was</token>
                <token regexp="yes">do|does|did</token>
                <token postag="PRP"/>
            </antipattern>
            <antipattern><!-- https://idioms.thefreedictionary.com/All+systems+are+go-->
                <token>all</token>
                <token>systems</token>
                <token>are</token>
                <token>go</token>
            </antipattern>
            <antipattern><!-- #2123 You will be queen. -->
                <token>be</token>
                <token chunk="E-NP-singular" postag="NN" regexp="yes">queen|quarterback</token><!-- Do not make a general exception for NN:U because 'queen' is NN. Refer to https://www.lexico.com/en/definition/queen: "[as complement] ‘he insisted the princess could be crowned queen’" -->
            </antipattern>
            <antipattern case_sensitive="yes"><!-- #2434 whether Being came -->
                <token postag="CC" regexp="yes">\p{Ll}+</token>
                <token>Being</token><!-- Acts as a proper noun -->
                <token postag="VBD" regexp="yes">\p{Ll}+</token>
            </antipattern>
            <antipattern><!-- #2568 to be season 3 -->
                <token>to</token>
                <token>be</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="CD"/>
            </antipattern>
            <antipattern><!-- #2568 being host to -->
                <token>being</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
            </antipattern>
            <antipattern><!--are do, re, mi, -->
                <token inflected="yes">be</token>
                <token>do</token>
                <token>,</token>
                <token>re</token>
                <token>,</token>
                <token>mi</token>
            </antipattern>
            <antipattern><!-- can a being create -->
                <token postag="MD"/>
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token>being</token>
                <token postag="VBP"/>
            </antipattern>
            <antipattern><!-- #2974 was father of -->
                <token regexp="yes">is|was</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token>of</token>
            </antipattern>
            <antipattern><!-- Premium #1350 www.lexico.com/definition/neck_and_neck -->
                <token>neck</token>
                <token>and</token>
                <token>neck</token>
            </antipattern>
            <antipattern><!-- #2979 did was tell -->
                <token>did</token>
                <token>was</token>
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>buy</token>
                <token postag="CD" />
                <token>,</token>
                <token>get</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token regexp="yes">google|skype|photoshop|zoom|excel|twitter|sketch|slack|visa</token>
                <token>who</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token>was</token>
                <token>was</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">was|is|'s</token>
                <token postag="VBP" />
                <token>or</token>
                <token>die</token>
            </antipattern>
            <antipattern><!-- they were peach and yellow roses -->
                <token regexp="yes">you|we|they</token>
                <token regexp="yes">are|were</token>
                <token/><!-- peach/B-ADJP. Can be used as an adjective. -->
                <token regexp="yes">and|or</token>
                <token postag="JJ"/>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern><!-- It is phone based. -->
                <token inflected="yes">be</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">&hyphen_modifier;|licensed|spotted|coded|mounted</token>
            </antipattern>
            <antipattern><!-- In case you were please disregard this notice. -->
                <token>please</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- A very important word is please. -->
                <token>word</token>
                <token regexp="yes">is|was</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|human</token>
                <token>being</token>
            </antipattern>
            <antipattern><!-- It would be end of November. / will be source of ...-->
                <token>be</token>
                <token regexp="yes">end|source</token>
                <token>of</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Copy of Premium #1350 The 3 Rs are Reduce, Reuse and Recycle -->
                <token postag="CD"/>
                <token regexp="yes">[A-Z]s</token>
                <token regexp="yes">are|were</token>
                <token regexp="yes">\p{Lu}\p{L}+</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- What time is check out / When is check out time? -->
                <token>check</token>
                <token regexp="yes">out|in</token>
            </antipattern>
            <antipattern><!-- I'm try... -->
                <token inflected="yes">be</token>
                <token postag="VBP?" postag_regexp="yes"/>
                <token>.</token>
                <token>.</token>
                <token>.</token>
            </antipattern>
            <antipattern><!-- What I wish to do here is choose three examples. -->
                <token postag="W.*" postag_regexp="yes" />
                <token postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_S.*" postag_regexp="yes" />
                <token postag="RB|MD" postag_regexp="yes" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- What we are trying to do with Ridley now is go through the painstaking process of trying to... -->
                <token postag="W.*" postag_regexp="yes" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_S.*" postag_regexp="yes" />
                <token regexp="yes">are|is|was|were|would|will|can|could|should|must</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_O.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>is</token>
                <token postag="VBP" />
            </antipattern>
            <antipattern><!-- What we are trying to do now is go through the painstaking process of trying to... -->
                <token postag="W.*" postag_regexp="yes" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_S.*" postag_regexp="yes" />
                <token regexp="yes">are|is|was|were|would|will|can|could|should|must</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token>is</token>
                <token postag="VBP" />
            </antipattern>
            <antipattern><!-- What we tried to do with Ridley now is go through the painstaking process of trying to... -->
                <token postag="W.*" postag_regexp="yes" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_S.*" postag_regexp="yes" />
                <token postag="VB[DN]" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_O.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VBP" />
            </antipattern>
            <antipattern><!-- What we tried to do now is go through the painstaking process of trying to... -->
                <token postag="W.*" postag_regexp="yes" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN|PRP_S.*" postag_regexp="yes" />
                <token postag="VB[DN]" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VBP" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes" regexp="yes">do|have</token>
                <token inflected="yes">not</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token  postag="VB[DP]?" postag_regexp="yes" case_sensitive="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern><!-- All I have ever done is ask Holloway to pay you with what he owes me for my finishes in the league. -->
                <token chunk_re="E-NP.*" />
                <token regexp="yes" min="0">that|which|what</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token postag="RB" min="0" />
                <token postag="VBN" />
                <token regexp="yes">was|is</token>
            </antipattern>
            <antipattern><!-- All I want to do now is get back to work. -->
                <token chunk_re="E-NP.*" />
                <token regexp="yes" min="0">that|which|what</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="MD" min="0" />
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">was|is</token>
            </antipattern>
            <antipattern><!-- What I don't want to do, however, is go all the way through arbitration -->
                <token>what</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes" inflected="yes">do|can|be|will|should|must</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token min="0">,</token>
                <token postag="RB" />
                <token min="0">,</token>
                <token regexp="yes">was|is</token>
            </antipattern>
            <antipattern><!-- The bottom line is go out, buy stocks and go out and buy in ... -->
                <token chunk_re="E-NP.*" />
                <token>is</token>
                <token postag="VB" />
                <token postag="R[BP]" postag_regexp="yes" />
                <token>,</token>
                <token postag="VB" skip="5" />
                <token regexp="yes">and|&amp;</token>
            </antipattern>
            <antipattern><!-- What we`re going to do now is go to the "Markets Desk" -->
                <token regexp="yes">[tw]hat</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token postag="VBG" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- What we`re going to do now is go to the "Markets Desk" -->
                <token regexp="yes">[tw]hat</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token regexp="yes">&apostrophe;</token>
                <token>re</token>
                <token postag="RB" min="0" />
                <token postag="VBG" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- Now, all Gore has to do on that fateful day in the U.S. Senate is reject for certification the Electoral College votes of Florida, and he wins the majority and becomes president.  -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" min="0" />
                <token inflected="yes">have</token>
                <token>to</token>
                <token skip="12">do</token>
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All I can do at the church is sit here and listen. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" min="0" />
                <token postag="VB" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All I can do at the church is sit here and listen. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" min="0" />
                <token postag="VB" />
                <token postag="RB" min="1" max="4" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>stamp</token>
                <token>collecting</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>toilet</token>
                <token>trained</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>tear</token>
                <token regexp="yes">gas|ducts?</token>
            </antipattern>
            <antipattern><!-- The thing to do when you get in a hole is stop digging. -->
                <token regexp="yes">the|one</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token>to</token>
                <token postag="VB" />
                <token postag="CC" skip="6" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- the best thing we can do for California is get out of this mess we're in. -->
                <token regexp="yes">the|one</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes" min="0">[wt]hat</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" skip="6" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- the best thing we did for California was get out of this mess we're in. -->
                <token regexp="yes">the|one</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes" min="0">[wt]hat</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token postag="VBD" skip="6" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All Tom does nowadays is swim. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token regexp="yes">does|did|do</token>
                <token postag="RB" min="0" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All Tom does nowadays is swim. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" />
                <token chunk_re="I-NP.*" min="0" max="6" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes">does|did|do</token>
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All Tom is doing nowadays is swim. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>doing</token>
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All Tom and Mary are doing nowadays is swim. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" />
                <token chunk_re="I-NP.*" min="0" max="6" />
                <token chunk_re="E-NP.*" />
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>doing</token>
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP.*" postag="NN.*|DT" postag_regexp="yes" />
                <token>that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" skip="20" />
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All I really wanted to do then was get back to work -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="VBD" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All you need to do to get started today is update yo -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="VB[DZP]?" postag_regexp="yes" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" skip="15" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- These bivalves are filter and/or deposit feeders -->
                <token regexp="yes">are|were</token>
                <token postag="JJ.|NN.*" postag_regexp="yes" />
                <token>and</token>
                <token>/</token>
                <token>or</token>
                <token postag="JJ.|NN.*" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern>
                <token>there</token>
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token min="0">n't</token>
                <token>be</token>
            </antipattern>
            <antipattern>
                <token>be</token>
                <token>coming</token>
            </antipattern>
            <antipattern><!-- All I have asked him to do is be in a position to identify outside resources skilled in the area in question. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token postag="RB" min="0" />
                <token min="0">been</token>
                <token postag="VBN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- All I'm saying is be careful. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token min="0">that</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token postag="VBG" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token regexp="yes">friends?</token>
            </antipattern>
            <antipattern><!-- This is jack the ripper -->
                <token inflected="yes">be</token>
                <token regexp="yes">&given_names_that_are_also_nouns;</token>
            </antipattern>
            <antipattern><!-- This is can go wrong (different error) -->
                <token inflected="yes">be</token>
                <token regexp="yes">can|will</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">WHO</token>
                <token>'s</token>
            </antipattern>
            <antipattern><!--  One thing I don't want to do with this project is have it rely on -->
                <token regexp="yes">one|the</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">will|do|can|should|must</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" /> 
                <token postag="RB" min="0" />
                <token postag="IN" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes">is|was|were|are</token>
            </antipattern>
            <antipattern><!-- It needs to be group 18 -->
                <token inflected="yes">be</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes" chunk="E-NP-singular">\d+</token>
            </antipattern>
            <antipattern><!-- It needs to be group six -->
                <token inflected="yes">be</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="CD" chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>bunch</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- It needs to be group nr. 18 -->
                <token inflected="yes">be</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">no|nr|#</token>
                <token>.</token>
                <token regexp="yes" chunk="E-NP-singular">\d+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|what|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token min="0">,</token>
                <token postag="RB" />
                <token>,</token>
                <token regexp="yes">is|are</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|what|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="VBD?" postag_regexp="yes" />
                <token min="0">,</token>
                <token postag="RB" min="1" max="3" />
                <token>,</token>
                <token regexp="yes">is|are|was|were</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|what|which|who</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token postag="VBG?" postag_regexp="yes" />
                <token min="0">,</token>
                <token postag="RB" min="1" max="3" />
                <token>,</token>
                <token regexp="yes">is|are|was|were</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">slow|stop</token>
                <token inflected="yes">motion</token>
            </antipattern>
            <antipattern><!-- Everything he's wanted to be was being a doctor. -->
                <token regexp="yes">(every)?thing|all|what</token>
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">have|be</token>
                <token postag="RB" min="0" />
                <token postag="VBN" />
                <token postag="RB" min="0" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|are|was|were</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes">First|Second|Third|Fourth</token>
                <token>is</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>
                    father
                    <exception scope="next">by</exception>
                </token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>
                    pee
                    <exception scope="next" regexp="yes">on|in|at</exception>
                </token>
            </antipattern>
            <antipattern><!-- It is mostly ice. -->
                <token inflected="yes">be</token>
                <token regexp="yes">mostly|mainly</token>
                <token postag="NN:UN?" postag_regexp="yes" chunk="E-NP-singular" />
            </antipattern>
            <antipattern><!-- The only question I have is did Jesus really die? -->
                <token>the</token>
                <token min="0">only</token>
                <token min="0">remaining</token>
                <token regexp="yes">questions?</token>
                <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes">have</token>
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
            </antipattern>
            <antipattern><!-- The stuff Tom really would do next is avenge himself. -->
                <token>the</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VB" />
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
            </antipattern>
            <antipattern><!-- Today is bring your kid to work day -->
                <token regexp="yes">'s|is|was</token>
                <token regexp="yes">bring|take</token>
                <token>your</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token regexp="yes">(in)?to</token>
                <token min="0">the</token>
                <token regexp="yes">work|school|office</token>
                <token regexp="yes">day|week</token>
            </antipattern>
            <antipattern><!-- his being is not perfect -->
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token>being</token>
                <token postag="RB" min="0" />
                <token regexp="yes">is|was</token>
            </antipattern>
            <antipattern><!-- We're test subjects -->
                <token regexp="yes">are|'re|were</token>
                <token chunk_re="B-NP-plural">test</token>
                <token chunk_re="I-NP-plural" min="0" />
                <token chunk_re="E-NP-plural" />
            </antipattern>
            &multi_word_verbs;
            <rule>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token>had</token>
                </antipattern>
                <antipattern>
                    <token>
                        <exception regexp="yes">s?he|he|it|there|who</exception>
                    </token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">'m|'re|'s</token>
                    <token regexp="yes">have|had</token>
                </pattern>
                <message>Did you mean <suggestion>\1 having</suggestion> or <suggestion>'ve</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="'re having|'ve">They<marker>'re have</marker> a good time.</example>
                <example>Tom's had a very good year.</example>
                <example>Only Eton, Shrewsbury and St Edward's have won more events at the Regatta.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">'m|'re</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>\1 being</suggestion> or <suggestion>'ve \2</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="'m being|'ve been">I<marker>'m been</marker> prepared.</example>
                <example>The first thing I needed to do was be sure to add a wait after moving to the next page by using:</example>
                <example>To make this simple, all I want to do is be able to preview BBCode in Atom.</example>
                <example>All I'm saying is be careful.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">am|are</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>\1 being</suggestion> or <suggestion>have \2</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="are being|have been">The tools <marker>are been</marker> prepared.</example>
                <example>The first thing I needed to do was be sure to add a wait after moving to the next page by using:</example>
                <example>To make this simple, all I want to do is be able to preview BBCode in Atom.</example>
                <example>All I'm saying is be careful.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">is|was</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>\1 being</suggestion> or <suggestion>has \2</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="is being|has been">The software <marker>is been</marker> prepared.</example>
                <example>The first thing I needed to do was be sure to add a wait after moving to the next page by using:</example>
                <example>To make this simple, all I want to do is be able to preview BBCode in Atom.</example>
                <example>All I'm saying is be careful.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">is|was</token>
                    <token>n't</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2 being</suggestion> or <suggestion>hasn't \3</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="isn't being|hasn't been">The software <marker>isn't been</marker> prepared.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">is|was</token>
                    <token>not</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>\1 \2 being</suggestion> or <suggestion>has \2 \3</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="is not being|has not been">The software <marker>is not been</marker> prepared.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>let</token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token>
                        's
                        <exception postag="POS" />
                    </token>
                    <token>be</token>
                </pattern>
                <message>Consider using either the present participle <suggestion>\1 being</suggestion> or past participle <suggestion>\1 been</suggestion> here.</message>
                <short>Possible agreement error</short>
                <example correction="'s being|'s been">It<marker>'s be</marker> prepared.</example>
                <example>Let's be tolerant.</example>
                <example>a record it held until the release of Oasis's Be Here Now in 1997.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">is|'m|am|are|'re|was|were</token>
                    <token regexp="yes">
                        been|be
                    </token>
                </pattern>
                <message>Consider using either the present participle <suggestion>\1 being</suggestion> here.</message>
                <short>Possible agreement error</short>
                <example correction="is being">The software <marker>is be</marker> prepared.</example>
                <example>The first thing I needed to do was be sure to add a wait after moving to the next page by using:</example>
                <example>To make this simple, all I want to do is be able to preview BBCode in Atom.</example>
                <example>All I have asked him to do is be in a position to identify outside resources skilled in the area in question.</example>
                <example>All Tom has to do is be there. He doesn't need to say anything.</example>
            </rule>
            <rule><!-- 7 -->
                <antipattern>
                    <token>
                        <exception regexp="yes">s?he|he|it|there|who</exception>
                    </token>
                    <token>'s</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be
                        <exception scope="previous" postag_regexp="yes" postag="VBP?" negate="yes" regexp="yes">ha(?:ve|s)</exception>
                        <exception postag='NNP' />
                        <exception regexp="yes">'s|am|'m</exception><!-- TODO: this exception doesn't make much sense, I think -->
                    </token>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception postag="VBN|NN:UN?|NNP|JJ.*|RB|IN" postag_regexp="yes" regexp="yes">(?!(please|check|need|test)$).+</exception><!-- "check" is in most cases uncountable -->
                            <exception regexp="yes">are|am|'m</exception>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                            <exception regexp="yes" scope="next">&apostrophe;.*</exception>
                            <exception scope="next">…</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Consider using either the past participle <suggestion><match no="2" postag="VBN"/></suggestion> or the present participle <suggestion><match no="2" postag="VBG"/></suggestion> here.</message>
                <short>Possible agreement error</short>
                <example correction="introduced|introducing">The software was <marker>introduce</marker> yesterday.</example>
                <example correction="introduced|introducing">The program has been <marker>introduce</marker>.</example>
                <example correction="tested|testing">The code is <marker>test</marker>.</example>
                <example correction="given|giving">The gift has been <marker>gave</marker>.</example>
                <example correction="needed|needing">It is <marker>need</marker> for review.</example>
                <example correction="interred|interring">If the body has not been <marker>inter</marker>, yet...</example>
                <example correction="fathered|fathering">We know that he was <marker>father</marker> by a great warrior.</example><!-- #2974 -->
                <example correction="done|doing">He has been <marker>did</marker> this for many years.</example>
                <example correction="supposed|supposing">He is <marker>suppose</marker> to win.</example>
                <example correction="believed|believing">I was <marker>believe</marker> that it is correct.</example>
                <example correction="checked|checking">When the text can't be <marker>check</marker> because it is too short.</example>
                <example correction="had|having">...signs have the advantages that they are <marker>have</marker> been well tested for strength, stability...</example><!-- #4883 -->
                <example correction="done|doing">What he is <marker>do</marker> helps us all.</example>
                <example correction="asked|asking">As per Sonja Galloway's request, we have been <marker>ask</marker> to supply this information no later than close of business tomorrow.</example>
                <example>The park has been open for many years.</example>
                <example>It has been done.</example>
                <example>It has been love's whip.</example>
                <example>The only question I have is did Jesus really die?</example>
                <example>What time is check out?</example>
                <example>When is check out time?</example>
                <example>All you have to do is go and ask.</example>
                <example>The other patrons were taxi drivers.</example>
                <example>You're father</example>
                <example>All she does is eat.</example>
                <example>It would be end of November.</example>
                <example>We're test subjects.</example>
                <example>I've met with the new Enron CFO when he was COO at Net Works and think he is a complete asshole.</example>
                <example>What time is check out?</example>
                <example>Her soon to be husband.</example>
                <example>We ask Yahoo!'s COO for his take.</example>
                <example>Submittal of standard exemption documention for the NNG Kermit, Plainview, Seminole and Brownfield C/S's were submitted to the TNRCC.</example>
                <example>Loud's pen had a small rotating steel ball, held in place by a socket.</example>
                <example>Obviously you identified with it's message.</example>
                <example>To be clear, what we are trying to do with Ridley now is go through the painstaking process of trying to break the back of the story ...</example>
                <example>It's swim or die.</example>
                <example>It was no one's fault.</example>
                <example>A very important word is please.</example>
                <example>Mr. Wiedemann was previously founder, chairman and CEO of Grey Direct Worldwide, a direct marketing agency.</example>
                <example>He engraves the solider's name in fine marble to honor him.</example>
                <example>It's Step 1 in a long, long process.</example>
                <example>It is Step 2 in a long, long process.</example>
                <example>Usually it’s buy 2, get 1 free so it works out to about $11 a unit.</example>
                <example>Everybody's fault is nobody's fault.</example>
                <example>Today is bring your kid to work day.</example>
                <example>His being was not perfect.</example>
                <example>The very next day after the departure of it's friend, it felt lonely.</example>
                <example>Main Engines <marker>are GO</marker> … 3… 2… 1… And we have liftoff!”</example>
                <example><marker>Should old acquaintance be forgot</marker>, And never brought to mind?</example>
                <example>My favorite team is <marker>Inter Milano</marker> in Italy.</example>
                <example>It was <marker>sunday</marker> afternoon and I was waiting for a bus.</example><!-- MFU 2018-01-15 removed non-standard verb to prevent LT online giving the message "Consider using a past participle" -->
                <example>The Anchorage <marker>art exhibit</marker> is to raise awareness about autism.</example>
                <example>It was google who shut down the integration because they are tightening up all of their external authorization paths as part of a new security review.</example>
                <example>Your idea cannot be <marker>brand new</marker>. I heard about it from another source last year.</example>
                <example>What we are trying to do with Ridley now is go through the painstaking process of trying to...</example>
                <example>Their opponents were club president Cesar de Zulueta and Valentin Barr.</example>
                <example>... question of this school was whether Being came before Not-Being (in Chinese, 'ming' and ...</example><!-- #2434 -->
                <example>The Oculate Being was usually shown</example>
                <example>The currents of the Universal Being circulate through me.</example>
                <example>A 10-day-old pup can die from being host to as few as 25 'A. caninum' worms.</example>
                <example>... visited the islands (of whom 443,987 <marker>were cruise ship passengers</marker>).</example>
                <example>The question is can you do everything we've asked...</example>
                <example>The question is did she know about the...</example>
                <example>The Egyptians believed that every human being was composed of ...</example>
                <example>All systems are go.</example>
                <example>What is Google AMP?</example>
                <example>It doesn’t appear to be phone based, but I’m not sure it isn’t an Android problem.</example>
                <example>You will be queen.</example><!-- #2123 -->
                <example>I am believe you.</example><!-- #2547 Found by I_AM_VB -->
                <example>What we tried to do with Ridley now was go through the painstaking process of trying to...</example>
                <example>What we are trying to do now is go through the painstaking process of trying to...</example>
                <example>What we are trying to do is go through the painstaking process of trying to...</example>
                <example>He wanted to be quarterback.</example><!-- #2568 -->
                <example>It's going to be season 3.</example><!-- #2568 -->
                <example>Even being host to exchange students can benefit kids.</example><!--  #2568 -->
                <example>In my language, the notes of the scale are do, re, mi, fa, sol, la, ti, do.</example>
                <example>Can a being create the fifty billion galaxies...</example>
                <example>According to Diodorus, he was father of six sons by Cyane.</example><!-- #2974 -->
                <example>Tom and Mary were neck and neck.</example><!-- Premium #1350 -->
                <example>All Tom did was eat.</example><!-- #2979 -->
                <example>All I did was tell you what Tom told me.</example><!-- #2979 -->
                <example>In case you were please disregard this notice.</example>
                <example>They were peach and yellow roses.</example>
                <example>The 3 Rs are Reduce, Reuse and Recycle.</example>
                <example>Please don't interrupt — I'm try...</example>
                <example>They were ask…</example>
                <example>The bottom line is go out, buy stocks and go out and buy in ...</example>
                <example>What I don't want to do, however, is go all the way through arbitration</example>
                <example>The best thing we can do for California is get out of this mess we're in.</example>
                <example>The best thing we did for California was get out of this mess we're in.</example>
                <example>So the key to this method is don't add the Hue dimmer to your SmartThings account.</example>
                <example>Examples of such groups are Take 6, Glad and Acappella.</example>
                <example>All I have ever done is ask Holloway to pay you with what he owes me for my finishes in the league.</example>
                <example>All I want to do now is get back to work.</example>
                <example>All I really wanted to do then was get back to work.</example>
                <example>All I can do at the moment is sit here and listen.</example>
                <example>What we're trying to do here is strike a blow at the heart of the scalping operation.</example>
                <example>All Tom does nowadays is swim.</example>
                <example>Now, all Gore has to do on that fateful day in the U.S. Senate is reject for certification the Electoral College votes of Florida, and he wins the majority and becomes president.</example>
                <example>What we're going to do today is go for a walk.</example>
                <example>My hobby is stamp collecting.</example>
                <example>All you need to do to get started today is update your merckmedco.com profile with a recent prescription number.</example>
                <example>The thing to do when you get in a hole is stop digging.</example>
                <example>What the Russians need to do in relations with the U.S., Perle suggested, is drop their old agenda.</example>
                <example>What I wish to do here is choose three examples.</example>
                <example>What we`re going to do now is go to the "Markets Desk"</example>
                <example>What I wish to do is choose three examples.</example>
                <example>These bivalves are filter and/or deposit feeders, which rely on ambient primary production rather than inputs of fish or other feed.</example>
                <example>While opening an ammunition container 2 deputies were exposed to a yellow gas, thought to be tear gas.</example>
                <example>There will be follow up and plans will be required.</example>
                <example>What I have recently done is accept all of GC's changes and then reflected the items.</example>
                <example>All Amgas does today is administer our sales function.</example>
                <example>The lady call me about the apartment, the prospect that was there before I was did not get it.</example>
                <example>But what we do instead, is making ...</example>
                <example>Everything he's wanted to be was a doctor.</example>
                <example>Second is buy high with up to 99% of available capital and sell higher.</example>
                <example correction="pleased|pleasing">We are <marker>please</marker> to announce the addition of John Postlethwaite as the head of Portland Risk Management.</example>
                <example correction="pleased|pleasing">Rice University is <marker>please</marker> to invite you Thursday, November 30, 2000.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="(VB|NN).*" postag_regexp="yes"/>
                    <token regexp="yes">on|per</token>
                    <token min="0" regexp="yes">-|–|—</token>
                    <token regexp="yes">demand|view</token>
                </antipattern>
                <antipattern>
                    <token>
                        <exception regexp="yes">s?he|he|it</exception>
                    </token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB"/>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern>
                    <token postag="NN.*" chunk_re="B-ADJP" postag_regexp="yes"/>
                    <token postag="TO"/>
                    <token chunk_re="B-NP.*"/>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token chunk_re="B-(SBAR|ADVP)"/>
                    <token chunk_re="B-NP.*" skip="2"/>
                    <token postag="MD" min="0"/>
                    <token postag="VB.*" min="0" postag_regexp="yes"/>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="[BE]-NP.*"/>
                    <token postag="MD" min="0"/>
                    <token postag="VB.*" min="0" postag_regexp="yes"/>
                    <token inflected="yes">be</token>
                    <token inflected="yes">not</token>
                    <token chunk_re=".-NP.*" postag="VB[DP]?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="JJ">
                        <exception postag="JJ" negate_pos="yes"/>
                    </token>
                    <token postag="MD" min="0"/>
                    <token postag="VB.*" min="0" postag_regexp="yes"/>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB"/>
                    <token>thank</token>
                    <token postag="PRP"/>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB"/>
                    <token>cause</token>
                    <token>for</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB"/>
                    <token chunk_re="[EB]-NP.*"/>
                    <token postag="IN|WP" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token>too</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>simply</token>
                    <token>wait</token>
                </antipattern>
                <pattern>
                    <token chunk_re="[BE]-NP.*">
                        <exception scope="previous" postag="WP"/>
                        <exception>there</exception>
                    </token>
                    <token postag="MD" min="0"/>
                    <token postag="VB.*" min="0" postag_regexp="yes"/>
                    <token inflected="yes">be
                        <exception scope="previous" postag_regexp="yes" postag="VBP?" negate="yes" regexp="yes">ha(?:ve|s)</exception>
                        <exception postag="NNP"/>
                    </token>
                    <token postag="RB" chunk_re=".*VP">
                        <exception regexp="yes">in|t?here|once|right</exception>
                        <exception postag="VB[NP]|CC|UH|IN" postag_regexp="yes"/>
                    </token>
                    <marker>
                        <token postag="VB[DP]?" postag_regexp="yes">
                            <exception regexp="yes" case_sensitive="yes">&uncommon_verbs;|dang|junk|love|trouble|fear|text|[A-Z].*</exception>
                            <exception postag="VBN|JJ.*|IN|RB" postag_regexp="yes"/>
                            <exception regexp="yes">can|will</exception>
                        </token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;|'s|and|&amp;|or|#|-|n't</exception>
                        <exception postag="VB[NG]|CD" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Consider using either the past participle <suggestion><match no="6" postag="VBN"/></suggestion> or the present participle <suggestion><match no="6" postag="VBG"/></suggestion> here.</message>
                <short>Possible agreement error</short>
                <example>It has always been <marker>written</marker> like this.</example>
                <example>The area the center of which is here was bombed.</example>
                <example correction="written|writing">It must have been always <marker>wrote</marker> that.</example>
                <example correction="hated|hating">The president was always <marker>hate</marker> in Moscow.</example>
                <example correction="fished|fishing">The old tyre was not <marker>fish</marker> from the river; it was found on the bank.</example>
                <example correction="done|doing">Tom is probably <marker>do</marker> that eventually.</example>
                <example correction="released|releasing">It is a bug that has been fixed in 11.2.5, which was recently <marker>release</marker>.</example>
                <example>It has always been liked.</example>
                <example>They are miles away but they are still people you love and care about.</example>
                <example>As they are differentially <marker>phase</marker> modulated...</example>
                <example>Indirect consumption is usually <marker>oil</marker>.</example>
                <example>Indirect consumption is mainly <marker>oil and natural gas</marker>.</example>
                <example>“There is still hope,” said Fernando.</example>
                <example>It's not rocket science.</example>
                <example>That's not butter; it's margarine.</example>
                <example>What he did next was Truly Mind Blowing.</example><!-- #1701 -->
                <example>There's little water in the tank, if any.</example>
                <example>This was before people knew how to record voices, so we don't know...</example>
                <example>...small role and the fact that the island is mostly bog means that its potential...</example>
                <example>... these churches are generally <marker>host to</marker> staunch Anglicans who are ...</example>
                <example>We are also <marker>market leaders</marker>.</example><!-- #2056 -->
                <example>Joan said kicking people when they were down was her specialty.</example><!--  #2568 -->
                <example>He wanted it to be about romance and love.</example><!-- #3105 -->
                <example>I'm assuming you are in, if you are not please call Paul and reschedule.</example>
                <example>TODO: Tell your players that I was extremely please with how they played.</example>
                <example>You're not mine.</example>
                <example>I am well thank you.</example>
                <example>If you have the files or know where they are please call me.</example><!-- #3223 -->
                <example>... but if you and Pat leave things the way they are please explain to both Robert and Pat that...</example><!-- #3223 -->
                <example>If you are listed and YOU STILL WANT to be please fax to my office your signature...</example><!-- #3223 -->
                <example>If you like it the way it is please help us in promoting it.</example><!-- #3223 -->
                <example>... and will be please make the corrections.</example><!-- #3223 -->
                <example>... if he can be please tell me immediately, and I will contact him.</example><!-- #3223 -->
                <example>This is not fish.</example>
                <example>These are not fish.</example>
                <example>The placement is partly case sensitive, partly not.</example>
                <example>Not sure how much of this is actually Project Manager logic and how much of this is spent in Atom land.</example>
                <example>This will be entirely cloud dependent though.</example>
                <example>This is strictly market research and there is absolutely no sales effort involved.</example>
                <example>There's still blood on the wall.</example>
                <example>I had a meeting this morning with Dr. Luis Tellez (former Secretary of Energy), who is currently COO of Grupo DESC.</example>
                <example>It's simply cause and effect.</example>
                <example>They're not cause for celebration.</example>
                <example>I know it may be not be easy, but I think we need to do that.</example>
                <example>There's been enough talk about fixing the voting machines.</example>
                <example>Depression is merely anger without enthusiasm.</example>
                <example>He is also coauthor of the AWK and AMPL programming languages.</example>
                <example>It was before dawn that they got the fire under control.</example>
                <example>Mr. Landry is also founder of Mainstone Capital, and serves on the boards of several of its investments, including Interliant, GIGA Information Group, MCK Communications, Lante, and Cidera.</example>
                <example>This is supposedly research which my secretary did.</example>
                <example correction="known|knowing">They are affectionately <marker>know</marker> as the "Golden Girls.</example>
                <example correction="dismissed|dismissing">I contributed to this company, so you are not <marker>dismiss</marker> me Mary knew that I'd be gone by the time she got there.</example>
                <example correction="exposed|exposing">Very interesting patinas and patterns can form on coins which have been naturally <marker>expose</marker> to environments which can effect the contents of the coin.</example>
                <example correction="used|using">I'm so <marker>use</marker> to doing it all by myself anyway, so it really doesn't matter.</example>
                <example>Courage is merely fear that one doesn't show.</example>
                <example>Most women there are very resilient and funny and there’s always talk about work and relationships.</example>
                <example>The easiest way for me to look at something that is primarily text (minimal graphics involved) is to have it in a form I can just print out.</example>
                <example>It should be mostly gas though because we won't have our power marketers license yet.</example>
                <example>Coffee is so dang expensive.</example>
                <example>This is actually deal #471975, which I just fixed because Jeff forgot to put the broker name in there. </example>
                <example>Wi-Fi is usually access point-centered.</example>
                <example>It's not mine to give away.</example>
                <example>It's not view on demand, but it's as easy as getting in a car and driving to the local video store," said Yair Landau, president of Sony Pictures Digital Entertainment.</example>
                <example>The issue isn't can we.</example>
                <example>On you going personally, I am not real sure who the attendees should be so let's discuss that next plan next week.</example>
                <example>hat stuff can be reused for sure, but anything that isn't will likely just be paperweights</example>
                <example>Then again, all species of mammal were once fish.</example>
                <example>This is NOT who we are and those that do not stand up to do what is right do not belong there either.</example>
                <example>It will list codes sequentially, so make sure the second code is also code 12 - if it's not, note down all of the codes it's flashing and post here.</example>
                <example>My gut reaction would be simply wait about 6 months after each new major release (El Capitan, Sierra, etc).</example>
                <example type="triggers_error">The only thing that explosions actually do in terms of random is slightly increase the chance for skulls to show up and very slightly decrease the chance for non-skull tiles.</example>
                <example>It wasn't love, it was just lust.</example>
            </rule>
        </rulegroup>

        <rulegroup id="MASS_AGREEMENT" name="Agreement: Mass/singular noun + non-third-person verb">
            <antipattern><!-- www.lexico.com/definition/better -->
                <token postag="SENT_START"/>
                <token/>
                <token>better</token>
                <token chunk="B-VP" postag_regexp="yes" postag="VBP?"/>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="NNP" />
                    <token>be</token>
                    <token regexp="yes">careful|cautious|ready|sure</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token>see</token>
                    <token>the</token>
                    <token>attached</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="NNP?|NN:.*" postag_regexp="yes">
                        <exception regexp="yes">Also|Anyone|Anybody|Someone|Somebody|Everybody|Everyone|An?|In?|No|Hello|Hey|Hi|Oh|Most|Cant|Gone|Here|God|Rather|Reminder|@.+</exception>
                        <exception postag="JJ|MD|NNP?S|CC|WRB|IN|VB" postag_regexp="yes"/>
                    </token>
                    <marker>
                        <token chunk="B-VP" postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|IN|RB|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Consider using third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="3" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">Marketing <marker>are</marker> bad for you.</example>
                <example correction="means">Marketing <marker>mean</marker> a lot of trouble.</example>
                <example correction="is">Jim <marker>are</marker> good.</example>
                <example>I think it is bad for you.</example>
                <example>Reporting sample size analysis is generally required in psychology.</example>
                <example>Most have four limbs except for caecilians.</example>
                <example>Greece can no longer pay off its debts.</example>
                <example>Everyone please review responsibilities and let me know your comments.</example><!-- #3223 -->
                <example>This better be important.</example>
                <example>Marketing better show some respect.</example>
                <example>Tim Be careful of paying for insurance wraps.</example>
                <example>Gone are the days ...</example>
                <example>Reminder note the training room has changed to EB49C1...</example><!-- note/B-VP, #4901 -->
                <example type="triggers_error">England are the current holders after winning the Ashes in ...</example><!-- 2019-10-09 MFU. This is not an error in BrE. Groups are treated as singular or plural depending on the emphasis. -->
            </rule>
            <rule default="off"><!-- too many false alarms, needs rework -->
                <antipattern>
                    <token>please</token>
                    <token>,</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="NNP?|NN:.*" postag_regexp="yes">
                        <exception regexp="yes">An?|Anyone|Anybody|Everybody|Everyone|In?|No|Most|Cant|Gone|Here|Oh|Hey|Hi|@.+</exception>
                        <exception postag="JJ|MD|NNP?S|CC|WRB|IN|VB" postag_regexp="yes"/>
                    </token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token chunk="B-VP" postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|IN|RB" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Consider using third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="5" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">Marketing, for instance, <marker>are</marker> bad for you.</example>
                <example correction="means">Marketing, for example, <marker>mean</marker> a lot of trouble.</example>
                <example correction="is">Jim, who is 8 years old, <marker>are</marker> good.</example>
                <example>I think it is bad for you.</example>
                <example>Reporting sample size analysis is generally required in psychology.</example>
                <example>Most have four limbs except for caecilians.</example>
                <example>Clayton, Please, mention this to Shirley.</example>
                <example>Mark, Greg, Please pay special attention to the Engage Canada Physical worksheet.</example><!-- #3223 -->
            </rule>
            <rule default="temp_off">
                <antipattern>
                    <token postag="RB"/>
                    <token postag="VB.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>that</token>
                </antipattern>
                <antipattern><!-- chunker error: The end date on #21 (contract #58654) is 4/30/2005 -->
                    <token postag="SENT_START"/>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="JJ|NN(:UN?)?"/>
                    <token chunk="B-VP" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag="IN"/>
                    <token chunk="B-NP-singular">#</token>
                    <token skip="-1" postag="CD"/>
                    <token chunk="B-VP" regexp="yes">is|was</token>
                </antipattern>
                <antipattern><!-- no way www.ldoceonline.com -->
                    <token>no</token>
                    <token regexp="yes">way|longer</token>
                    <token chunk="B-VP"/>
                </antipattern>
                <antipattern>
                    <token>user</token>
                    <token>experience</token>
                    <token>designer</token>
                </antipattern>
                <antipattern>
                    <token>wall</token>
                    <token>clock</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">may|will|can</token>
                    <token>be</token>
                </antipattern>
                <antipattern>
                    <token>transport</token>
                    <token>deduct</token>
                </antipattern>
                <antipattern><!-- A credit review on Renaissance will be conducted (incorrect chunking) -->
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk_re=".-VP" />
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token postag="NNP" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes">
                        <exception>all</exception>
                    </token>
                    <marker>
                        <token postag="NN(:.+)?" postag_regexp="yes">
                            <exception postag="JJ|MD|NNP?S" postag_regexp="yes"/>
                            <exception regexp="yes">remainder|youth|rest|latter|government|might|can|personnel|family|army|audience|board|cabinet|class|committee|company|corporation|council|department|faculty|firm|group|jury|majority|minority|navy|public|school|senate|society|team|troupe</exception>
                        </token>
                        <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP">
                            <exception postag="VB[ZNDG]|JJ|MD|NN" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ|IN" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion>\3 <match no="4" postag="VBZ"/></suggestion>
                <suggestion suppress_misspelled="yes"><match no="3" postag="NNS" /> \4</suggestion>
                <short>Possible agreement error</short>
                <example correction="marketing is|marketings are|markets are">The <marker>marketing are</marker> bad for you.</example>
                <example correction="mother is|mothers are">My <marker>mother are</marker> a doctor.</example>
                <example correction="success depends|successes depend">Our <marker>success depend</marker> on your efforts.</example>
                <example>The city is an international transport hub and a popular tourist destination.</example>
                <example>Those wanting are the Canines.</example>
                <example>The Vietnamese are good people.</example>
                <example>The transport deduct on net volumes is $.2422.</example>
                <example>The rest are arriving later.</example>
                <example>A credit review on Renaissance will be conducted within the next week.</example>
                <example>The committee are all against it.</example>
                <example>An evening glow often promises good weather.</example>
                <example>An export pipeline that transports Caspian oil.</example>
                <example>A Shuttle trip around the world takes only ninety minutes.</example>
                <example>Our personnel are encouraged to work as a team.</example>
                <example>His last film The Sacrifice was produced in Sweden in 1986.</example>
                <example>Caught by MANY_NN: Many child are unhappy.</example>
                <example>Neither may be necessary, let me know.</example>
                <example>The end date on #21 (contract # 58654) is 4/30/2005.</example><!-- date/VB-P -->
                <example>The demand charge on #21 and #17 is $3.145 per month.</example><!-- charge/VB-P -->
                <example>This better be important.</example>
                <example>No longer are the riches of the Bible known only to a few.</example>
                <example>All IT project technical communications will be focused through your company's designated IT contact(s).</example>
                <example>The Kabyle are Berber but they are secular unlike other Berbers.</example>
                <example>The remainder are senior specialists.</example>
                <example>The youth eat in the garden.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="RB"/>
                    <token postag="VB.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>that</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception postag="JJ|MD|NNS" postag_regexp="yes"/><exception regexp="yes">rest|latter|government|might|can|personnel|family|army|audience|board|cabinet|class|committee|company|corporation|council|department|faculty|firm|group|jury|majority|minority|navy|public|school|senate|society|team|troupe</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes"><exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="6" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">The marketing, for example, <marker>are</marker> bad for you.</example>
                <example correction="is">My mother, for example, <marker>are</marker> a doctor.</example>
                <example>The city is an international transport hub and a popular tourist destination.</example>
                <example>Those wanting are the Canines.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception postag="JJ|MD|NNS" postag_regexp="yes"/><exception regexp="yes">rest|latter|jury|committee|government|might|can</exception></token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/>
                            <exception>site</exception><!-- If a word can be both a noun and a verb, and if the verb is a transitive verb, then we can parse the sentence as DT + noun cluster. -->
                            <exception>please</exception>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">[.!]</token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="4" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="eats">The dog <marker>eat</marker>.</example>
                <example correction="eats">My dog <marker>eat</marker>.</example>
                <example>The committee are all against it.</example>
                <example>The e-commerce site.</example><!-- Refer to #1656 -->
                <example>Another beer please.</example><!-- #3223 -->
                <example>Your money please.</example><!-- #3223 -->
                <example type="triggers_error">The oil leak.</example><!-- Ambiguous because 'leak' is an intransitive verb.: noun cluster or incorrect inflection? -->
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception postag="JJ|MD|NNS" postag_regexp="yes"/><exception regexp="yes">rest|latter|government|might|can|personnel|family|army|audience|board|cabinet|class|committee|company|corporation|council|department|faculty|firm|group|jury|majority|minority|navy|public|school|senate|society|team|troupe</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">[.!]</token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="6" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="eats">The dog, whose owner likes you, <marker>eat</marker>.</example>
                <example correction="eats">My dog, whose name is Joe, <marker>eat</marker>.</example>
                <example>The committee are all against it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1"/>
                    <token postag="SENT_END">?</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token regexp="yes">what|which</token>
                    <token>extent</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="NNP?|NN:.*" postag_regexp="yes"><exception regexp="yes">An?|In?|No|Most|Here|God|do</exception><exception postag="JJ|MD|NNP?S|CC|WRB|IN|VB" postag_regexp="yes"/></token>
                    <marker>
                        <token chunk="B-VP" postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|IN|RB|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Consider using third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="3" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">She asked whether marketing <marker>are</marker> bad for you.</example>
                <example correction="means">This is a company where marketing <marker>mean</marker> a lot of trouble.</example>
                <example>What color are the walls in your room?</example>
                <example>At about what age do the Japanese marry?</example>
                <example>To what extent are the ...</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="NNP?|NN:.*" postag_regexp="yes"><exception regexp="yes">An?|In?|No|Most|Here|Oh|Hey|do</exception><exception postag="JJ|MD|NNP?S|CC|WRB|IN|VB" postag_regexp="yes"/></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token chunk="B-VP" postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|IN|RB|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Consider using third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="5" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">She asked whether marketing, for instance, <marker>are</marker> bad for you.</example>
                <example correction="means">She asked whether marketing, for example, <marker>mean</marker> a lot of trouble.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="RB"/>
                    <token postag="VB.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>that</token>
                </antipattern>
                <antipattern><!-- What the heck www.ldoceonline.com/dictionary/what-the-heck -->
                    <token regexp="yes">what|who</token>
                    <token>the</token>
                    <token regexp="yes">heck|hell|fuck</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token>longer</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes">
                        <exception postag="JJ|MD|NNS" postag_regexp="yes"/>
                        <exception regexp="yes">rest|latter|jury|committee|government|might|can</exception>
                    </token>
                    <marker>
                        <token chunk="B-VP" postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="4" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">She wants to know whether this room <marker>are</marker> big enough.</example>
                <example correction="is">She wants to know whether your room <marker>are</marker> big enough.</example>
                <example>She wants to know whether this room <marker>is</marker> big enough.</example>
                <example>So I said what the heck try a new battery in the tilt sensor.</example>
                <example>When the interface clock period is shorter than the largest time difference between signal arrivals, recovery of the transmitted word is no longer possible.</example><!-- #3741 -->
            </rule>
            <rule>
                <antipattern>
                    <token postag="RB"/>
                    <token postag="VB.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="NN(:.+)?" postag_regexp="yes"/>
                    <token>that</token>
                </antipattern>
                <antipattern><!-- What the heck www.ldoceonline.com/dictionary/what-the-heck -->
                    <token regexp="yes">what|who</token>
                    <token>the</token>
                    <token regexp="yes">heck|hell|fuck</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception postag="JJ|MD|NNS" postag_regexp="yes"/><exception regexp="yes">rest|latter|government|might|can|personnel|family|army|audience|board|cabinet|class|committee|company|corporation|council|department|faculty|firm|group|jury|majority|minority|navy|public|school|senate|society|team|troupe</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="DT|JJ" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="6" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="is">She wants to know whether this room, for example, <marker>are</marker> big enough.</example>
            </rule>
            <rule>
                <antipattern><!-- What the heck www.ldoceonline.com/dictionary/what-the-heck -->
                    <token regexp="yes">what|who</token>
                    <token>the</token>
                    <token regexp="yes">heck|hell|fuck</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception postag="JJ|MD|NNS" postag_regexp="yes"/><exception regexp="yes">rest|latter|jury|committee|government|might|can</exception></token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">[.!]</token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="4" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="eats">She asked whether the dog <marker>eat</marker>.</example>
           </rule>
           <rule>
                <antipattern><!-- What the heck www.ldoceonline.com/dictionary/what-the-heck -->
                    <token regexp="yes">what|who</token>
                    <token>the</token>
                    <token regexp="yes">heck|hell|fuck</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">wh(at|ich|o|ose|ere|en|ether)</token>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se</exception></token>
                    <token postag="NN(:.+)?" postag_regexp="yes"><exception postag="JJ|MD|NNS" postag_regexp="yes"/><exception regexp="yes">rest|latter|government|might|can|personnel|family|army|audience|board|cabinet|class|committee|company|corporation|council|department|faculty|firm|group|jury|majority|minority|navy|public|school|senate|society|team|troupe</exception></token>
                    <token skip="-1">,</token>
                    <token>,</token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes">
                            <exception postag="VB[ZNDG]|JJ|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">[.!]</token>
                </pattern>
                <message>Possible agreement error - use third-person verb forms for singular and mass nouns.</message>
                <suggestion><match no="6" postag="VBZ"/></suggestion>
                <short>Possible agreement error</short>
                <example correction="eats">She asked whether the dog, whose owner likes you, <marker>eat</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="RELATIVE_CLAUSE_AGREEMENT" name="Agreement of relative pronoun 'who' and verb">
            <rule>
                <antipattern>
                    <token regexp="yes">only|the</token>
                    <token>one</token>
                    <token skip="3" regexp="yes">of|amongst</token>
                    <token>who</token>
                </antipattern>
                <antipattern>
                    <token><exception>one</exception></token>
                    <token skip="6">of</token>
                    <token>who</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>one</token>
                    <token skip="4">of</token>
                    <token>who</token>
                </antipattern>
                <antipattern><!-- #2011 Tom is one of those rare individuals who has -->
                    <token>one</token>
                    <token>of</token>
                    <token postag="DT"/>
                    <token postag_regexp="yes" postag="JJ.*"/>
                    <token postag="NNS"/>
                    <token>who</token>
                </antipattern>
                <antipattern><!-- someone in priestly orders who -->
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag="IN"/>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="NNS"/>
                    <token>who</token>
                </antipattern>
                <antipattern><!-- documentation that tells who -->
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag="WDT"/>
                    <token chunk="B-VP" postag="VBZ"/>
                    <token>who</token>
                </antipattern>
                <antipattern>
                    <token>who</token>
                    <token>'s</token>
                    <token>who</token>
                </antipattern>
                <pattern>
                    <token postag="NNS">
                        <exception postag="RB|NN|NNP" postag_regexp="yes"/>
                        <exception>knows</exception>
                    </token>
                    <token>who</token>
                    <marker>
                        <token postag="VBZ"><exception postag="VB[PD]?" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="VBZ" postag_regexp="yes" postag_replace="VBP"/></suggestion>? Alternatively, check whether the singular of '\1' should be used.</message>
                <url>https://writing.wisc.edu/handbook/grammarpunct/subjectverb/</url>
                <short>Possible agreement error</short>
                <example correction="like">There are others who <marker>likes</marker> sleeping until noon.</example>
                <example>There is a man downstairs who <marker>wants</marker> to speak to you.</example>
                <example>This movie is about a squirrel who gains human-like intelligence.</example>
                <example>You're the only one amongst your friends who speaks French.</example>
                <example correction="have">Mary is one of the students who <marker>has</marker> done honor to the college.</example>
                <example>Mary is the only one of our students who has achieved national recognition.</example>
                <example>People who win the lottery are lucky.</example>
                <example>Tom is one of the best people who walks this earth.</example>
                <example>I don't think that Tom knows who has to do that.</example>
                <example>...umentation) as well as Kathy Reeves who is currently my only direct report at the ...</example>
                <example>They gave to him the name 'agyieus' as the protector god of public places and houses who wards off evil, and his symbol was a tapered stone or column.</example>
                <example>... can only be held by someone in priestly orders who has been ordained for at least six years.</example>
                <example>I have found documentation that tells who has control of the Adjust function.</example>
                <example>as his spouse in his Who's Who entry.</example>
                <example type="triggers_error">I'm going to pass this issue by one of my colleagues who specializes in report design and troubleshooting</example>
            </rule>
        </rulegroup>
        <rule id="AS_WILL_AS" name="as will (well) as">
            <pattern>
                <token>as</token>
                <token>will</token>
                <token>as</token>
            </pattern>
            <message>Did you mean <suggestion>as well as</suggestion>?</message>
            <example correction="as well as">He, <marker>as will as</marker> her, were ready for it.</example>
        </rule>
        <rulegroup id="PERS_PRONOUN_AGREEMENT" name="Agreement: 'I is / you is / ... '">
            <rule>
                <antipattern>
                    <token postag="PRP|UNKNOWN|NN.*" postag_regexp="yes" />
                    <token postag="CC" />
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>I</token>
                    <token>rather</token>
                    <token>be</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>I</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token regexp="yes">is|be</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>am</suggestion> or <suggestion>will be</suggestion>?</message>
                <short>Possible agreement error</short>
                <example>I <marker>am</marker> at the restaurant.</example>
                <example>I <marker>ate</marker> at the restaurant.</example>
                <example correction="am|will be">I <marker>is</marker> at the restaurant.</example>
                <example correction="am|will be">However, I <marker>be</marker> at the restaurant.</example>
                <example>Can you and I be friends again?</example>
                <example>He as well as I is a member of the club.</example>
                <example>I rather be aware.</example>
                <example type="triggers_error">A.I is future technology.</example><!-- #2511 -->
            </rule>
            <rule>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>I</token>
                    <token min="0" postag="RB"/>
                    <marker>
                        <token>is</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>am not</suggestion>?</message>
                <short>Possible agreement error</short>
                <example>I <marker>am not</marker> at the restaurant.</example>
                <example correction="am not">I <marker>isn't</marker> at the restaurant.</example>
                <example correction="am not">Howver, I really <marker>isn't</marker> happy.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <token>I</token>
                    <token min="0" postag="RB"/>
                    <token>are</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>I</token>
                    <token min="0" postag="RB"/>
                    <marker>
                        <token>are</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>am</suggestion> or <suggestion>ate</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="am|ate">I <marker>are</marker> at the restaurant.</example>
                <example>Tom and I are quicker than you are.</example>
                <example>Right now my youngest and I are taking a Netflix break from studying.</example>
                <example>Neither you nor I are mistaken.</example>
                <example>Tom and I still aren't planning to do that.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>I</token>
                    <token min="0" postag="RB"/>
                    <marker>
                        <token>are</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>am not</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="am not">I <marker>aren't</marker> at the restaurant.</example>
                <example>Neither you nor I aren't mistaken.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">wish</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token skip="5">,</token>
                    <token>,</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">if|though</exception>
                    </token>
                    <token>I</token>
                    <token min="0" postag="RB"/>
                    <marker>
                        <token>were</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>was</suggestion>?</message>
                <short>Possible agreement error</short>
                <example>I <marker>was</marker> at the restaurant.</example>
                <example>I <marker>ate</marker> at the restaurant.</example>
                <example>I <marker>am</marker> at the restaurant.</example>
                <example>If I were a girl.</example>
                <example>If only I were happy.</example>
                <example>I wish I were a millionaire.</example>
                <example>I felt as though I were plunging into something new and quite abnormal.</example>
                <example>… but if, by any evil chance, I were not, then …</example>
                <example correction="was">I <marker>were</marker> at the restaurant.</example>
                <example>Neither you nor I were mistaken.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">wish</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token skip="5">,</token>
                    <token>,</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">if|though</exception>
                    </token>
                    <token>I</token>
                    <token min="0" postag="RB"/>
                    <marker>
                        <token>were</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>wasn't</suggestion>?</message>
                <short>Possible agreement error</short>
                <example>I <marker>wasn't</marker> at the restaurant.</example>
                <example>I wish I weren't so poor.</example>
                <example>… but if, by any evil chance, I weren't, then …</example>
                <example>I <marker>am not</marker> at the restaurant.</example>
                <example correction="wasn't">I <marker>weren't</marker> at the restaurant.</example>
                <example>Neither you nor I weren't mistaken.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token>am</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                    <token>you</token>
                    <token min="0" postag="RB">
                        <exception postag="VB.*" postag_regexp="yes" />
                        <exception>provided</exception><!-- provided is CC -->
                    </token>
                    <marker>
                        <token regexp="yes">am|is|was</token>
                    </marker>
                </pattern>
                <message>Use a second-person verb with 'you'.</message>
                <suggestion>are</suggestion>
                <suggestion>were</suggestion>
                <short>Possible agreement error</short>
                <example correction="are|were">You <marker>is</marker> too old for that.</example>
                <example correction="are|were">Me and you <marker>is</marker> too old for that.</example>
                <example>The important thing for you is not how much you know.</example>
                <example>I as well as you am to blame.</example>
                <example>Wherever you live is the best place.</example>
                <example>The API you provided me is fully working.</example>
                <example>You Am I are an Australian alternative rock band.</example>
                <example>The glass fronted building before you is the rose garden.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>you</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception postag="IN" />
                        <exception>provided</exception><!-- provided is CC -->
                    </token>
                    <token>you</token>
                    <token min="0" postag="RB">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">is|was</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Use a second-person verb with 'you'.</message>
                <suggestion>aren't</suggestion>
                <suggestion>weren't</suggestion>
                <short>Possible agreement error</short>
                <example correction="aren't|weren't">You <marker>isn't</marker> too old for that.</example>
                <example>Wherever you live isn't necessary the best place.</example>
                <example>The API I provided you isn't working.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|&amp;|or</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">wish</token>
                    <token regexp="yes">s?he</token>
                    <token>were</token>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token skip="5">,</token>
                    <token>,</token>
                    <token regexp="yes">s?he</token>
                    <token>were</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">if|though</token>
                    <token regexp="yes">s?he</token>
                    <token>were</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern>
                    <token>whether</token>
                    <token regexp="yes">s?he</token>
                    <token>be</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception>lest</exception>
                    </token>
                    <token regexp="yes">s?he</token>
                    <token min="0" postag="RB"/>
                    <marker>
                        <token regexp="yes">were|be|a(?:m|re)</token>
                    </marker>
                </pattern>
                <message>Use third-person verb with '<match no="2"/>'.</message>
                <suggestion><match no="4" postag="VBZ"/></suggestion>
                <suggestion>was</suggestion>
                <short>Possible agreement error</short>
                <example correction="is|was">He <marker>were</marker> too old for that.</example>
                <example correction="is|was">She <marker>were</marker> too old for that.</example>
                <example>Not sure of the status if she were to return at this point.</example>
                <example>… but if, by any evil chance, he were not, then …</example>
                <example>It is unclear if Tom and she were married.</example>
                <example>His sisters as well as he are now living in Tokio.</example>
                <example>He fled the country lest he be captured and imprisoned.</example>
                <example>… whether he be a stranger or not.</example>
                <example>If I were eighty and she were still alive.</example><!-- TODO-->
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">and|&amp;|or</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">wish</token>
                    <token regexp="yes">s?he</token>
                    <token>were</token>
                    <token>n't</token>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token skip="5">,</token>
                    <token>,</token>
                    <token regexp="yes">s?he</token>
                    <token>were</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">if|though</token>
                    <token regexp="yes">s?he</token>
                    <token>were</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">s?he</token>
                    <token min="0" max="1" postag="RB"/>
                    <marker>
                        <token regexp="yes">were|are</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Use third-person verb with '<match no="2"/>'.</message>
                <suggestion>isn't</suggestion>
                <suggestion>wasn't</suggestion>
                <short>Possible agreement error</short>
                <example correction="isn't|wasn't">He <marker>weren't</marker> too old for that.</example>
                <example correction="isn't|wasn't">She <marker>weren't</marker> too old for that.</example>
                <example>… but if, by any evil chance, he weren´t, then …</example>
                <example>It is unclear if Tom and she weren't married.</example>
                <example>His sisters as well as he aren't living in Tokio anymore.</example>
                <example>If she weren't so young.</example>
            </rule>
            <rule>
                <pattern>
                    <token>We</token>
                    <token min="0" postag="RB">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">am|is|was</token><!-- TODO add 'be' -->
                    </marker>
                </pattern>
                <message>Use a first-person plural verb with 'we'.</message>
                <suggestion>are</suggestion>
                <suggestion>were</suggestion>
                <short>Possible agreement error</short>
                <example correction="are|were">We <marker>is</marker> too old for that.</example>
                <example correction="are|were">I feel we <marker>is</marker> healthy.</example><!-- https://github.com/languagetool-org/languagetool/issues/1154 -->
                <example correction="are|were">He thinks that we usually <marker>is</marker> lazy.</example>
                <example>The world in which we live is constantly changing and so are we.</example>
            </rule>
            <rule>
                <pattern>
                    <token>We</token>
                    <token min="0" postag="RB">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">is|was</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Use a first-person plural verb with 'we'.</message>
                <suggestion>aren't</suggestion>
                <suggestion>weren't</suggestion>
                <short>Possible agreement error</short>
                <example correction="aren't|weren't">We <marker>isn't</marker> too old for that.</example>
                <example correction="aren't|weren't">I feel we <marker>isn't</marker> healthy.</example>
                <example correction="aren't|weren't">He thinks that we usually <marker>isn't</marker> lazy.</example>
                <example>The world in which we live isn't constantly changing.</example>
            </rule>
            <rule>
                <pattern>
                    <token>They</token>
                    <token min="0" postag="RB">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">am|is|was</token><!-- TODO add 'be' -->
                    </marker>
                </pattern>
                <message>Use a third-person plural verb with 'they'.</message>
                <suggestion>are</suggestion>
                <suggestion>were</suggestion>
                <short>Possible agreement error</short>
                <example correction="are|were">They <marker>is</marker> too old for that.</example>
                <example correction="are|were">I feel they <marker>is</marker> ready to use.</example>
                <example correction="are|were">He thinks that they usually <marker>is</marker> lazy.</example>
                <example>The world in which they live is constantly changing.</example>
            </rule>
            <rule>
                <pattern>
                    <token>They</token>
                    <token min="0" postag="RB">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">is|was</token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>Use third-person plural verb with 'they'.</message>
                <suggestion>aren't</suggestion>
                <suggestion>weren't</suggestion>
                <short>Possible agreement error</short>
                <example correction="aren't|weren't">They <marker>isn't</marker> too old for that.</example>
                <example correction="aren't|weren't">I feel they <marker>isn't</marker> ready to use.</example>
                <example correction="aren't|weren't">He thinks that they usually <marker>isn't</marker> lazy.</example>
                <example>The world in which they live isn't constantly changing.</example>
            </rule>
        </rulegroup>
        <!-- XXX: is this really an error? see http://www.ef.com/english-resources/english-grammar/adverbs/
             TODO: test again, fix, set as style.
        <rule id="ADVERBS_ORDER" name="word order: adverb + auxiliary verb + main verb">
          <pattern mark_from="2"><token regexp="yes">certainly|definitely|probably|undoubtedly|surely</token><token regexp="yes">has|had|have|will</token><token postag="VBN|VB"/>/pattern>
          <message>Place the adverb between </message>
          <example>He will <em>probably</em> remember tomorrow.</example>
          <example correction="">He <em>probably</em> will remember tomorrow.</example>
        </rule>
        -->
        <!-- XXX: too many false alarms, e.g. I am convinced that our suggestions...
             TODO: test again and fix.
        <rule id="I_A_NONBASE" name="'I am' + non-gerund form">
          <pattern mark_from="2"><token regexp="yes">I</token><token regexp="yes">am</token><token postag="VB[DNPZ]?" postag_regexp='yes'/></pattern>
          <message>You might need to use the gerund form of the verb here (e.g. 'learning' instead of 'learn').</message>
          <example>I am <em>searching</em> through some fields.</example>
          <example correction="">I am <em>searched</em> through some fields.</example>
        </rule>
        -->
        <rule id="TAKE_IT_PERSONAL" name="Take it personal (personally)">
            <pattern>
                <token inflected="yes">take</token>
                <token>it</token>
                <marker>
                    <token>personal</token>
                </marker>
            </pattern>
            <message>It seems that the adverb <suggestion>personally</suggestion> should be used here (as in the expression "Don't take it personally!").</message>
            <example correction="personally">Don't take it <marker>personal</marker>.</example>
        </rule>
        <rule id="I_PERSONAL" name="I personal (personally)">
            <antipattern>
                <token>personal</token>
                <token>computer</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">I</token>
                <token>personal</token>
            </pattern>
            <message>Did you mean the adverb 'personally'?</message>
            <suggestion>I personally</suggestion>
            <example correction="I personally"><marker>I personal</marker> don't belive it is true.</example>
            <example>Apple was founded by Steve Jobs, Steve Wozniak, and Ronald Wayne in April 1976 to develop and sell Wozniak's Apple I personal computer.</example>
        </rule>
        <rule id="PRONOUN_NOUN" name="Pronoun + noun">
        <!-- Created by Tiago F. Santos, 2018-11-11 -->
          <antipattern>
            <token>I</token>
            <token>Corps</token>
          </antipattern>
          <antipattern><!-- We video chat -->
            <token>video</token>
            <token>chat</token>
          </antipattern>
          <antipattern><!-- We social distanced -->
            <token>social</token>
            <token inflected="yes">distance</token>
          </antipattern>
        <antipattern><!-- We Americans / We Germans -->
            <token regexp="yes">we|you</token>
            <token postag="NNPS?" postag_regexp="yes" />
            <token postag="VB.*" postag_regexp="yes" />
          </antipattern>
          <antipattern>
            <token regexp='yes'>we|you</token>
              <token postag="CD|NN(S|:U)" postag_regexp='yes'/>
          </antipattern>
          <antipattern><!-- MFU 2019-04-26 https://dictionary.cambridge.org/grammar/british-grammar/speaking/so-->
            <token>I</token>
            <token>so</token>
          </antipattern>
          <antipattern><!-- MFU 2019-08-25 www.merriam-webster.com/dictionary/it%20so -->
            <token>it</token>
            <token>so</token>
            <token regexp="yes">happen(s|ed)</token>
          </antipattern>
          <antipattern><!-- MFU 2019-09-02: in it -->
            <token postag="IN"/>
            <token regexp="yes">it|you</token>
          </antipattern>
          <antipattern case_sensitive="yes"><!-- MFU 2019-09-02: Shall I Say... Disambiguation UPPER_NNP gives postag NNP to 'Say'. In the context of a title, 'Say' is NNP as part of the title. Thus, I did not change the disambiguation. -->
            <token postag="MD" regexp="yes">\p{Lu}\p{Ll}+</token>
            <token/>
            <token>Say</token>
          </antipattern>
          <antipattern>
            <token regexp="yes">It?|you|s?he|we|they</token>
            <token chunk="B-VP" />
          </antipattern>
          <antipattern>
            <token postag="VB.*" postag_regexp="yes" />
            <token regexp="yes">you|it</token>
          </antipattern>
          <antipattern>
            <token inflected="yes">be</token>
            <token>n't</token>
            <token regexp="yes">It?|you|s?he|we|they</token>
          </antipattern>
          <antipattern>
            <token inflected="yes">be</token>
            <token regexp="yes">It?|you|s?he|we|they</token>
          </antipattern>
          <antipattern><!-- t(he) -->
            <token>(</token>
            <token spacebefore="no">t</token>
            <token spacebefore="no">)</token>
            <token spacebefore="no">he</token>
            <token postag_regexp="yes" postag="N.+"/>
          </antipattern>
          <antipattern><!-- t[he] -->
            <token>[</token>
            <token spacebefore="no">t</token>
            <token spacebefore="no">]</token>
            <token spacebefore="no">he</token>
            <token postag_regexp="yes" postag="N.+"/>
          </antipattern>
          <antipattern>
            <token regexp="yes">&nouns_with_i;</token>
            <token>I</token>
          </antipattern>
          <antipattern>
            <token>if</token>
            <token regexp="yes" inflected="yes">needed|required|desired</token>
          </antipattern>
          <antipattern>
            <token>F</token>
            <token>.</token>
            <token>B</token>
            <token>.</token>
            <token>I</token>
          </antipattern>
          <antipattern>
            <token>you</token>
            <token>sir</token>
          </antipattern>
          <antipattern>
            <token>all</token>
            <token min="0">of</token>
            <token>you</token>
          </antipattern>
          <antipattern><!-- HE WHO BELIEVES -->
            <token regexp="yes">s?he</token>
            <token>who</token>
            <token postag="VB.*" postag_regexp="yes" />
          </antipattern>
          <antipattern><!-- https://en.wikipedia.org/wiki/Yellow_River -->
            <token regexp="yes">huang|liu|zheng</token>
            <token>he</token>
          </antipattern>
          <antipattern>
            <token>we</token>
            <token>elderly</token>
            <token>people</token>
          </antipattern>
          <antipattern>
            <token postag="N.+" postag_regexp='yes' />
            <token>'d</token>
          </antipattern>
          <antipattern>
              <token regexp="yes">apple|form|schedule</token>
              <token>i</token>
          </antipattern>
          <antipattern>
              <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
              <token min="0">.</token>
              <token case_sensitive="yes">I</token>
              <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
          </antipattern>
          &multi_word_verbs;
          <pattern>
            <marker>
              <token regexp='yes'>It?|you|s?he|we|they
                <exception case_sensitive='yes'>IT</exception>
                <exception case_sensitive='yes'>i</exception></token>
              <token postag="N.+" postag_regexp='yes'>
                <exception postag='V.+|RBR?|IN|UH' postag_regexp='yes'/>
                <exception>wont</exception><!-- already caught by WONT_CONTRACTION -->
                <exception>can</exception><!-- 'can' is only tagged as 'NN' in 'The best I can is ...'-->
                <exception regexp="yes">auto|self|inter|re|un</exception><!-- compound error (has different rules) -->
                <exception regexp="yes">&not_really_verbs;|&adverb_abbreviations;</exception>
                <exception regexp="yes">aint?</exception><!-- You ain my friend -->
              </token>
            </marker>
            <token postag="V.+" postag_regexp='yes'/>
          </pattern>
          <message>Possible error detected: Please verify that having a noun follow a pronoun is correct in this context.</message>
          <example correction=""><marker>I downtown</marker> went yesterday.</example><!-- XXX home is also a verb. fixing it may mess with disambiguation -->
          <example correction=""><marker>It alpha</marker> decays to the extremely long-lived (in practice, ...</example><!-- 'Alpha decay' is a noun, not a verb: www.merriam-webster.com/dictionary/alpha%20decay -->
          <example>Mr. Ness was formerly chief executive officer of R.V.I Insurance Group, a company owned by Quantum Industrial Fund.</example>
          <example>Please give me a call if you wish to discuss this matter further, and I am instructed to request that you return the revised copy of the Raptor I Proposal Sheet to me and copy Mary Cook and Lisa Mellancamp thereon.</example>
          <example>I went downtown yesterday.</example>
          <example>I'm going to send it to you if needed.</example>
          <example>Sarah was discerning enough to realize that her friends were trying to prank her.</example>
          <example>More than half of US children diagnosed with ASD are prescribed psychoactive dr...</example>
          <example>She's got a fair complexion while her brother is very dark.</example>
          <example>Her garden is a work of art.</example>
          <example>Most assuredly, I say to you, he who believes in Me has everlasting life.</example>
          <example>This is for all you Star Wars lovers.</example>
          <example>Part of what motivates me to cope with ME/CFS the best I can is to make things easier for the people I love.</example>
          <example>We men are used to waiting for the women.</example>
          <example>Isn't it something like that?</example>
          <example>UAB Hospital is the only Level I trauma center in Alabama.</example>
          <example>Her eyes were shining with joy.</example>
          <example>They competed for it by giving speeches on why they were the bravest afte...</example>
          <example>Are you in jest or in earnest?</example>
          <example>...antic interest was Ann Rutledge, whom he met when he first moved to New Salem; by 1835, they were in a relat...</example><!-- TODO first is also adverb. add to added.txt -->
          <example>He first articulated this in 1837, saying, "[The] Institut...</example><!-- TODO first is also adverb. add to added.txt -->
          <example>...y 12, was never a national holiday, but it was at one time observed by as many as 30 states.</example>
          <example>One kinship cue is facial resemblance.</example>
          <example>You two are the nucleus of the team.</example>
          <example>I sent to you other bank documents.</example>
          <example>World War I veterans.</example>
          <example>Napoleon promptly responded by ordering a counter-attack by the cuirassier brigades of Farine and Travers and Jaquinot's two Chevau-léger (lancer) regiments in the I Corps light cavalry division.</example>
          <example>You students are supposed to be diligent.</example>
          <example>Did any of you gentlemen wait on this man?</example>
          <example>...about the Polish actress Pola Negri, which became her first published work.</example>
          <example>...ld be Rand, possibly as a Cyrillic contraction of her birth surname, and she adopted the first name Ayn, eith...</example>
          <example>...d struggled in Hollywood and took odd jobs to pay her basic living expenses.</example>
          <example>Both she and her husband worked full-time in volunteer positions for the 1...</example>
          <example>...when the book was done, she was so exhausted that her doctor ordered two weeks' rest.</example>
          <example>Her testimony described the disparity between her personal expe...</example>
          <example>Her testimony described the disparity between her personal experiences in the Soviet Union and the portrayal...</example>
          <example>...d music to sexuality and facial hair, and some of her followers mimicked her preferences, wearing clothes to matc...</example>
          <example>...d and promoted her Objectivist philosophy through her nonfiction works and by giving talks to students at institut...</example>
          <example>... We the Living (which Rand later revised), and in her overall writing style.</example>
          <example>During Rand's lifetime, her work evoked both extreme praise and condemnation.</example>
          <example>...Rand's nonfiction received far fewer reviews than her novels had.</example>
          <example>Rand and her works have been referred to in a variety of media: on t...</example>
          <example>During Rand's lifetime her work received little attention from academic scholars....</example>
          <example>...consideration of Rand as a literary figure during her life was even more limited.</example>
          <example>Since Rand's death, interest in her work has gradually increased.</example>
          <example>In 1794, US Congress voted for funds appropriation for warship constru...</example>
          <example>In March of this year the US government authorized war against the Barbary States, giving...</example>
          <example>It helps us in times of difficulty.</example>
          <example>He OD'd on cocaine.</example>
          <example>I rec'd notice and will be attending meeting as will David Portz with Enron.</example>
          <example>...ight (Berber) as a national language and teaching it in schools.</example>
          <example>Although her house is nearby, I seldom see her.</example>
          <example>Galt marks the pinnacle of everything Dagny seeks in the world and is the kind of man alluded...</example>
          <example>Her eyes become round in surprise.</example>
          <example>As her motives become more clear, Lillian is found to share the ...</example>
          <example>Her actions are explained as the desire to destroy achievemen...</example>
          <example>Her heart was throbbing with excitement.</example>
          <example>With her heart pounding, she opened the door.</example>
          <example>Her husband quit shortly after Galt did and joined the strike...</example>
          <example>Her lead allows Dagny to find Hugh Akston.</example>
          <!--example>...east bad of the government representatives, since he does have some real knowledge on the running of trains...</example--><!-- TODO disambiguate does properly -->
          <example>...he customs of peoples considered "different" from themselves in terms of geography.</example>
          <example>There is only one day left, whether we like it or not.</example>
          <example>...uantitative substance of all bodies first reveals itself in differentiated form."</example>
          <example>The chairman would only make her comments off the record.</example>
          <example>Her face was animated by joy.</example>
          <example>Her tears formed the river Achelous.</example>
          <example>Apollo complained to Maia that her son had stolen his cattle, but Hermes had already rep...</example>
          <example>The Greek sculptors tried to clarify it by looking for mathematical proportions, just as the...</example>
          <example>...d Federer, who was seeking his second consecutive US Open title and his sixth Grand Slam title in two years...</example>
          <example>The school stands about one mile off.</example>
          <example>Generally speaking, we Japanese are a little too timid in speaking foreign langua...</example>
          <example>... absent for long periods, and is forgiven because her excuses are so convincing and she "purred so affectionate...</example>
          <example>Her absence went unnoticed until the end of the meeting.</example>
          <example>We Japanese live on rice.</example>
          <example>We Japanese come of age at twenty.</example>
          <example>We students are now at our best.</example>
          <example>...general change from small patchworks of fields to one large open field divided into strips owned by various m...</example>
          <example>As of 2000 the top six US supermarket groups had 50% of sales compared to 32% in 1992.</example>
          <example>We Germans fear God, but nothing else in the world.</example>
          <example>When prices decline, the heavily subsidized US farmer is not forced to reduce his output, making it dif...</example>
          <example>...and it's on about two-thirds of an acre, and when we first bought it I spent several hours every week gettin...</example><!-- TODO first is also adverb. add to added.txt -->
          <example>Her eyes have sunk through overwork.</example>
          <example>Her cheeks were tinged with red by the warmth of fire.</example>
          <example>She scraped her shoes clean before she entered the house.</example>
          <example>...spring-tydes or great rigs of the sea, they fetch it in sacks on horse backes, and carie the same three, ...</example>
          <example>One technique used in factorial designs is to minimize replicat...</example>
          <example>... typically compare two sets of groups means where one set has two or more groups (e.g., compare average gro...</example>
          <example>Why did her father go to Japan?</example>
          <example>Please give me something hot to drink.</example>
          <example>Lend me something interesting to read.</example>
          <example>In 2009, on her album Running for the Drum, Buffy Sainte-Marie released...</example>
          <example>Her version contained some new lyrics, as well as a small mod...</example>
          <example>...e Saturn V launch vehicle using an unmanned Block I production model of the Apollo Command and Service Module in...</example>
          <example>He amazed everyone by passing his driving test.</example>
          <example>...e parachutes dragged the spacecraft over and left it upside down, in what was termed Stable 2 position.</example>
          <example>...sh citizens their natural rights and dehumanizing them by viewing them as a mere commodity.</example>
          <example>Two letters representing one sound is widely used in Hungarian as well (where, for i...</example>
          <example>Off hand, I'd say her problem is shyness.</example>
          <example>Miss Ito made her students work hard.</example>
          <example>Let us students contribute to the welfare of the victims of the e...</example>
          <example>...hauer's court testimony, she deliberately annoyed him by raising her voice while standing right outside hi...</example>
          <example>Her companion testified that she saw Marquet prostrate outside ...</example>
          <example>When she died, he wrote on a copy of her death certificate, Obit anus, abit onus ("The old woman...</example>
          <example>...e so by giving them the opportunity of slandering me by saying that I defend and commend pederasty."</example>
          <example>Her name wasn't on the list.</example>
          <example>...to a recent Human Rights Watch report, 32 billion US dollars disappeared from government accounts from 2007 to...</example>
          <example>Finally, Susan cuts her mother short, promises to write, and hangs up.</example>
          <example>...e great trade routes and the agreements that made them possible were the driving force for activities between the...</example>
          <example>If her temperature goes up, send for the doctor.</example>
          <example>...n't made waves about it, she never would have got her money back.</example>
          <example>Her systems were made to be similar to a human's.</example>
          <example>Her fate is unknown, but the contents of a letter Einstein...</example>
          <example>During one reception given to him, the building was "stormed by throng...</example>
          <example>...ave to go to Kyoto once more, I will have visited it four times this year.</example>
          <example>Mary took her beauty sleep before the big party.</example>
          <example>Mary stood with her hand shading her eyes.</example>
          <example>Mary put her piano up for sale.</example>
          <example>Mary and her sister took turns at looking after their sick mother.</example>
          <example>When Mary was a child, her family was dirt poor.</example>
          <example>The US government identified Osama bin Laden, Khalid Sheikh Mohamme...</example>
          <example>Max explained to Julie why he could not go to her farewell party.</example>
          <example>... which can vary between and 530 km2, out of which one third belongs to Albania and rest to Montenegro.</example>
          <example>...nicity other than what was written down on his or her birth certificate.</example>
          <example>...Approximately 681,000 people with over 100,000 of them women went to the front, while the total population of ...</example>
          <example>...ons with the European Union and could potentially one day apply for membership.</example>
          <example>Paul wasn't with Mary when her purse was stolen.</example>
          <example>She got into hot water when her boyfriend called her at work.</example>
          <example>Helen always keeps her room clean.</example>
          <example>...esting requirements vary, so a particular rank in one organization is not comparable or interchangeable with the ran...</example>
          <example>The very thought of snakes makes her turn pale.</example>
          <example>Betty sat in the chair with her legs crossed.</example>
          <example>Beth protested, but her mother reminded her that she was incredibly fat.</example>
          <example>Mrs. Baker had her purse stolen.</example>
          <example>...female nude, hooded detainee strapped to a chair, her legs open to reveal her sexual organs, surrounded by t...</example>
          <example>French is her mother tongue.</example>
          <example>While swimming in the pool, she lost her locker key.</example>
          <example>What happens when one number is zero, both numbers are zero?</example>
          <example>On getting off the bus, she heard her name called.</example>
          <example>...summation of her marriage to Philip, dreamed that her womb was struck by a thunder bolt, causing a flame tha...</example>
          <example>...ageira, which Philip had razed, and to repopulate it by buying and freeing the ex-citizens who were slave...</example>
          <example>...gyius, and had the Corinthians bring Thessalus to him in chains.</example>
          <example>...eities and believed that Alexander meant to deify himself by requiring it.</example>
          <example>The one exception was a call to arms by Spartan king Agis III in 33...</example>
          <example>...primary reason behind this is Bangladeshi <marker>IT companies</marker> are providing high quality services at a...</example>
          <example>The essential feature of <marker>bipolar I disorder</marker> is a clinical course characterized by the ...</example>
          <example><marker>I so</marker> loved this spot, that when I sold the house, I kept the island.</example>
          <example>It so happened that they were not there.</example>
          <example>This group worked against the Nazis, and in it Camus assumed the nom de guerre Beauchard.</example>
          <example>The position carried with it extraordinary powers over the Berlin city government and made S...</example>
          <example>Who Shall I Say is Calling &amp; Other Stories S. Deziemianowicz, ed....</example>
          <example>At the Tier I Family Circle Cup, Kournikova reached her second WTA Tou...</example>
          <example>He was calling you several times today.</example><!-- #1869 -->
          <example>I wanted to offer you white airbrushes</example>
          <example>I will tell him to send you coupon codes.</example>
          <example>I transferred you Admin rights.</example>
          <example>You could do it if needed.</example>
          <example>Is it anything like mine.</example>
          <example>Is it something like meat?</example>
          <example>I could hire you if needed.</example>
          <example>Hugo Chávez stated that "[t]he world is for all of us...</example>
          <example>Is it worth adding the extra money?</example>
          <example>And name it something like ...</example>
          <example>I can offer you Lifetime Warranty.</example>
          <example>As I Lay Dying.</example><!-- #2770 -->
          <example>Are we army officers?</example>
          <example>You Russians are really wonderful people.</example>
          <example>I rec'd notice and will be attending meeting</example> <!--#4495-->
          <example>As of 2013, at least 61 Apple I computers are documented to exist (plus an indefinite number of possible unreported cases).</example>
          <example>Schedule I substances are those that have the following findings:</example>
        </rule>

        <rulegroup id="TO_NON_BASE" name="'to' + non-base form">
            <antipattern>
                <token>to</token>
                <token case_sensitive="yes">Drew</token><!-- name -->
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/come_to_terms_with ("terms" is rarely used as a verb) -->
                <token inflected="yes">come</token>
                <token>to</token>
                <token>terms</token>
            </antipattern>
            <antipattern>
                <token>status</token>
                <token min="0">has</token>
                <token>changed</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>status</token>
                <token min="0">is</token>
                <token regexp="yes">set|changed|changing</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">TO</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">to</token>
                <token case_sensitive="yes">United</token><!-- football club -->
            </antipattern>
            <antipattern><!-- confusion of "waste", caught by spell checker -->
                <token>to</token>
                <token>wast</token>
            </antipattern>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>to</token>
                    <token postag="NNP?S" postag_regexp="yes" regexp="yes">[A-Z].*</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">speak|talk|go|happen|listen|attach|refer|lead|propose</token>
                    <token>to</token>
                    <token/>
                </antipattern>
                <antipattern><!-- from books to zips -->
                    <token>from</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- to beavers and squirrels / #2536 to Times New Roman-->
                    <token>to</token>
                    <token chunk="B-NP-plural" postag="NNS"/>
                    <token chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                </antipattern>
                <antipattern><!-- added to purchases -->
                    <token postag_regexp="yes" postag="VB[DGNPZ]?"/>
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- message to does  -->
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token>to</token>
                    <token>does</token>
                </antipattern>
                <antipattern><!-- #2536 Apply To Labels -->
                    <token postag_regexp="yes" postag="VB[DGNPZ]?"/>
                    <token>to</token>
                    <and>
                        <token postag="NNS"/><!-- 'labels' has no chunk information -->
                        <token postag="SENT_END"/>
                    </and>
                </antipattern>
                <antipattern><!-- #2800 offered to grades 9-10. -->
                    <token postag="VBN"/>
                    <token>to</token>
                    <token chunk="B-NP-plural" postag="NNS"/>
                    <token regexp="yes">[0-9]+-[0-9]+</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern><!-- #2800 Who we relate to makes -->
                    <token postag="WP"/>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token postag_regexp="yes" postag="VB[DPZ]"/>
                    <token>to</token>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                </antipattern>
                <antipattern><!-- #2800 Who Bill relates to makes -->
                    <token postag="WP"/>
                    <token postag="NNP"/>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                    <token>to</token>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                </antipattern>
                <antipattern><!-- #3191 It was moved to Drafts folder -->
                    <token inflected="yes">be</token>
                    <token postag="VBN"/>
                    <token>to</token>
                    <token chunk="B-NP-plural" regexp="yes">\p{Lu}\p{L}+</token><!-- Upper case is a proper noun. Compare with the 'curries' example -->
                    <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/><!-- Chunker identifies 'Drafts folder' as a singular phrase -->
                </antipattern>
                <antipattern><!-- to sports news -->
                    <token>to</token>
                    <token>sports</token>
                    <token postag="NNS|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>due</token>
                    <token>to</token>
                    <token postag="NNS" chunk_re=".-NP.*" />
                </antipattern>
                <pattern>
                    <token postag_regexp="yes" postag="VB[DGNPZ]?"/>
                    <token min="0">not</token>
                    <token>to</token>
                    <marker>
                        <token postag="VBZ">
                            <exception>is</exception>
                            <exception postag="NNPS?" postag_regexp="yes"/>
                            <exception case_sensitive="yes">Kens</exception><!-- uncommon verb, probably missing apostrophe -->
                            <exception regexp="yes">pieces|chapters|companies|soldiers|guys|pages</exception><!-- uncommon verbs -->
                            <exception regexp="yes" inflected="yes" postag="VBZ">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="4" postag="VB"/></suggestion>
                <short>Use the base form</short>
                <example correction="learn">I was surprised to <marker>learns</marker> this.</example>
                <example correction="laugh">He tried not to <marker>laughs</marker>.</example><!-- laughs/E-NP-plural, thus do not use chunk in the pattern -->
                <example correction="say">What would it have to <marker>says</marker>?</example>
                <example correction="award">Film companies will spend as much as several million dollars on marketing to <marker>awards</marker> voters for a movie in the running for Best Picture, in attempts to improve chances of receiving Oscars and other movie awards conferred in Oscar season.</example><!-- The sentence from https://en.wikipedia.org/wiki/Academy_Awards does not make sense to me -->
                <example correction="season">The chefs were told to <marker>seasons</marker> curries carefully.</example><!-- seasons/B-NP-plural -->
                <example>I was surprised to <marker>learn</marker> this.</example>
                <example>Morocco's disputed claim to portions of western Algeria</example>
                <example>He spoke to chosen people.</example>
                <example>You are to report at 5am.</example>
                <example>It is important to make this explicit.</example>
                <example>I've been trying to call you.</example>
                <example>She wants you to go.</example>
                <example>He has been wanting very much to meet you.</example>
                <example>We are very close to Fuels Cotton Valley delivery point and the Valero delivery point.</example>
                <example>What happens to babies who are born at sea?</example>
                <example>The guy who we spoke to seems fair.</example>
                <example>Whichever college he wants to go to is fine with me.</example>
                <example>You must confirm not to Bill but to Joe.</example>
                <example>We have all types of products from books to zips.</example>
                <example>... for cities and counties are also added to purchases.</example>
                <example>More than 7,500 were jailed or deported to places like New Caledonia. </example>
                <example>... status in the colonial system, gave rise to demands for greater political autonomy, and eventual...</example>
                <example>Such scripts are to tone what abjads are to vowels. </example>
                <example>...review the talk page before making changes to lines to see if there is a previous established...</example>
                <example>Rabbits are related to beavers and squirrels.</example>
                <example>The user you to want to send this message to does not exist.</example>
                <example>The user that you to want to send this message to does (I think) not really exist.</example>
                <example>The users that the technician wants to send these messages to does not exist.</example>
                <example>Marketing to Kids Gets More Savvy with New Technologies.</example><!-- #2536 -->
                <example>If you don't like the font you can change it back to Times New Roman.</example><!-- #2536 -->
                <example>Apply To Labels</example><!-- #2536 -->
                <example>It was offered to grades 9-10.</example><!-- #2800 -->
                <example>Who we relate to makes a difference in how we develop and mature.</example><!-- #2800 -->
                <example>Who Bill relates to makes no difference to me.</example><!-- #2800 -->
                <example>It was moved to Drafts folder.</example><!-- #3191 -->
                <example>It was submitted to Seasons Hospice.</example><!-- #3191 -->
                <example>It was submitted to Season Hospice.</example><!-- #3191 -->
                <example>The success of CBSN led CBS to launch CBS Sports HQ, a similar service devoted to sports news.</example>
                <example>Riders 2, 3 and 4 and your changes to pages 2 and 9 of the ISDA Schedule are okay.</example>
            </rule>
            <rule><!-- MFU 2020-02-05 he tried to laughs. Based on the pattern that was in disambiguation.xml -->
                <antipattern><!-- agree to terms and conditions -->
                    <token>to</token>
                    <token chunk="B-NP-plural" postag="NNS"/>
                    <token chunk="I-NP-plural" regexp="yes">and|or</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- offered to schools in / #2536 to reports when / #2536 to rules we / #2800 -->
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token postag_regexp="yes" postag="IN|CC|PRP|WP"/>
                </antipattern>
                <antipattern><!-- #2800 what happens to books -->
                    <token postag_regexp="yes" postag="WDT|WP"/>
                    <token postag_regexp="yes" postag="VB[ZD]"/>
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2800 agrees to services, terms and conditions [no closing punctuation] -->
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>,</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2800 agrees to services, terms and conditions. [closing punctuation] -->
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>,</token>
                    <token chunk="B-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2800 was mean to kids -->
                    <token inflected="yes">be</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2800 offered to grades 9-10. -->
                    <token postag="VBN"/>
                    <token>to</token>
                    <token chunk="B-NP-plural" postag="NNS"/>
                    <token regexp="yes">[0-9]+-[0-9]+</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" postag="VB.*" postag_regexp="yes">agree|aim|appear|arrange|ask|attempt|beg|afford|wait|choose|claim|decide|demand|desire|expect|fail|guarantee|happen|help|hope|manage|offer|plan|prepare|pretend|promise|prove|refuse|seem|tend|threaten|undertake|want|wish|begin|bother|continue|intend|propose|start|forget|like|mean|need|regret|remember|stop|try</token>
                    <token>to</token>
                    <marker>
                        <token postag="VBZ">
                            <exception postag_regexp="yes" postag="NNPS?"/>
                            </token>
                    </marker>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="3" postag="VB"/></suggestion>
                <short>Use the base form</short>
                <example correction="laugh">He tried to <marker>laughs</marker>.</example><!-- laughs/E-NP-plural -->
                <example correction="piece">You’ll need to <marker>pieces</marker>.</example><!-- pieces/E-NP-plural. 'Piece' usually is transitive. -->
                <example correction="continue">Those who want to <marker>continues</marker> developing under emacs or sublime...</example>
                <example correction="provide">But, to start with, you need to <marker>provides</marker> us with more information.</example>
                <example correction="highlight">Also, I’d like to <marker>highlights</marker> 2 things:</example>
                <example correction="grade">I want to <marker>grades</marker> 9-10 of these sentences.</example><!-- #2800 -->
                <example>He tried to <marker>laugh</marker>.</example>
                <example>... so users don’t need to agree to terms and conditions.</example>
                <example>... device in a laptop form factor offered to schools in 1997 as an inexpensive ($799 US, original...</example>
                <example>... and what happened to Bills at the convention.</example>
                <example>... is like what happened to Divines: several troops were ...</example>
                <example>Can you confirm this only happens to reports when referenced in a book?</example><!-- #2536 -->
                <example>Until we agree to rules we cannot give up the tools...</example><!-- #2536 -->
                <example>They sent claims to doctors that even made us stunned.</example><!-- #2800 -->
                <example>They wanted to know what happens to dreams that are not remembered anymore.</example><!-- #2800 -->
                <example>This is similar to what happens to books: they become mouldy.</example><!-- #2800 -->
                <example>He agrees to services, terms and conditions</example><!-- #2800 no closing punctuation.-->
                <example>He agrees to services, terms and conditions.</example><!-- #2800 -->
                <example>He was mean to kids.</example><!-- #2800 -->
                <example>It was offered to grades 9-10.</example><!-- #2800 -->
            </rule>
            <rule>
                <antipattern>   <!-- transfer the allocations from order lines to packing slip lines / Premium #3049 -->
                    <token>from</token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" max="2" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token>to</token>
                    <token postag="VB[ZNGD]" postag_regexp="yes">
                        <exception postag="VB" />
                    </token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token postag="VBN"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- taught to beginning students / #2536 to networking events -->
                    <token>to</token>
                    <token chunk="B-NP-plural" postag_regexp="yes" postag="JJ|VBG"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2536 www.lexico.com/definition/prior_to -->
                    <token regexp="yes">prior|due</token>
                    <token>to</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- #3191 event I was invited to was -->
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token regexp="yes">was|were</token>
                    <token postag="VBN"/>
                    <token>to</token>
                    <token postag="VBD"/>
                </antipattern>
                <antipattern><!-- #3191 event they invited him to was -->
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token postag="VBN"/>
                    <token regexp="yes">&object_pronouns;</token>
                    <token>to</token>
                    <token postag="VBD"/>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" skip="2">advise|ask|encourage|invite|order|persuade|remind|warn|expect|intend|want|allow|enable|force|teach|convince|manipulate|try<exception scope="next">,</exception></token>
                    <token>to</token>
                    <marker>
                        <token postag="VB[ZNGD]" postag_regexp="yes"><exception postag="VB"/><exception postag="NNS|NNP|NNPS" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="3" postag="VB"/></suggestion>
                <example correction="give">He convinced her to <marker>gave</marker> him a call.</example>
                <example correction="get">She is manipulating her father to <marker>got</marker> her way.</example>
                <example correction="lift">He tried very hard to <marker>lifted</marker> the rock.</example>
                <example correction="give">The employees were invited to <marker>gave</marker> both their manager and the committee more information.</example><!-- #3191 -->
                <example correction="attend">The event I am invited to <marker>attended</marker> is in Sheffield.</example><!-- #3191 -->
                <example>She teaches English to advanced students.</example>
                <example>...incorrect Bohr model is still often taught to beginning students.</example>
                <example>She sometimes teaches to interesting students, but usually they are quite boring.</example>
                <example>He sent an invite to networking events</example><!-- #2536 -->
                <example>13 Questions You Must Ask Prior To Choosing a Karate School</example><!-- #2536 -->
                <example>The event I was invited to was his.</example><!-- #3191 -->
                <example>The social functions she was invited to gave her much pleasure.</example><!-- #3191 -->
                <example>The event they invited him to was mine.</example><!-- #3191 -->
                <example>Transfer the allocations from order lines to packing slip lines in a well-defined order</example><!-- Premium #3049 -->
            </rule>
            <rule>
                <antipattern><!-- invited to dances occasionally -->
                    <token inflected="yes" regexp="yes">ask|invite|order|want|allow|force</token>
                    <token>to</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token postag="RB"/>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" skip="2">advise|ask|encourage|invite|order|persuade|remind|warn|expect|intend|want|allow|enable|force|teach|convince|manipulate|try<exception scope="next">,</exception></token>
                    <token>to</token>
                    <marker>
                        <token postag="VBZ"><exception postag="NNPS?" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="RB|PRP\$" postag_regexp="yes"><exception postag="JJ"/></token>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="3" postag="VB"/></suggestion>
                <example correction="go">She wants you to <marker>goes</marker> there.</example>
                <example correction="get">She is manipulating her father to <marker>gets</marker> her way.</example>
                <example>Tom doesn't get invited to parties anymore.</example>
                <example>Tom doesn't get invited to parties frequently.</example>
                <example>Mary was asked to dances occasionally.</example>
                <example>Tom gets invited to parties often.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="-1">talk|lead|refer|from|go|listen|speak</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- #2536 he was introduced to was -->
                    <token chunk="E-NP-singular"/>
                    <token regexp="yes">is|was|are|were</token>
                    <token postag="VBN"/>
                    <token>to</token>
                    <token regexp="yes">is|was</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <marker>
                        <token postag_regexp="yes" postag="VB[DN]"><exception postag="VB[PS]?" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="DT"><exception>that</exception></token>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="2" postag="VB"/></suggestion>
                <example correction="rename">I've decided to <marker>renamed</marker> the project.</example>
                <example correction="win">What is needed to <marker>won</marker> the ticket?</example>
                <example correction="be">However, the project they were introduced to <marker>were</marker> the very best.</example><!-- The suggestion is not correct -->
                <example>Overtraining leads to increased sympathetic activity.</example>
                <example>Refer all servicing to qualified service personnel.</example>
                <example>They vary in their shape from round to flattened.</example>
                <example>The last person I told my idea to thought I was nuts.</example>
                <example>The students we talked to said that Tom is easy to get along with.</example>
                <example>And the project he was introduced to was the best.</example><!-- #2536 -->
                <example>Also, the project they were introduced to was the best.</example>
            </rule>
            <rule>
                <antipattern><!-- #2536 from doing to done -->
                    <token>from</token>
                    <token>doing</token>
                    <token>to</token>
                    <token>done</token>
                </antipattern>
                <antipattern><!-- Move a project to done -->
                    <token inflected="yes" regexp="yes" skip="4">change|set|switch|move</token>
                    <token>to</token>
                    <token>done</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <marker>
                        <token postag_regexp="yes" postag="VB[DN]"><exception postag="VB[PS]?|JJ|NN:UN" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="2" postag="VB"/></suggestion>
                <example correction="buy">I've decided to <marker>bought</marker>.</example>
                <example>Arabic is written from right to left.</example>
                <example>They sit down next to Drew.</example>
                <example>The person he was introduced to was Lennie</example>
                <example>We really want to switch to hosted connections</example>
                <example correction="notice">Tom was the only one who seemed to <marker>noticed</marker>.</example>
                <example>Desire is understood to be prior to thought.</example>
                <example>Please change it from doing to done here</example><!-- #2536. Possibly italics in the original or possibly missing quote marks. -->
                <example>Reservation status has changed to REFUSED.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">that|which|what</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">need|want|have|try|love|like|hate</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">need|want|have|try|love|like|hate</token>
                    <token>to</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX|W.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">sp?ent</token>
                    </marker>
                </pattern>
                <message>The verb after "to" should be in the base form.</message>
                <suggestion><match no="4" postag="VB" /></suggestion>
                <example correction="spend">I have to <marker>spent</marker> more time on this.</example>
            </rule>
        </rulegroup>

        <rulegroup id="MANY_FEW_UNCOUNTABLE" name="'many/few' + uncountable noun, e.g. 'many (much) food'">
            <rule>
                <pattern>
                    <token>as</token>
                    <marker>
                        <token regexp="yes">many|few</token>
                    </marker>
                    <token postag="NN:U"/>
                    <token>as</token>
                </pattern>
                <message>Use <suggestion>much</suggestion> or <suggestion>little</suggestion> with uncountable nouns.</message>
                <short>Grammatical problem with uncountable noun</short>
                <example correction="much|little">John eats as <marker>many</marker> food as Peter.</example>
                <example correction="much|little">John eats as <marker>few</marker> food as Peter.</example>
            </rule>
            <rule>
                <!-- TODO: more uncountable nouns   -->
                <pattern>
                    <marker>
                        <token regexp="yes">many|few</token>
                    </marker>
                    <token regexp="yes">air|food|freedom|furniture|information|intelligence|knowledge|life|maturity|meat|money|news|sand|software|success|water</token>
                    <token><exception postag="NNS"/></token>
                </pattern>
                <message>Use <suggestion>much</suggestion> or <suggestion>little</suggestion> with uncountable nouns.</message>
                <short>Grammatical problem with uncountable noun</short>
                <example>There are <marker>many</marker> food plants.</example>
                <example correction="much|little">She has <marker>many</marker> money.</example>
            </rule>
        </rulegroup>
        <!--
    "an information" is used in the legal US jargon, deleting

    longer list but not checked thoroughly:
    http://www.geocities.com/Athens/Olympus/7583/ncntlist.html
    -->
        <rulegroup id="A_UNCOUNTABLE" name="Articles: a + uncountable noun">
            <rule>
                <antipattern><!-- #2442 -->
                    <token regexp="yes">an?</token>
                    <token chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN)?"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">an?</token>
                        <token regexp="yes">accommodation|advice|access|baggage|bread|damage|equipment|garbage|graffiti|luggage|money|cattle|sand|furniture|meat|food|news|pasta|progress|research|water|freedom|maturity|intelligence|travel|pollution|traffic|transport|patience|wisdom</token><!-- MFU 2019-12-20: Why do the rules have only a subset of non-count nouns? -->
                    </marker>
                    <token postag="RP|VB[ZD]|IN|SENT_END" postag_regexp="yes"/>
                </pattern>
                <message>Uncountable nouns are usually not used with an indefinite article. Use simply <suggestion>\2</suggestion>.</message>
                <short>Uncountable noun with an article</short>
                <example><marker>The information</marker> in your files is correct.</example>
                <example><marker>An intelligence</marker> service is known to be corrupt here.</example>
                <example>It was thrown off of <marker>a garbage truck</marker></example><!--  #2442 -->
                <example>Please focus on <marker>a research question</marker></example>
                <example>Move it into <marker>a food processor</marker></example>
                <example>Please keep <marker>a food diary</marker></example>
                <example correction="Accommodation"><marker>An accommodation</marker> is too expensive.</example>
                <example correction="wisdom">You need <marker>a wisdom</marker> in your life.</example>
                <example correction="wisdom">The lack of <marker>a wisdom</marker> caused him to upset many people.</example>
            </rule>
            <rule> <!-- only for 'knowledge', but not 'knowledge of', which occasionally takes an article -->
                <pattern>
                    <marker>
                        <token>a</token>
                        <token>knowledge</token>
                    </marker>
                    <token postag="RP|VBZ|IN|SENT_END" postag_regexp="yes"><exception regexp="yes">of|about</exception></token>
                </pattern>
                <message>Uncountable nouns are usually not used with an indefinite article. Use simply <suggestion>\2</suggestion>.</message>
                <short>Uncountable noun with an article</short>
                <example>A knowledge of accounting was necessary for the job.</example>
                <example correction="Knowledge"><marker>A knowledge</marker> is power.</example>
            </rule>
            <rule>
                <antipattern><!-- Fix for a sentence that does not end with a punctuation mark:  ... an artificial intelligence program -->
                    <token postag="JJ"/>
                    <token/>
                    <token chunk="E-NP-singular" postag="SENT_END"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">an?</token>
                        <token postag="JJ"><exception>little</exception></token>
                        <!-- note: 'food' is not included here, as 'a particular food' is considered standard English, see http://www.ldoceonline.com/dictionary/taste_1 -->
                        <token regexp="yes">accommodation|advice|access|baggage|bread|damage|equipment|garbage|graffiti|luggage|money|cattle|sand|furniture|meat|news|pasta|progress|water|freedom|maturity|intelligence|travel|pollution|traffic|transport|patience|wisdom</token>
                    </marker>
                    <token postag="RP|VB[ZD]|IN|SENT_END" postag_regexp="yes"/>
                </pattern>
                <message>Uncountable nouns are usually not used with an indefinite article. Use simply <suggestion>\2 \3</suggestion>.</message>
                <short>Uncountable noun with an article</short>
                <example><marker>The information</marker> in your files is correct.</example>
                <example>I have a little money.</example>
                <example><marker>An intelligence</marker> service is known to be corrupt here.</example>
                <example correction="Nice accommodation"><marker>A nice accommodation</marker> is too expensive.</example>
                <example correction="bad graffiti">He made <marker>a bad graffiti</marker> with his hands.</example><!-- #2268 -->
                <example correction="bad graffiti">Unfortunately, <marker>a bad graffiti</marker> were on the walls.</example><!-- #2268 -->
                <example correction="incorrect advice">Unfortunately, <marker>an incorrect advice</marker> resulted in his financial ruin.</example>
                <example>This was mentioned in a German research.</example>
                <example>Automated Mathematician, an artificial intelligence program</example>
            </rule>
            <rule>
                <!-- only for 'knowledge', but not 'knowledge of', which occasionally takes an article -->
                <pattern>
                    <marker>
                        <token>a</token>
                        <token postag="JJ"><exception>little</exception></token>
                        <token>knowledge</token>
                    </marker>
                    <token postag="RP|VB[ZD]|IN|SENT_END" postag_regexp="yes"><exception regexp="yes">of|about</exception></token>
                </pattern>
                <message>Uncountable nouns are usually not used with an indefinite article. Use simply <suggestion>\2 \3</suggestion>.</message>
                <short>Uncountable noun with an article</short>
                <example>Knowledge is power.</example>
                <example>A little knowledge of accounting was necessary for the job.</example>
                <example correction="Good knowledge"><marker>A good knowledge</marker> is power.</example>
                <example correction="poor knowledge">Because <marker>a poor knowledge</marker> caused him to fail the exam, he...</example>
            </rule>
            <rule>
                <antipattern><!-- #2061. a few different food options. -->
                    <token postag="JJ"/>
                    <token chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">an?</token>
                        <token postag="JJ|RB" postag_regexp="yes"><exception>little</exception></token>
                        <token postag="JJ"/>
                        <token regexp="yes">accommodation|advice|access|baggage|bread|damage|equipment|garbage|graffiti|luggage|money|cattle|sand|furniture|meat|food|news|pasta|progress|research|water|freedom|maturity|intelligence|travel|pollution|traffic|transport|patience|wisdom</token>
                    </marker>
                    <token postag="RP|VB[ZD]|IN|SENT_END" postag_regexp="yes"/>
                </pattern>
                <message>Uncountable nouns are usually not used with an indefinite article. Use simply <suggestion>\2 \3 \4</suggestion>.</message>
                <short>Uncountable noun with an article</short>
                <example><marker>The information</marker> in your files is correct.</example>
                <example>My wife's part-time job brings in a little extra money.</example>
                <example><marker>An intelligence</marker> service is known to be corrupt here.</example>
                <example>I can find a few different food options.</example><!-- #2061 -->
                <example correction="Very nice accommodation"><marker>A very nice accommodation</marker> is too expensive.</example>
                <example correction="very nice accommodation">Although <marker>a very nice accommodation</marker> was offered, we decided that it was too expensive.</example>
            </rule>
            <rule>
                <!-- only for 'knowledge', but not 'knowledge of', which occasionally takes an article -->
                <pattern>
                    <marker>
                        <token>a</token>
                        <token postag="JJ|RB" postag_regexp="yes"/>
                        <token postag="JJ"/>
                        <token>knowledge</token>
                    </marker>
                    <token postag="RP|VB[ZD]|IN|SENT_END" postag_regexp="yes"><exception regexp="yes">of|about</exception></token>
                </pattern>
                <message>Uncountable nouns are usually not used with an indefinite article. Use simply <suggestion>\2 \3 \4</suggestion>.</message>
                <short>Uncountable noun with an article</short>
                <example>A very little knowledge of accounting was necessary for the job.</example>
                <example correction="Very good knowledge"><marker>A very good knowledge</marker> is too time-consuming.</example>
                <example correction="Very good knowledge"><marker>A very good knowledge</marker> was the result of much study.</example>
            </rule>
        </rulegroup>
        <rule id="MOST_SOME_OF_NNS" name="Articles: 'most/some of' + plural noun">
            <pattern>

                <token regexp="yes">most|some</token>
                <token>of</token>
                <token postag="NNS" regexp="yes">\p{Lower}+<exception postag="PRP$"/></token>
            </pattern>
            <message>After '\1 of', you should use 'the' (<suggestion>\1 \2 the \3</suggestion>) or simply say <suggestion>\1 \3</suggestion>.</message>
            <short>Missing 'the'</short>
            <example correction="Most of the students|Most students"><marker>Most of students</marker> do their homework.</example>
            <example><marker>Most of the students</marker> do their homework.</example>
            <example>Some of his students do their homework.</example>
            <example>Buy a collection of most of Rand's works in a CD-ROM format.</example>
            <example><marker>Some of the students</marker> do their homework.</example>
        </rule>
        <rulegroup id="HAVE_A_BREAKFAST" name="Articles before nouns used normally without them">
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">have</token>
                        <token regexp="yes">a|the</token>
                        <token regexp="yes">breakfast|lunch|dinner</token>
                    </marker>
                    <token><exception postag="NN.*|VBG" postag_regexp="yes"/><exception>of</exception></token>
                </pattern>
                <message>When we speak of types of meals, the article is not required.</message>
                <suggestion>\1 \3</suggestion>
                <short>Grammatical problem: unnecessary article</short>
                <example correction="had breakfast">We <marker>had a breakfast</marker> in the hotel restaurant.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="-1">invite<exception scope="next" postag="[;:]" postag_regexp="yes"/></token>
                    <marker>
                        <token>to</token>
                        <token regexp="yes">a|the</token>
                        <token regexp="yes">breakfast|lunch|dinner</token>
                    </marker>
                    <token><exception postag="NN.*|VBG" postag_regexp="yes"/><exception>of</exception></token>
                </pattern>
                <message>When we speak of types of meals, the article is not required.</message>
                <suggestion>\2 \4</suggestion>
                <short>Grammatical problem: unnecessary article</short>
                <example correction="to dinner">Ray and Helen have invited us out <marker>to a dinner</marker> in the hotel restaurant.</example>
                <example>Ray and Helen have invited us out <marker>to dinner</marker> in the hotel restaurant.</example>
                <example>We were invited today to lunch in the hotel restaurant.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="-1">go<exception scope="next" postag="[;:,]" postag_regexp="yes"/></token>
                    <marker>
                        <token>for</token>
                        <token regexp="yes">a|the</token>
                        <token regexp="yes">breakfast|lunch|dinner</token>
                    </marker>
                    <token><exception postag="NN.*|VBG" postag_regexp="yes"/><exception>of</exception></token>
                </pattern>
                <message>When we speak of types of meals, the article is not required.</message>
                <suggestion>\2 \4</suggestion>
                <short>Grammatical problem: unnecessary article</short>
                <example correction="for dinner">Ray and Helen went with us <marker>for a dinner</marker> in the hotel restaurant.</example>
                <example>Ray and Helen went with us <marker>for dinner</marker> in the hotel restaurant.</example>
                <example>We were invited today to lunch in the hotel restaurant.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IN_1990s" name="Missing definite article in the date">
            <url>http://pl.talkenglish.com/Grammar/articles.aspx</url>
            <rule>
                <pattern>
                    <token regexp='yes'>in|during</token>
                    <token regexp='yes'>(1\d|20)\d0s</token>
                </pattern>
                <message>The article is probably missing here.</message>
                <suggestion><match no="1"/> the <match no="2"/></suggestion>
                <short>Missing article</short>
                <example correction="in the 1990s">It happened <marker>in 1990s</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>in|during</token>
                    <token regexp='yes'>(1[89]|20)\d0</token>
                    <token spacebefore="no">'s</token>
                </pattern>
                <message>The article is probably missing here.</message>
                <suggestion><match no="1"/> the <match no="2"/><match no="3"/></suggestion>
                <short>Missing article</short>
                <example correction="in the 1990's">It happened <marker>in 1990's</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="IN_PAST" name="Missing definite article referring to a time period">
            <pattern>
                <marker>
                    <token>in</token>
                    <token>past</token>
                </marker>
                <token regexp='yes'>[,\.:;]</token>
            </pattern>
            <message>Did you mean: <suggestion><match no="1"/> the <match no="2"/></suggestion>?</message>
            <url>http://pl.talkenglish.com/Grammar/articles.aspx</url>
            <short>Missing definite article</short>
            <example correction="in the past">Something happened <marker>in past</marker>.</example>
        </rule>
        <!--  needs more and more tweaking;
              currently the last exception in all rules is a simplification,
              it should be more recursive, i.e., there one more rule for all current rules, structured like this:
              ... NN !NN.*|JJ.*, ... NN JJ !NN.*|JJ.* -->
        <rulegroup default="off" id="ARTICLE_MISSING" name="Articles: article missing before a countable noun">
            <antipattern><!-- https://dictionary.cambridge.org/grammar/british-grammar/by -->
                <token>by</token>
                <token>car</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/brand_new -->
                <token>brand</token>
                <token>new</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/neck_and_neck -->
                <token>neck</token>
                <token>and</token>
                <token>neck</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/ -->
                <token>in</token>
                <token regexp="yes">bud|season|session</token>
            </antipattern>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT|JJ|NN.*" postag_regexp="yes"/></token>
                    <token postag="VBP|VBZ" postag_regexp="yes"><exception regexp="yes">do|does|take[s]*|give[s]*|says|go|goes|becomes</exception><exception postag="NN.*|JJ.*|POS.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="NN"><exception postag="DT|RB.*|RP|JJ.*|IN|C[CD]|VB[DN]|MD|NNP|NNP?S|PRP.*|WRB|NN:UN?" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a friend|the friend">He is <marker>friend</marker>.</example>
                <example>He is <marker>a friend</marker>.</example>
                <example>He is my friend.</example>
                <example>This is Chapter 2.</example>
                <example>Depict one's immersion with the world.</example>
                <example>You can go <marker>by car</marker> or by train.</example>
                <example>The horses are coming down the track and it's <marker>neck and neck</marker>.</example>
                <example>It's <marker>brand new</marker>.</example>
                <example>... region when the county courts were <marker>in session</marker>.</example>
                <example>The roses are <marker>in bud</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT|JJ|NN.*" postag_regexp="yes"/></token>
                    <token regexp="yes">do|does</token>
                    <marker>
                        <token postag="NN"><exception postag="DT|WRB|RB|RP|JJ|IN|CC|CD|JJR|RBS|VB[DN]|MD|NNP|NNS|VB|VBP" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a lot|the lot">He does <marker>lot</marker> of things.</example>
                <example>He does need us.</example>
                <example>We do have this kind of attitude.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT|JJ|NN.*" postag_regexp="yes"/></token>
                    <token regexp="yes">takes?</token>
                    <marker>
                        <token postag="NN"><exception regexp="yes">place|charge</exception><exception postag="DT|WRB|RB|RP|JJ|IN|CC|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example>He takes his brother to school.</example>
                <example>The event takes place here.</example>
                <example correction="a brother|the brother">He takes <marker>brother</marker> with him.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT|JJ|NN.*" postag_regexp="yes"/></token>
                    <token regexp="yes">gives?</token>
                    <marker>
                        <token postag="NN"><exception regexp="yes">rise|way|room|vent|rein</exception><exception postag="DT|WRB|RB|RP|JJ|IN|CC|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example>He gives his brother a bar of chocolate.</example>
                <example>This event gives rise to a new era.</example>
                <example correction="a brother|the brother">He gives <marker>brother</marker> a bar of chocolate.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT|JJ|NN.*" postag_regexp="yes"/></token>
                    <token regexp="yes">go|goes</token>
                    <marker>
                        <token postag="NN"><exception>hand</exception><exception postag="DT|WRB|RB|RP|JJ|IN|CC|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a step|the step">He goes <marker>step</marker> too far.</example>
                <example>He goes a step too far.</example>
                <example>This goes <marker>hand</marker> in hand...</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT|JJ|NN.*" postag_regexp="yes"/></token>
                    <token regexp="yes">falls?</token>
                    <marker>
                        <token postag="NN"><exception>victim</exception><exception postag="DT|WRB|RB|RP|JJ|IN|CC|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a tad|the tad">It falls <marker>tad</marker>.</example>
                <example>Inflation falls a tad.</example>
                <example>The website falls <marker>victim</marker> to...</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT" postag_regexp="yes"/></token>
                    <token postag="VBP|VBZ" postag_regexp="yes"><exception postag="JJ"/></token>
                    <marker>
                        <token postag="JJ"><exception>else</exception><exception postag="VB|RP|RB|CD|IN|CC|MD|VB[DN]|VBG|DT|WRB" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                        <token postag="NN"><exception postag="CC|DT|RB|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NN[SP]|WRB" postag_regexp="yes"/><exception>are</exception></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/> <match no="4"/></suggestion>
                <short>Article missing</short>
                <example correction="a good friend|the good friend">He is <marker>good friend</marker>.</example>
                <example>He is a good friend.</example>
                <example>It may require strong AI to be done as well as humans can do it.</example>
            </rule>
            <!-- this accounts for: I have experienced series... -->
            <rule>
                <pattern>
                    <token postag="PRP|NNP" postag_regexp="yes"/>
                    <token regexp="yes">ha(?:ve|s|d)</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB|RP|WRB|RB|CD|IN|CC|MD" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="CC|DT|WDT|RB|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NN[SP]|PRP" postag_regexp="yes"/><exception>are</exception></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3"/> <match no="4" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="experienced a problem|experienced the problem">Recently I have <marker>experienced problem</marker>.</example>
                <example>Recently I have <marker>experienced a problem</marker>.</example>
                <example>Different as our minds are, yours has nourished mine.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NNP" postag_regexp="yes"/>
                    <token regexp="yes">have|ha[ds]</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB|RP|WRB|RB|CD|IN|CC|MD" postag_regexp="yes"/></token>
                        <token postag="JJ"><exception postag="VB|RP|WRB|RB|CD|IN|CC|MD|DT|WDT" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="CC|DT|RB|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNS" postag_regexp="yes"/><exception>are</exception></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3"/> <match no="4" postag="+DT"/> <match no="5"/></suggestion>
                <short>Article missing</short>
                <example correction="experienced a serious problem|experienced the serious problem">Recently I have <marker>experienced serious problem</marker>.</example>
                <example>Recently I have <marker>experienced a serious problem</marker>.</example>
            </rule>
            <!-- and now "an experienced soldier" -->
            <rule>
                <pattern>
                    <token><exception postag="PRP.*|NN.*|DT|JJ.*|RB.*|CC|IN|VBG|WRB|WDT|WP\$?|UNKNOWN" postag_regexp="yes"/><exception regexp="yes">one|have|ha[sd]|appointed|called|s|\&quot;|[0-9].*|[,\'.\(\[]</exception></token>
                    <marker>
                        <token postag="VBN|JJ" postag_regexp="yes"><exception>else</exception><exception postag="VB|RP|WRB|RB|CD|IN|CC|MD|NNP|DT" postag_regexp="yes"/><exception>called</exception></token>
                        <token postag="NN"><exception postag="CC|DT|RB|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP?S|NNP|WRB" postag_regexp="yes"/><exception>are</exception><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/></suggestion>
                <short>Article missing</short>
                <example correction="an experienced soldier|the experienced soldier">He is <marker>experienced soldier</marker>.</example>
                <example>He is <marker>an experienced soldier</marker>.</example>
                <example>Last year Beyeler arranged to sell $1,500,000.</example>
                <example>At least one white student at Georgia got through this ritual.</example>
                <example>In October 1944, he was appointed state warden and chief of the Forest Fire Section.</example>
                <example>The typical U.S. daily menu, says Dr. Keys, contains 3,000 calories</example>
                <example>I find the cleaner, less razor-edged monophonic version more interesting.</example>
                <example>Majestic Pick comes next.</example>
            </rule>
            <!-- an extremely experienced soldier -->
            <rule>
                <pattern>
                    <token><exception postag="PRP|NNP|DT|JJ|PRP\$|RB.*|CC|WDT|WP" postag_regexp="yes"/><exception regexp="yes">then|have|ha[sd]|s|\&quot;|[0-9].*|[\',\(\[]</exception></token>
                    <marker>
                        <token postag="RB.*" postag_regexp="yes"><exception postag="VB|RP|CD|IN|CC|MD" postag_regexp="yes"/><exception regexp="yes">not|only|also</exception></token>
                        <token postag="VBN|JJ" postag_regexp="yes"><exception postag="VB|RP.*|RB|CD|IN|CC|MD|DT|WDT" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                        <token postag="NN"><exception postag="WDT|CC|DT|RB|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNS" postag_regexp="yes"/><exception>are</exception><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/> <match no="4"/></suggestion>
                <short>Article missing</short>
                <example correction="an extremely experienced soldier|the extremely experienced soldier">He is <marker>extremely experienced soldier</marker>.</example>
                <example>There is only one catch to this idyllic arrangement.</example>
                <example>He is <marker>an extremely experienced soldier</marker>.</example>
                <example>Nearby Foggy Bottom is ousting Negroes.</example>
                <example>Cousin Emma is alone in that big old house and won't hear to parting from it.</example>
            </rule>
            <!--  this rule needs to be expanded to all prepositions
                  so that exceptions could be accounted for properly, i.e.,
                  'at home' vs. 'a tourist home'; 'for example' vs. 'an example for you' -->
            <rule>
                <pattern>
                    <token>at</token>
                    <marker>
                        <token postag="NN"><exception postag="CC|UH|DT|WDT|RP|JJ|IN|CD|JJS|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/><exception regexp="yes">least|(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="an airport|the airport">He was waiting at <marker>airport</marker>.</example>
                <example>He was waiting at <marker>the airport</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>at</token>
                    <marker>
                        <token postag="JJ"><exception postag="VB|WRB|RB.*|CD|IN|DT|WDT" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP|NNS|CC" postag_regexp="yes"/><exception>glance</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/></suggestion>
                <short>Article missing</short>
                <example correction="a new airport|the new airport">He was waiting at <marker>new airport</marker>.</example>
                <example>He was waiting at <marker>the new airport</marker>.</example>
                <example>It appeared as something she could not at first cope with.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token/>
                    <token regexp="yes">[Bb]y</token>
                    <marker>
                        <and>
                            <token postag="NN"><exception postag="CC|UH|DT|WDT|RB|RP|JJ|IN|CD|JJS|JJR|RBS|VB[DN]|MD|NNP|NNS|VBG" postag_regexp="yes"/><exception regexp="yes">bit|step|example|\p{Lu}\p{Ll}+</exception></token>
                            <token negate="yes"><match no="0"/></token>
                        </and>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a river|the river">He was waiting by <marker>river</marker>.</example>
                <example>He was waiting by <marker>the river</marker>.</example>
                <example>The attack minute by minute</example>
                <example>He works by <marker>day</marker>.</example>
                <example>$30,000 state grant authorized by Gov. Vandiver</example>
            </rule>
            <rule>
                <pattern>
                    <token>by</token>
                    <marker>
                        <token postag="JJ"><exception postag="VB|WRB|RB.*|CD|IN|DT|WDT" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/><exception>fiat</exception><exception regexp="yes">bit|step|way|example|dint|crook|hook|hand|machine|word|cheque|accident|day|means|mistake|name|train|rail|railway|coach|bus|boat|automobile|helicopter|taxi|ambulance|plane|airplane|foot|section|article|page|road|letter|phone|telephone|mail|storm|arrangement|satellite|decree|year-end|lot|profession|district|week|eye|covenant|fiat|ship|car|jowl|tramway|(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/></suggestion>
                <short>Article missing</short>
                <example correction="a small river|the small river">He was waiting by <marker>small river</marker>.</example>
                <example>He was waiting by <marker>the small river</marker>.</example>
                <example>Guests came by chartered plane from all over the country.</example>
            </rule>
            <rule>
                <pattern>
                    <token>for</token>
                    <marker>
                        <token postag="NN"><exception postag="UH|CC|VBD|VBG|VBN|DT|WDT|RP|JJ|IN|CD|JJS|JJR|RBS|MD|NNP|NNS|WRB|PRP\$" postag_regexp="yes"/><exception regexp="yes">are|(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="an answer|the answer">He was waiting for <marker>answer</marker>.</example>
                <example>He was waiting for <marker>your answer</marker>.</example>
                <example><marker>For example</marker>, he wrote a letter to me.</example>
                <example>The data for boy 34 appear in Figure 3.</example>
            </rule>
            <rule>
                <pattern>
                    <token>for</token>
                    <marker>
                        <token postag="JJ"><exception postag="VBG|VB|WRB|RB.*|CD|IN|DT|WDT" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/></suggestion>
                <short>Article missing</short>
                <example correction="a swift answer|the swift answer">He was waiting for <marker>swift answer</marker>.</example>
                <example>He was waiting for <marker>your swift answer</marker>.</example>
                <example><marker>For example</marker>, he wrote a letter to me.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">day|week</token>
                    <token spacebefore="yes">in</token>
                    <marker>
                        <and>
                            <token postag="NN"><exception postag="VBG|DT|WDT|RP|JJ|IN|CD|JJS|JJR|RBS|VB[DN]|MD|NN[PS]|PRP\$" postag_regexp="yes"/><exception regexp="yes">word|(?u)\p{Lu}\p{Ll}+</exception></token>
                            <token negate="yes"><match no="0"/></token>
                        </and>
                    </marker>
                    <token><exception postag="NN.*|JJ|C[DC]" postag_regexp="yes"/><exception regexp="yes">\d+|&apostrophe;</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a kitchen|the kitchen">The dog spent all day in <marker>kitchen</marker>.</example>
                <example>He was waiting in the <marker>lobby</marker>.</example>
                <example>I have exhausted myself day in day out</example>
                <example><marker>In fact</marker>, he wrote a letter to me.</example>
                <example>Chinese Empire under the Ch'in dynasty (221-207 B.C.)</example>
                <example>American technology in engine and hull design is excellent.</example>
                <example>22% of his total list as against 3.5% in mine.</example>
                <example>In the system shown in Fig. 7-1, the accelerometer output is amplified.</example>
            </rule>
            <rule>
                <!-- day in day out ignored above, checking for 'day' and 'week' -->
                <pattern>
                    <token><exception regexp="yes">day|week</exception></token>
                    <token>in</token>
                    <marker>
                        <token postag="NN"><exception postag="DT|WDT|RP|IN|CD|JJ[RS]?|RBS|VB[DGN]|MD|NN[PS]" postag_regexp="yes"/><exception regexp="yes">word|(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|JJ|C[DC]" postag_regexp="yes"/><exception regexp="yes">\d+</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a lobby|the lobby">He was waiting in <marker>lobby</marker>.</example>
                <example>He was waiting in the <marker>lobby</marker>.</example>
                <example correction="a week|the week">Later in <marker>week</marker>.</example>
                <example><marker>In fact</marker>, he wrote a letter to me.</example>
            </rule>
            <rule>
                <pattern>
                    <token>in</token>
                    <marker>
                        <token postag="JJ"><exception postag="NNP|VBG|VB|WRB|RB.*|CD|IN|DT|WDT" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ.*|IN|CD|RB.*|VB[DN]|MD|NNP|NNP?S|PRP.*|WRB" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*|JJ|CD" postag_regexp="yes"/><exception regexp="yes">\d+</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/></suggestion>
                <short>Article missing</short>
                <example correction="a large lobby|the large lobby">He was waiting in <marker>large lobby</marker>.</example>
                <example>He was waiting in the <marker>large lobby</marker>.</example>
                <example><marker>In fact</marker>, he wrote a letter to me.</example>
            </rule>
            <!-- on -->
            <rule>
                <antipattern>
                    <token>on</token>
                    <token>autopilot</token>
                </antipattern>
                <pattern>
                    <token>on</token>
                    <marker>
                        <token postag="NN"><exception postag="CC|UH|DT|WDT|RP|JJ|IN|CD|JJS|JJR|RB.*|VB[DN]|MD|NNP|NNS|WRB" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/></suggestion><suggestion><match no="2" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a covenant|the covenant">ACET would not be able to reclaim tax on <marker>covenant</marker>.</example>
                <example>Rob Brydon is Keith and Steve Coogan plays Geoff, seen for the first time on screen</example>
                <example>There is no science on how we are going to adapt.</example>
                <example>I worked the last hour of my shift on autopilot.</example>
            </rule>
            <rule>
                <pattern>
                    <token>on</token>
                    <marker>
                        <token postag="JJ"><exception postag="VBG|VB|WRB|RB.*|CD|IN|DT|WDT|NNP" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                        <token postag="NN"><exception postag="CC|DT|WDT|RP|JJ.*|IN|CD|RBS|VB[DN]|MD|NNP|NNS|NNPS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="2" postag="+DT"/> <match no="3"/></suggestion>
                <short>Article missing</short>
                <example correction="a previous page|the previous page">This remark is on <marker>previous page</marker>.</example>
                <example>This remark is on <marker>the previous page</marker>.</example>
            </rule>
            <rule>
                <!--after, with exception for phrases like 'anecdote after anecdote' (x after x); FIXME: first two tokens should be replaced with a chunk &lt;DT+VBN&gt; marked in a disambig-->
                <pattern>
                    <token><exception postag="DT|WDT" postag_regexp="yes"/></token>
                    <token><exception postag="VBN|VBD" postag_regexp="yes"/></token>
                    <token>after</token>
                    <marker>
                        <and>
                            <token postag="NN"><exception postag="CC|UH|DT|WDT|RP|JJ.*|IN|CD|RB.*|VBD|VBZ|VBN|MD|NNP|NNP?S|PRP.*|WRB" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                            <token negate="yes"><match no="1"/></token>
                        </and>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article is probably missing before the noun.</message>
                <suggestion><match no="4" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a week|the week">Change your filter after <marker>week</marker>.</example>
                <example>Change your filter after one week.</example>
                <example>He told me anecdote after anecdote of that extraordinary man.</example>
                <example>Soon after Loper leaked the news that Frankie had ordered two...</example>
            </rule>
            <rule>
                <pattern>
                    <!--  to exclude phrases like: 'the turned up card' -->
                    <token><exception postag="DT|WDT" postag_regexp="yes"/></token>
                    <token><exception postag="VBN|VBD" postag_regexp="yes"/></token>
                    <token postag="IN"><exception regexp="yes">a[st]|by|for|[io]n|to|of|following|than|after</exception><exception postag="JJ.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="NN"><exception postag="CC|UH|DT|WDT|RP|JJ.*|IN|CD|RB.*|VBD|VBZ|VBN|MD|NNP|NNP?S|PRP.*|WRB" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article is probably missing before the noun.</message>
                <suggestion><match no="4" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a friend|the friend">He is talking about <marker>friend</marker>.</example>
                <example>He is talking about a friend.</example>
                <example>Then Jesus arrived at Jordan from Galilee.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="DT|WDT" postag_regexp="yes"/></token>
                    <token><exception postag="VBN|VBD" postag_regexp="yes"/></token>
                    <token postag="IN"><exception regexp="yes">a[st]|by|for|[io]n|to|of|following|re</exception><exception postag="JJ.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="JJ"><exception postag="VBG|VB|WRB|RB.*|CD|IN|DT|WDT|NNP" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                        <token postag="NN"><exception postag="CC|DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*|CD" postag_regexp="yes"/><exception>free</exception><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="4" postag="+DT"/> <match no="5"/></suggestion>
                <short>Article missing</short>
                <example correction="a good friend|the good friend">He is talking about <marker>good friend</marker>.</example>
                <example>He is talking about a good friend.</example>
                <example>Goodis voiced his objection before City Council's Finance Committee.</example>
            </rule>
            <rule>
                <pattern>
                    <!--  to include phrases like: 'About a month ago, ...'
                          this kind of rules should be added for all above
                          prepositions with exceptions -->
                    <token postag="SENT_START"/>
                    <token postag="IN"><exception regexp="yes">a[st]|by|for|[io]n|to|of|following</exception><exception postag="JJ.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="NN"><exception postag="CC|UH|DT|WDT|RP|JJ.*|IN|CD|RB.*|VB[DN]|MD|NN[PS]|NNPS|PRP.*|WRB" postag_regexp="yes"/><exception regexp="yes">(?u)\p{Lu}\p{Ll}+</exception></token>
                    </marker>
                    <token><exception postag="NN.*|JJ|CD" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/></suggestion>
                <short>Article missing</short>
                <example correction="a month|the month">About <marker>month</marker> before I left it was discussed...</example>
                <example>About <marker>a month</marker> before I left it was discussed...</example>
                <example>During Oersted's attendance at the university, it was dull.</example>
            </rule>
            <rule>
                <pattern>
                    <!-- to include phrases like: 'About a long month ago,...' -->
                    <token postag="SENT_START"/>
                    <token postag="IN"><exception regexp="yes">a[st]|by|for|[io]n|to|of|following</exception><exception postag="JJ.*" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="JJ"><exception postag="VBG|VB|WRB|RB.*|CD|IN|DT|WDT|NNP" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*|JJ|CD" postag_regexp="yes"/></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+DT"/> <match no="4"/></suggestion>
                <short>Article missing</short>
                <example correction="a large boat|the large boat">About <marker>large boat</marker>.</example>
                <example>About <marker>a large boat</marker>.</example>
                <example>During fiscal year 1959, six courses were conducted.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception regexp="yes">no|any|every</exception><exception postag="JJ.*" postag_regexp="yes"/></token>
                    <token>such</token>
                    <marker>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NN[PS]" postag_regexp="yes"/><exception inflected="yes" regexp="yes">be|have</exception></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+INDT"/></suggestion>
                <short>Article missing</short>
                <example correction="a friend">He is talking of such <marker>friend</marker>.</example>
                <example>He is talking of such a friend.</example>
                <example>The most famous such organism is Amoeba proteus.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception regexp="yes">no|any|every</exception></token>
                    <token>such</token>
                    <marker>
                        <token postag="JJ"><exception postag="VBG|VB|WRB|RB.*|CD|IN|DT|WDT|NNP" postag_regexp="yes"/></token>
                        <token postag="NN"><exception postag="DT|WDT|RP|JJ|IN|CD|JJR|RBS|VB[DN]|MD|NNP|NNS" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/><exception>free</exception></token>
                </pattern>
                <message>The article might be missing before the noun.</message>
                <suggestion><match no="3" postag="+INDT"/> <match no="4"/></suggestion>
                <short>Article missing</short>
                <example correction="a good friend">He is talking of such <marker>good friend</marker>.</example>
                <example>He is talking of such a good friend.</example>
            </rule>
        </rulegroup>

        <rulegroup id="ALLOW_TO" name="'allow' + 'to' + infinitive">
            <url>http://www.ef.com/english-resources/english-grammar/gerund-equals-infinitive/</url>
            <short>Grammatical problem: use a gerund</short>
            <rule>
                <antipattern>
                    <token regexp="yes">what(ever)?</token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token regexp="yes" inflected="yes">allow|require</token>
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">what(ever)?</token>
                    <token chunk_re="B-NP.*" />
                    <token chunk_re="E-NP.*" />
                    <token>of</token>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes" inflected="yes">allow|require</token>
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>be</token>
                    <token postag="VBN" />
                </antipattern>
                <antipattern>
                    <token postag="VB(G|N)?" postag_regexp="yes">
                        <exception>have</exception>
                    </token>
                    <token>to</token>
                    <token postag="VB" />
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token min="0">that</token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="MD" />
                    <token inflected="yes">require</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*|B-ADVP|B-SBAR" />
                    <token postag="VBD" />
                    <token>to</token>
                    <token postag="VB" />
                    <token chunk_re="B-NP.*|B-PP|O" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="VB" />
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">because|that|while|which|whom</token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token chunk="B-VP" />
                    <token min="0" max="2" chunk="I-VP" />
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token>require</token>
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="VBG" />
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token chunk_re="B-NP.*" />
                    <token chunk="B-VP" />
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token skip="5">let</token>
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" skip="1">give</token>
                    <token>cause</token>
                    <token>to</token>
                    <token postag="VBP"><exception postag="NNS"/></token>
                </antipattern>
                <antipattern><!-- 'allow to do' [assume that quoted text is not an error] -->
                    <token regexp="yes">['‘"“]</token>
                    <token spacebefore="no"/>
                    <token>to</token>
                    <token/>
                   <token spacebefore="no" regexp="yes">['’"”]</token>
                </antipattern>
                <antipattern><!--  join forces to defeat Nazi Germany. -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>to</token>
                    <token postag="VBP"/>
                    <token chunk="B-NP-singular"/>
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token />
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern><!-- the people they hire to work for us have ... -->
                    <token regexp="yes">the|that|this|th[oe]se|all|many|few</token>
                    <token chunk_re="I-NP.*" min="0" max="2" />
                    <token chunk_re="E-NP.*" />
                    <token min="0" regexp="yes">that|which</token>
                    <token postag="PRP_S.*|NNPS?" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">all|every(one|thing|body)</token>
                    <token min="0" regexp="yes">that|which</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" postag_regexp="yes" postag="VB.?" chunk_re=".-VP">allow|advise|authorize|cause|convince|encourage|force|hire|inform|instruct|invite|order|persuade|remind|require|teach|tell|train|urge
                        <exception postag="VB[GN]" postag_regexp="yes"/>
                        <exception regexp="yes" inflected="yes">&uncommon_verbs;</exception>
                        <exception scope="previous" postag="PRP\$|JJ|VBN|W?DT" postag_regexp="yes"/>
                    </token>
                    <marker>
                        <token>to</token>
                        <token postag="VB" chunk_re=".-VP">
                            <exception postag="NNS"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="VBG"/></suggestion>? Or maybe you should add a pronoun? In active voice, '<match no="1" postag="VB"/>' + 'to' takes an object, usually a pronoun.</message>
                <example correction="seeing">It allows <marker>to see</marker> better.</example>
                <example correction="staying">He advised <marker>to stay</marker> calm.</example><!--  #2497 -->
                <example correction="contacting">I mention this only to encourage <marker>to contact</marker> me if you have serious interest in adding this artwork to your collection.</example>
                <example correction="scaling">Usually, the conversion to another notation requires <marker>to scale</marker> the argument and/or the resulting value; sometimes, the same name of the function is used, causing confusions.</example>
                <example correction="doing">How many times do I have to tell <marker>to do</marker> your homework?</example>
                <example>It allows them <marker>to see</marker> better.</example>
                <example>They are forbidden to fly without specific orders to proceed to their targets.</example>
                <example>He was allowed to build an ambitious garden.</example>
                <example>General Don Carlos Buell likewise refused orders to move the Army of the Ohio against rebel forces.</example>
                <example>That is what it tries to teach to <marker>people</marker> like me.</example>
                <example>... a non-interventionist policy (literally ‘<marker>allow to do</marker>’).</example>
                <example>I didn't know for certain which train to take.</example>
                <example>I prefer train to bus.</example>
                <example>He rescinded his earlier order to sail.</example>
                <example>Sami's urges to smoke weed were coming back.</example>
                <example>... Japan, Britain and the United States join forces to defeat Nazi Germany.</example>
                <example>For example, if a counterparty enters a limit order to sell to Enron at price x, ...</example><!-- Premium #1564 -->
                <example>... because many new workers have joined the labor force to take advantage of the booming economy.</example><!-- Premium #1564 -->
                <example>Please prepare a change order to add dual fuel to the February '02 delivery turbine.</example><!-- Premium #1564 -->
                <example>Privately owned Playmedia Systems seeks a court order to stop AOL's use of the allegedly infringing software.</example><!-- Premium #1564 -->
                <example>Steve formed a task force to study how curtailment/diversion/force majeure risks play out at each chain across...</example><!-- Premium #1564 -->
                <example>SCE is awaiting a commission order to auction off its SO2 credits.</example><!-- Premium #1564 -->
                <example>Each of you have been asked to participate (or provide a participant) in the task force to identify problems with data movement from our...</example><!-- Premium #1564 -->
                <example>If denied, Westchester can then seek a court order to block construction.</example><!-- Premium #1564 -->
                <example>Mirant was asked by the latest order to justify close to $93,000 in March sales.</example><!-- Premium #1564 -->
                <example>Governor Bush has set up a task force to study wholesale competition during this Legislative session.</example><!-- Premium #1564 -->
                <example>Tthe administration created a task force to come up with a counter proposal to reduce harmful emissions.</example><!-- Premium #1564 -->
                <example>President Bush has announced the creation a task force to review corporate disclosure rules after Enron's bankruptcy.</example><!-- Premium #1564 -->
                <example>Bush yesterday appointed a task force to investigate Enron's collapse and at least six congressional committees are investigating.</example><!-- Premium #1564 -->
                <example>He is putting together a task force to help with the SEC stuff.</example><!-- Premium #1564 -->
                <example>The attorney general will agree to a confidentiality order to govern EES's production that was approved by the Los Angeles Superior Court.</example><!-- Premium #1564 -->
                <example>Westchester can then seek a court order to block construction.</example><!-- Premium #1564 -->
                <example>Dave Nutt has been sent the Compliance Order to review.</example><!-- Premium #1564 -->
                <example>After three decades of amassing material, Boasians felt a growing urge to generalize.</example><!-- Premium #1564 -->
                <example>... said the presence of FBI agents may make a court order to protect documents superfluous.</example><!-- Premium #1564 -->
                <example>... to the traders, for a market order to buy, the market maker has to sell at the as...</example><!-- Premium #1564 -->
                <example>Most yeomen farmers, craftsmen, and small merchants joined the Patriot cause to demand more political equality.</example><!-- Premium #1564 -->
                <example>... after he was given a court order to lend money to an incompetent applicant.</example><!-- Premium #1564 -->
                <example>Consciousness and thought remain very challenging to understand.</example>
                <example>It is therefore very encouraging to see ORR take the matter forward.</example>
                <example>He famously disobeyed Parker's order to withdraw, destroying many of the Dano-Norwegian ships before a truce was agreed.</example>
                <example>Whatever you allow to captivate your mind will rule your life.</example>
                <example>The DEP noted that the plants will be emitting at rates lower than what the EPA requires to create allowances.</example>
                <example>The state PUC follows whatever the Department of Revenue requires to be utilized.</example>
                <example>EPA permits to allow further expansion is a major issue to making sure that domestic infrastructure keeps up with demand (p. 27).</example>
                <example>A big omission in his new section is the covenant not to construct or cause to be constructed a natural gas pipeline within the right of way.</example>
                <example>This group of creditors is significant in both number and amount and deserves and requires to be dealt with as such," says the letter to Edison's private attorney, Thomas B. Walper of Munger, Tolles and Olson in Los Angeles.</example>
                <example>Despite his trauma, he is driven to train to become a brilliant scientist and train his body into absolute physical perfection to fight crime in Gotham City as Batman, an inspired idea from Wayne's insight into the criminal mind.</example>
                <example>Abettor (from to abet, Old French abeter, à and beter, to bait, urge dogs upon any one; this word is probably of Scandinavian origin, meaning to cause to bite), is a legal term implying one who instigates, encourages or assists another to commit an offence.</example>
                <example>We have taken every step the state would allow to try to keep power costs down," general counsel Roger Peters said in a prepared statement, but the latest court action is critical for "protecting our financial viability.</example>
                <example>I guess the issue is how much time and money it would require to change CP to feed just our CPs.</example>
                <example>We should touch base then to agree on an amount of collateral you require to keep CA on board.</example>
                <example>In logic, the time that an algorithm requires to complete cannot be measured, as it is not apparently related with our customary physical dimension.</example>
                <example>A 10% markup allowed to compensate for credit risks for sales into California should be dropped, because the California Department of Water Resources, a creditworthy buyer, is purchasing electricity on behalf of the utilities, they said.</example>
                <example>A sixth consultant hired to help California purchase electricity has quit, according to state records.</example>
                <example>Also ordered to justify their prices were Williams Energy Services Corp., $21.6 million; Portland General Electric Co., $73,600; and Mirant, $826,000.</example>
                <example>If forced to undergo new trials, Erbitux may not be available for months, if ever.</example>
                <example>The documents forwarded to you are the actual documents you'll be require to execute however they will reflect Hanover as Lessor.</example>
                <example>When Kennedy received the photo, he returned it to Goldwater, with the inscription, "For Barry Goldwater – Whom I urge to follow the career for which he has shown such talent – photography!</example>
                <example>Wayne hands the Batman mantle to Dick Grayson (then Nightwing) for an interim period, while Wayne trains to return to the role.</example>
                <example>However this stiffness can work against certain types of concrete structures, particularly where a relatively higher flexing structure is require to resist more extreme forces.</example>
                <example>As a first step towards examining the financial data, GAIL will require to enter into a confidentiality clause agreement with the present project sponsors to access the data.</example>
                <example>Kantorek is a hypocrite, urging the young men he teaches to fight in the name of patriotism, while not voluntarily enlisting himself.</example>
                <example>Rural communities face a new opportunity and challenge to prosper in this new world.</example>
                <example>On 30 June 2009, he was proposed for inclusion in the Birmingham Walk of Stars, with the public invited to vote.</example>
                <example>Let them force to work, and if this avails nothing, we will be compelled to expel them like dogs in order not to expose ourselves to incurring divine wrath and eternal damnation from the Jews and their lies."</example>
                <example>... the customer is typically more reasonable and easier to work with than the consultants they hire to work with us.</example>
            </rule>
            <rule default="off">
                <pattern>
                    <token postag="SENT_START" skip="-1"><exception inflected="yes" postag="V.*" postag_regexp="yes" scope="next">be</exception></token>
                    <token>allowed</token>
                    <marker>
                        <token>to</token>
                        <token postag="VB" chunk_re=".-VP">
                            <exception regexp="yes" inflected="yes">&uncommon_verbs;</exception>
                            <exception>live</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="4" postag="VBG"/></suggestion>? Or maybe you should add a pronoun? In active voice, 'allow' + 'to' takes an object, usually a pronoun.</message>
                <example correction="seeing">It allowed <marker>to see</marker> better.</example>
                <example>It allows <marker>seeing</marker> better.</example>
                <example>He was allowed to build an ambitious garden.</example>
                <example>He was eventually allowed to go to Tehran near the end of 1838-39.</example>
                <example>... II of Prussia limited the number of Jews allowed to live in Breslau to only ten so-called "protected" ...</example>
            </rule>
            <rule>  <!-- be required -->
                <antipattern>
                    <token regexp="yes" skip="2">this|that|these|those</token>
                    <token postag="MD" />
                    <token>require</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <marker>
                        <token>require</token>
                    </marker>
                    <token>to</token>
                    <token postag="VB" />
                    <token chunk_re="B-PP|B-SBAR" />
                </pattern>
                <message>Did you mean to write 'be required'?</message>
                <suggestion>be required</suggestion>
                <example correction="be required">We may <marker>require</marker> to draw upon the guarantees given to us by the Indian financial institutions.</example>
                <example correction="be required">As a first step towards examining the financial data, GAIL will <marker>require</marker> to enter into a confidentiality clause agreement with the present project sponsors to access the data.</example>
                <example correction="be required">Minna could produce and maintain such a report, but I would <marker>require</marker> to justify that this is a worthwhile allocation of her resource.</example>
                <example>This most likely will require to go into enemy territory - Facebook, Twitter, Instagram.</example>
                <example>Third, with respect to the balance of capacity that you may require to meet your primary point obligations, (a) There will be no citygate allocation requirements for this winter, except for the 25% limitation on Texas Eastern.</example>
            </rule>
            <rule>  <!-- be allowed -->
                <pattern>
                    <token inflected="yes">will</token>
                    <token inflected="yes">not</token>
                    <marker>
                        <token>allowed</token>
                    </marker>
                    <token>to</token>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean to use the past tense form 'allowed'?</message>
                <suggestion>be allowed</suggestion>
                <example correction="be allowed">You won't <marker>allowed</marker> to do that anywhere.</example>
                <example correction="be allowed">However, if a woman becomes widowed, she will not <marker>allowed</marker> to be sealed to another man.</example>
            </rule>
        </rulegroup>

        <rulegroup id="AFFORD_VBG" name="'afford', 'choose', 'deserve', 'pretend', 'learn', 'strive', 'want' and 'struggle' used with gerund instead of infinitive">
            <antipattern>
                <token>depending</token>
                <token>on</token>
            </antipattern>
            <antipattern><!-- a type of exercise -->
                <token>walking</token>
                <token>lunges</token>
            </antipattern>
            <antipattern><!-- the "making of" -->
                <token>making</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>nursing</token>
                <token regexp="yes">homes?|process|partnerships?|acts?|councils?|times?|diagnosis|mothers?|m[uo]ms?</token>
            </antipattern>
            <antipattern>
                <token>programming</token>
                <token regexp="yes">languages?</token>
            </antipattern>
            <antipattern><!-- choose meeting locations, trading skills -->
                <token regexp="yes">meeting|programming|trading</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>cooking</token>
                <token regexp="yes">lessons?|courses?|channels?|compan(y|ies)|m[uo]ms?|studios?|videos?|fever|games?|shows?|recipes?|e?\-?books?</token>
            </antipattern>
            <antipattern>
                <token postag="VBG"/>
                <token postag="RB" min="1" max="2" /><!-- once again -->
                <token regexp="yes">\p{P}</token>
            </antipattern>
            <antipattern>
                <token postag="VBG"/>
                <token regexp="yes">\p{P}</token>
            </antipattern>
            <antipattern><!-- batting technique, polling system, monitoring systems, billing services, towing company -->
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">techniques?|systems?|things?|services?|compan(y|ies)|status|date|skills?|producs?|technolog(y|ies)|tool(s)?</token>
            </antipattern>
            <antipattern><!-- interesting things, batting technique, polling system, billing services -->
                <token postag="VBG" skip="1" />
                <token regexp="yes" skip="1">and|or|&amp;</token>
                <token regexp="yes">techniques|system|things|services|companies|status|date|skills|products?|technologies|tools</token>
            </antipattern>
            <antipattern><!-- "choose logging and profiling", "choose subtitling over dubbing" -->
                <token postag="VBG" skip="1" />
                <token regexp="yes">and|or|&amp;|over</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- "I can accomplish what I want using ..." -->
                <token postag="VB.*" postag_regexp="yes" skip="2" />
                <token postag="WP" skip="3" />
                <token inflected="yes" regexp="yes">afford|choose|deserve|pretend|strive|struggle|learn|want</token>
            </antipattern>
            <antipattern><!-- "Please create the products our users want using ..." -->
                <token />
                <token />
                <token postag="VB.*" postag_regexp="yes" skip="7" />
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">afford|choose|deserve|pretend|strive|struggle|learn|want</token>
            </antipattern>
            <antipattern><!-- "Please create the products you want using ..." -->
                <token />
                <token />
                <token postag="VB.*" postag_regexp="yes" skip="7" />
                <token regexp="yes">you|we|they|s?he|I|it</token>
                <token postag="RB" min="0" />
                <token inflected="yes" regexp="yes">afford|choose|deserve|pretend|strive|struggle|learn|want</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">afford|choose|deserve|pretend|strive|struggle|learn|want</token>
                <token postag="SENT_END" />
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ" min="0" />
                    <token>struggle</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern>
                    <token>machine</token>
                    <token>learning</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">choose|learn</token>
                    <token regexp="yes">meeting|engineering|reporting</token>
                </antipattern>
                <antipattern><!-- nouns of things that you can "learn" -->
                    <token inflected="yes">learn</token>
                    <token regexp="yes">programming|cooking|trading</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">
                        afford|choose|deserve|pretend|strive|struggle|learn
                    </token>
                    <marker>
                        <token postag="VBG">
                            <exception case_sensitive="yes" postag="NN.*" postag_regexp="yes" regexp="yes">[A-Z].+</exception><!-- uppercase nouns -->
                            <exception postag="IN" /><!-- "including", "regarding" -->
                            <exception postag="JJ" /><!-- "amazing", "interesting", "existing", "corresponding" -->
                        </token>
                    </marker>
                </pattern>
                <message>If '\1' is used as a verb, it usually requires the infinitive.</message>
                <suggestion>to <match no="2" postag="VB"/></suggestion>
                <short>Grammatical problem: use the infinitive</short>
                <example correction="to spend">We cannot afford <marker>spending</marker> the whole month in the Alps.</example>
                <example correction="to buy">Also my name is not Tom Cruise, I can’t afford <marker>buying</marker> gems.</example>
                <example>We cannot afford <marker>to spend</marker> the whole month in the Alps.</example>
                <example>He didn't deserve to lose his job.</example>
                <example>This book deserves preserving.</example>
                <example>Please help them choose nursing homes.</example>
                <example>I learn interesting things.</example>
                <example>There is a struggle going on in the cabinet.</example>
                <example>He chose engineering because he did not want to be an academic like his father.</example>
                <example>Recognizing that market participants are located in various geographical locations, we tried to be sensitive to that and choose meeting locations accordingly.</example>
                <example>Customers can choose billing and metering services from their ESP.</example>
                <example>Does every boy have to learn cooking in your school?</example>
                <example>Choose binding: 34</example>
                <example>Please do the things you learned using your own skills.</example>
                <example>Machine learning using finite-state algorithms</example>
                <example>My goal is ultimately to get this working, but also learn programming at the same time.</example>
                <example>I really struggle being alone.</example><!-- FN or FP? -->
                <example>My goals for this challenge are to stick to the program I choose including rest days and deloads and see where that puts me.</example>
                <example>If he/she called her/his chosen towing company, he/she could get the car without having to pay Sears one red cent.</example>
                <example>To enable debug logging, go to the Bitbucket Server administration area and choose Logging and Profiling.</example>
                <example correction="to add">Creating a macro for the duplication is easy, but I am struggling <marker>adding</marker> the sequential numbering.</example>
                <example>When airing films on television, channels in the UK often choose <marker>subtitling</marker> over dubbing, even if a dubbing in English exists.</example>
            </rule>
            <rule><!-- want + VBG -->
                <antipattern>
                    <token postag="VBG"/>
                    <token>of</token>
                    <token>course</token>
                    <token regexp="yes">\p{P}</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">want</token>
                    <marker>
                        <token postag="VBG">
                            <exception postag="JJ.*|NN.*|IN" postag_regexp="yes" />
                            <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                            <exception>pricing</exception><!-- used like a noun (but isn't one) -->
                        </token>
                    </marker>
                    <token />
                </pattern>
                <message>If '\1' is used as a verb, it usually requires the infinitive.</message>
                <suggestion>to <match no="2" postag="VB"/></suggestion>
                <url>https://www.grammaring.com/to-infinitive-or-gerund-need-require-want</url>
                <short>Grammatical problem: use the infinitive</short>
                <example correction="to hope">We don't want <marker>hoping</marker> for the deal.</example>
                <example correction="to create">Maybe you want <marker>creating</marker> an Issue here.</example>
                <example correction="to seek">To me that is feature rich and could not be the only want <marker>seeking</marker> out such capabilities.</example>
                <example correction="to duplicate">I want all the settings to be exactly the same for both and don’t want <marker>duplicating</marker> things.</example>
                <example correction="to authorize">McCain wrote that while he supports the legislation, he does not want <marker>authorizing</marker> provisions in the final appropriations bill.</example>
                <example>I’m thinking that I might be misguided in trying to get it to work with the new app and that I can accomplish what I want using only the classic app.</example>
                <example>We would want Clearing broker to pay executing broker.</example>
                <example>Tom isn't the kind of person I want dating my daughter.</example>
                <example>Just temporarily change the DTH for the device to the tweaker, make the changes you want including setting association groups, then change back to your everyday DTH.</example>
                <example>A thimble can be very useful for sewing, if you don't want bleeding fingers.</example>
                <example>The belt wants replacing also.</example>
            </rule>
            <rule><!-- want + VBG + the/an -->
                <pattern>
                    <token inflected="yes">want</token>
                    <marker>
                        <token postag="VBG">
                            <exception postag="IN" />
                        </token>
                    </marker>
                    <token regexp="yes">the|an?|my|y?our|his|her|its|their|this|many|any|some|these|those</token>
                </pattern>
                <message>If '\1' is used as a verb, it usually requires the infinitive.</message>
                <suggestion>to <match no="2" postag="VB"/></suggestion>
                <url>https://www.grammaring.com/to-infinitive-or-gerund-need-require-want</url>
                <short>Grammatical problem: use the infinitive</short>
                <example correction="to create">Maybe you want <marker>creating</marker> an Issue here.</example>
                <example>I'm not the guy you want making this decision.</example>
                <example>I think I’ll be able to accomplish what I want using the PageView event.</example>
                <example correction="to turn">They want <marker>turning</marker> the switch off at the wall to cut current at the light fixture on the ceiling.</example>
                <example>Please create the products you want using the location "West Wing 500" in Product Manager.</example>
                <example>Glad to know that you are able to collect the metrics that you wanted using our latest java agent.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">afford|choose|deserve|pretend|strive|struggle|learn</token>
                    <token>not</token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>If '\1' is used as a verb, it usually requires the infinitive.</message>
                <suggestion>to <match no="3" postag="VB"/></suggestion>
                <short>Grammatical problem: use the infinitive</short>
                <example correction="to spend">We cannot afford not <marker>spending</marker> the whole month in the Alps.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ADMIT_ENJOY_VB" name="'admit', 'appreciate', 'avoid', 'enjoy' etc. with a base form of a verb">
            <url>https://www.ef.com/english-resources/english-grammar/gerund-equals-infinitive/</url>
            <antipattern>
                <token>'s</token>
                <token />
                <token>to</token>
                <token postag="VB" />
            </antipattern>
            <rule>
                <antipattern><!-- https://community.languagetool.org/rule/show/ADMIT_ENJOY_VB?lang=en-GB&ref=standalone-gui -->
                    <token chunk="B-NP-singular" postag="WP"/>
                    <token min="0" max="3" chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                    <token postag="MD"/>
                    <token postag="PRP"/>
                    <token postag="VBP"/>
                    <token>to</token>
                    <token postag="VB"/>
                </antipattern>
                <antipattern><!-- it is strongly suggested to revise your code -->
                    <token inflected="yes" postag="VB[DZN]?" postag_regexp="yes">be</token>
                    <token min="0" max="-1" chunk="I-VP"><exception>suggested</exception></token>
                    <token>suggested</token>
                    <token>to</token>
                    <token postag="VB"/>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" postag="VB.*" postag_regexp="yes" chunk_re=".-VP">a(dmit|ppreciate|void)|delay|practice|risk|deny|discuss|imagine|suggest|dislike|keep|tolerate|enjoy|mi(nd|ss)|re(commend|s(ent|ist))|finish|postpone<exception scope="previous" regexp="yes" inflected="yes">of|be</exception></token>
                    <token>to</token>
                    <token postag="VB">
                        <exception postag="NN:UN?" postag_regexp="yes"/>
                        <exception>please</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>The verb '\1' is used with the gerund form.</message>
                <suggestion><match no="1"/> <match no="3" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="enjoy running">I <marker>enjoy to run</marker>.</example>
                <example correction="recommended gaining">My teachers <marker>recommended to gain</marker> a better understanding of statistics.</example>
                <example correction="recommend gaining">Would you <marker>recommend to gain</marker> a better understanding of statistics?</example>
                <example>I <marker>enjoy running</marker>.</example>
                <example>Before we proceed, I recommend to please take a full backup of your database.</example>
                <example>A three-man committee has recommended to Commission Chairman Charles O. Emmerich...</example>
                <example>Although Peter also seems happy on the surface, he admits to <marker>Ken</marker> that he isn't sure they are ready.</example>
                <example>Which scientific literature would you recommend to gain a better understanding of the subject matter?</example>
                <example>... where child labor is a common practice to obtain the product.</example><!-- #3236 -->
                <example>I have a great mind to do that myself.</example><!-- #3236 -->
                <example>I have a good mind to visit the Silk Road.</example><!-- #3236 -->
                <example>The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents.</example><!-- #3236 -->
                <example>I have a good mind to visit the Silk Road.</example><!-- #3236 -->
                <example>Bettis sat out Wednesday's practice to allow a minor knee injury to heal.</example>
                <example>The official expressed concern over the Union Government's delay to nominate a representative for the negotiation process.</example>
                <example>However, it was still a common practice to have single sponsor shows, such as The United States Steel Hour.</example><!-- #3236 -->
                <example>... there are employees with feelings and a good mind to think things through and feel you are justified in accepting...</example><!-- #3236 -->
                <example>... sitting on their hands, using the time delay to protect existing positions, while whipping up State regulators' fears of jurisdictional shift.</example><!-- #3236 -->
                <example>... and it became a common practice to construct prestige buildings from the new industrial bricks.</example><!-- #3236 -->
                <example>Rick, I suggested to Bill that he come in early/mid October.</example>
                <example>It is strongly suggested to revise your code.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" postag="VB.*" postag_regexp="yes">regret</token>
                    <token>to</token>
                    <token postag="VB" chunk_re=".-VP">
                        <exception postag="NN:UN?" postag_regexp="yes"/><exception regexp="yes">say|inform|tell|announce|state|learn|report|note|hear|mention|advise</exception>
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>The verb '\1' is used with the gerund form.</message>
                <suggestion><match no="1"/> <match no="3" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="regret reading">I <marker>regret to read</marker> this book.</example>
                <example>I <marker>regret reading</marker> this book.</example>
                <example>I regret saying this.</example>
                <example>Dear Madam, I regret to say that you are dead.</example>
            </rule>
            <rule>
                <antipattern><!-- is usually understood -->
                    <token inflected="yes">be</token>
                    <token postag="RB"/>
                    <token>understood</token>
                </antipattern>
                <antipattern><!-- #2060. I want to look up reports to see if -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" postag="VB.*" regexp="yes" postag_regexp="yes">consider|report|understand<exception scope="previous" regexp="yes" inflected="yes">be|,|war</exception></token>
                    <token>to</token>
                    <token postag="VB" chunk_re=".-VP">
                        <exception postag="NN:UN?" postag_regexp="yes"/>
                        <exception regexp="yes">be|have|include|&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>The verb '\1' is used with the gerund form.</message>
                <suggestion><match no="1"/> <match no="3" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="consider running">I <marker>consider to run</marker> my favourite sport.</example>
                <example>I <marker>consider running</marker> my favourite sport.</example>
                <example>They were a vagabond lot and considered to be shady and undesirable characters.</example>
                <example>The lethal dose for adult zebrafish has been reported to be as high as 40 Gy.</example>
                <example>"Anthropology" is from the Greek anthrōpos, "man", understood to mean humankind or humanity, and -logia (-λογία).</example>
                <example>She had to master war reporting to understand the suffering.</example>
                <example>"Amsterdam" <marker>is usually understood</marker> to refer to the municipality of Amsterdam.</example>
                <example>I want to look up reports to see if the numbers increased.</example><!--  #2060 -->
                <example>Check your credit report to identify errors that could hurt your chances.</example><!-- #3236 -->
                <example>Or double-click on the title of the expense report to preview the details.</example><!-- #3236 -->
                <example>Michelle, Currently when Tindall &amp; Foster are completing the forms they use our annual report to complete these.</example><!-- #3236 -->
                <example>Amy knows how to run the macro report to insure all deals have been flipped out.</example><!-- #3236 -->
                <example>Early predictions are for the AGA report to show a build around 84 billion cubic feet up to 94 Bcf.</example><!-- #3236 -->
                <example>I'm talking to Dave about Hughes reporting to Sally.</example>
                <example>Wagner's Report FERC will use Wagner's report to calculate the size of any refunds.</example>
                <example>Hala will report to Peter Redpath until such time as a head of Supply Side Management is appointed.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|get</token>
                    <marker>
                        <token>accustomed</token>
                        <token>to</token>
                        <token postag="VB" chunk_re=".-VP">
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with the gerund form.</message>
                <suggestion><match no="2"/> <match no="3"/> <match no="4" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="accustomed to running">I am <marker>accustomed to run</marker>.</example>
                <example>I am <marker>accustomed to running</marker>.</example>
                <example>I am accustomed to hearing nonsense.</example>
            </rule>
            <rule>
                <antipattern><!-- *Probably* passive voice -->
                    <token>they</token>
                    <token regexp="yes">are|were</token>
                    <token>used</token>
                    <token>to</token>
                    <token postag="VB"/>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|s?he|we|they</token>
                    <token inflected="yes" regexp="yes">be|get</token>
                    <marker>
                        <token>used</token>
                        <token>to</token>
                        <token postag="VB" chunk_re=".-VP"/>
                    </marker>
                </pattern>
                <message>In the grammatical structure 'pronoun + be/get + used + to + verb', the verb '\3' is used with the gerund.</message>
                <suggestion><match no="3"/> <match no="4"/> <match no="5" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="used to running">I am <marker>used to run</marker>. I run every day for 30 minutes.</example>
                <example correction="used to running">They are <marker>used to run</marker> in the rain; they live in Manchester.</example>
                <example correction="used to testing">We are <marker>used to test</marker> the rules.</example><!-- Ambiguous. Possible passive voice. (Other people are used by the organization to write the rules.) -->
                <example>I <marker>used to run</marker> every day, but I hurt my knee. Now, I cannot run.</example>
                <example>I am <marker>used to running</marker>.</example>
                <example>I used to enjoy running.</example>
                <example>When used with the infinitive, however, these verbs can be used to speak about something that hasn't happened yet.</example>
                <example>... of comic drama known as Old Comedy, and they are used to define the genre.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|s?he|we|they</token>
                    <token regexp="yes">'s|'m|'re</token>
                    <marker>
                        <token>used</token>
                        <token>to</token>
                        <token postag="VB" chunk_re=".-VP"/>
                    </marker>
                </pattern>
                <message>In the grammatical structure 'pronoun + be/get + used + to + verb', the verb '\3' is used with the gerund.</message>
                <suggestion><match no="3"/> <match no="4"/> <match no="5" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="used to running">I'm <marker>used to run</marker>. I run every day for 30 minutes.</example>
                <example>I <marker>used to run</marker> every day, but I hurt my knee. Now, I cannot run.</example>
                <example>I used to enjoy running.</example>
                <example>When used with the infinitive, however, these verbs can be used to speak about something that hasn't happened yet.</example>
            </rule>
            <rule>
                <antipattern><!-- looking forward to summer vacation. -->
                     <token>to</token>
                     <token chunk="B-NP-singular"/>
                </antipattern>
                <pattern>
                    <token inflected="yes">look</token>
                    <token>forward</token>
                    <marker>
                        <token>to</token>
                        <token postag="VB" chunk_re=".-VP">
                            <exception postag="NN(P|:UN?)" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>In the grammatical structure 'look + forward + to + verb', the verb '\3' is used with the gerund.</message>
                <suggestion><match no="3"/> <match no="4" postag="VBG"/></suggestion>
                <short>Grammatical problem: use 'ing'</short>
                <example correction="to seeing">I look forward <marker>to see</marker> you.</example>
                <example>I look forward <marker>to seeing</marker> you.</example>
                <example>But he was looking forward to snow.</example>
                <example>My daughter is looking forward to <marker>Christmas</marker>.</example>
                <example>The students were all looking forward to <marker>summer vacation</marker>.</example><!-- A noun in this context. 'The summer vacation' is usual in BrE -->
            </rule>
        </rulegroup>

        <rulegroup id="ADVISE_VBG" name="'advise', 'help' and 'remind' used with gerund instead of infinitive">
            <url>https://learningenglish.voanews.com/a/everyday-grammar-gerunds-infinitives/2722827.html</url>
            <short>Grammatical problem</short>
            <antipattern>
                <token regexp="yes">could|ca|can</token>
                <token regexp="yes">n't|not</token>
                <token>help</token>
                <token postag="PRP" min="0"/>
                <token postag="VBG"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">cannot|cant</token><!-- "cant" is a common misspelling of "can't" -->
                <token>help</token>
                <token postag="PRP" min="0"/>
                <token postag="VBG"/>
            </antipattern>
            <rule>
                <antipattern><!-- Adjective in this context: www.lexico.com/definition/nursing -->
                    <token>nursing</token>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern><!-- reminded running technicians to -->
                    <token inflected="yes">remind</token>
                    <token postag_regexp="yes" postag="JJR?|VBG"/>
                    <token postag="NNS"/>
                    <token postag="IN"/>
                </antipattern>
                <antipattern><!-- reminded teaching staff about -->
                    <token inflected="yes">remind</token>
                    <token postag_regexp="yes" postag="JJR?|VBG"/>
                    <token regexp="yes">&collective_nouns;</token>
                    <token postag="IN"/>
                </antipattern>
                <pattern>
                    <token>
                        <exception inflected="yes">be</exception>
                        </token>
                    <token inflected="yes">remind</token>
                    <token min="0" max="1">not</token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>In the active voice, the verb '\2' requires an object (usually a pronoun) and an infinitive.</message>
                <example correction="">He reminded <marker>staying</marker> calm.</example>
                <example correction="">The manager sometimes reminds <marker>using</marker> good examples.</example>
                <example correction="">The janitor reminded <marker>opening</marker> windows is not permitted without approval from the manager.</example>
                <example correction="">He reminded not <marker>staying</marker> calm is counterproductive.</example>
                <example>He reminded <marker>them to stay</marker> calm.</example>
                <example>He advised <marker>staying</marker> calm.</example><!-- #2497 -->
                <example>He was reminded to stay calm.</example>
                <example>The A.A.P. advises nursing women to wait.</example>
                <example>He reminded nursing staff of their responsibilities.</example>
                <example>The manager sometimes reminds the technical writers to use good examples.</example>
                <example>The manager reminded running technicians to WALK.</example>
                <example>The headmaster reminded running boys of the possibility of falling down the stairs.</example>
                <example>The headmaster reminded teaching staff about the forthcoming event.</example>
                <example>He reminded <marker>the team that not staying</marker> calm is counterproductive.</example>
                <example>He advised not <marker>staying</marker> in that hotel.</example>
            </rule>
            <rule>
                <antipattern><!-- reminded them staying calm was a good tactic -->
                    <token postag="PRP"/>
                    <token min="0" max="1">not</token>
                    <token skip="-1" postag="VBG"/>
                    <token chunk="B-VP" postag_regexp="yes" postag="VB.|MD"/>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">advise|remind</token><!-- 2020-02-24 MFU: Many other verbs could go here -->
                    <token postag="PRP"/>
                    <token min="0" max="1">not</token>
                    <marker>
                        <token skip="-1" postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with an infinitive.</message>
                <suggestion>to <match no="4" postag="VB"/></suggestion>
                <example correction="to stay">He advised us <marker>staying</marker> calm.</example>
                <example correction="to stay">She usually reminds them <marker>staying</marker> very calm.</example>
                <example correction="to stay">He advised us not <marker>staying</marker> in the danger area.</example>
                <example>He advised us <marker>to stay</marker> calm.</example>
                <example>He helped us to get on the bus.</example>
                <example>He reminded them staying calm was a good tactic in negotiations.</example>
                <example>She reminded them staying calm and collected would help to defuse the tension.</example>
                <example>He advised us not staying calm was probably a bad idea.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>could</token>
                    <token>not</token>
                    <token>help</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>developing</token>
                    <token>countries</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">ask|beg</token>
                    <token>for</token>
                    <token>help</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">want|request|need</token>
                    <token>help</token>
                </antipattern>
                <antipattern><!-- any help solving -->
                    <token chunk="E-NP-singular">help</token>
                    <token chunk="B-VP" postag="VBG"/>
                </antipattern>
                <pattern>
                    <token inflected="yes">help</token>
                    <marker>
                        <token postag="VBG">
                            <exception postag='NN:U|IN' postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with an infinitive.</message>
                <suggestion>to <match no="2" postag="VB"/></suggestion>
                <suggestion><match no="2" postag="VB"/></suggestion>
                <example>But she could not help thinking there must be more to come.</example>
                <example>Also because when you're interested in something then it helps learning because you're familiar with it.</example>
                <example correction="to carry|carry">All he did was to help <marker>carrying</marker> the bags.</example>
                <example correction="to carry|carry">He helped <marker>carrying</marker> the bags.</example>
                <example>Do you need any help regarding the account?</example>
                <example>Mr. Kushner’s team referred him to the White House task force and Mr. Mignone asked for help getting India to ease export restrictions.</example>
                <example>It's a known issue, any help solving this is welcome.</example>
                <example>I can't help wondering why Tom changed my mind.</example>
            </rule>
            <rule>
                <!-- FIXME: 'cannot help but not like' is one negation too many -->
                <pattern>
                    <token postag="SENT_START"/>
                    <token><exception>cannot</exception></token>
                    <token inflected="yes">help</token>
                    <token>not</token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with an infinitive.</message>
                <suggestion>to <match no="5" postag="VB"/></suggestion>
                <example correction="to buy">He helped not <marker>buying</marker> some crap.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">help</token>
                    <token>not</token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with an infinitive.</message>
                <suggestion>to <match no="3" postag="VB"/></suggestion>
                <example correction="to carry">All he did was to help not <marker>carrying</marker> the bags.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token><exception>cannot</exception></token>
                    <token inflected="yes">help</token>
                    <token postag="PRP"/>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\3' is used with an infinitive.</message>
                <suggestion>to <match no="5" postag="VB"/></suggestion>
                <suggestion><match no="5" postag="VB"/></suggestion>
                <example correction="to get|get">He helped us <marker>getting</marker> on the bus.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">help</token>
                    <token postag="PRP"/>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with an infinitive.</message>
                <suggestion>to <match no="3" postag="VB"/></suggestion>
                <suggestion><match no="3" postag="VB"/></suggestion>
                <example correction="to get|get">All he did was to help us <marker>getting</marker> on the bus.</example>
                <example>I can't help it worrying about Sami.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token><exception>cannot</exception></token>
                    <token inflected="yes">help</token>
                    <token postag="PRP"/>
                    <token>not</token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\3' is used with an infinitive.</message>
                <suggestion>to <match no="6" postag="VB"/></suggestion>
                <example correction="to stay">He helped us not <marker>staying</marker> calm.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">help</token>
                    <token postag="PRP"/>
                    <token>not</token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>The verb '\1' is used with an infinitive.</message>
                <suggestion>to <match no="4" postag="VB"/></suggestion>
                <example correction="to stay">All he did was to help us not <marker>staying</marker> calm.</example>
            </rule>
        </rulegroup>

        <rulegroup id="PROGRESSIVE_VERBS" name="Progressive forms of non-progressive verbs (doubt, believe, understand)"><!-- Refer to #3432 -->
            <url>https://learnenglish.britishcouncil.org/en/intermediate-grammar/stative-verbs</url>
            <short>Possible grammar problem: ~ing with a stative verb</short>
            <rule>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>been</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- https://dictionary.cambridge.org/dictionary/english/seeing-is-believing -->
                    <token>seeing</token>
                    <token>is</token>
                    <token>believing</token>
                </antipattern>
                <antipattern><!-- www.collinsdictionary.com/dictionary/english/seeing-hearing-things -->
                    <token inflected="yes">be</token>
                    <token min="0" max="1" postag="RB"/>
                    <token>hearing</token>
                    <token regexp="yes">things|voices</token>
                    <token>
                        <exception postag="DT" regexp="yes">(?!any$).+</exception><!-- for adverbial 'any more' -->
                        </token>
                </antipattern>
                <antipattern><!-- "it is especially concerning that ..." -->
                    <token>it</token>
                    <token regexp="yes">'s|is|was</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ" />
                </antipattern>
                <antipattern>
                    <token>one</token>
                    <token>'s</token><!-- "s" is not necessarily a form of "be" here -->
                </antipattern>
                <antipattern><!-- Verbs that are also adjectives and where the adjective can be used as a complement: I am loving /LanguageTool is pleasing to / books are pleasing to  -->
                    <token postag_regexp="yes" postag="NN.*|PRP"/>
                    <token regexp="yes">is|was|are|were</token>
                    <token min="0" max="1" postag="RB"/>
                    <token postag="JJ" regexp="yes">concerning|deserving|loving|pleasing|wanting|seeming</token><!-- ?? How to deal with the semantics of 'understanding'? Refer to the discussion in #3432 -->
                    <token postag_regexp="yes" postag="PCT|TO"/>
                </antipattern>
                <antipattern><!-- that's concerning, -->
                    <token>'s</token>
                    <token min="0" max="1" postag="RB"/>
                    <token postag="JJ" regexp="yes">concerning|deserving|loving|pleasing|wanting|seeming</token>
                    <token postag_regexp="yes" postag="PCT|TO"/>
                </antipattern>
                <antipattern><!-- are hearing aids -->
                    <token regexp="yes">are|were</token>
                    <token chunk="B-NP-plural" postag="JJ"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- are very doubting people -->
                    <token regexp="yes">are|were</token>
                    <token chunk="B-NP-plural" postag="RB"/>
                    <token chunk="I-NP-plural" postag="JJ"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- , being wanting in -->
                    <token postag_regexp="yes" postag="PCT|CC"/>
                    <token>being</token>
                    <token>wanting</token>
                    <token regexp="yes">for|in|of</token><!-- Possibly also other prepositions -->
                </antipattern>
                <antipattern><!-- #3445 www.ldoceonline.com/dictionary/wanting -->
                    <token postag_regexp="yes" postag="NN.*|PRP|WP|WDT"/>
                    <token regexp="yes">is|was|are|were</token>
                    <token>wanting</token>
                    <token>in</token>
                </antipattern>
                <antipattern><!-- You'll (not) be hearing from -->
                    <token postag="MD"/>
                    <token min="0" max="1">not</token>
                    <token>be</token>
                    <token postag="VBG" regexp="yes">(?!remembering$).+</token>
                    <token postag_regexp="yes" postag="IN|DT|NN.*|WP">
                        <exception postag="VBG"/><!-- will be liking talking to -->
                        </token>
                </antipattern>
                <antipattern><!-- won't be needing the -->
                    <token regexp="yes">n't|not</token>
                    <token>be</token>
                    <token postag="VBG" regexp="yes">(?!remembering$).+</token>
                    <token postag_regexp="yes" postag="IN|DT|NNS|PRP\$"/>
                </antipattern>
                <antipattern><!-- Tom's been meaning to -->
                    <token>'s</token>
                    <token>been</token>
                    <token postag="VBG" regexp="yes">(?!remembering$).+</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- www.ldoceonline.com/dictionary/be-deserving-of-something -->
                    <token inflected="yes">be</token>
                    <token>deserving</token>
                    <token>of</token>
                </antipattern>
                <antipattern><!-- Still too many FPs even with above APs e.g. in order to be pleasing -->
                    <token regexp="yes">'s|is|was|be</token>
                    <token postag="RB" min="0" />
                    <token postag="VBG" />
                </antipattern>
                <antipattern><!-- How is meaning conveyed if the sign is arbitrary? -->
                    <token regexp="yes">is|was</token>
                    <token>meaning</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token min="0" max="1" postag="RB"><exception>always</exception></token><!-- https://www.phrasemix.com/phrases/someone-is-always-doing-something -->
                    <token inflected="yes" postag="VBG" regexp="yes">know|dislike|prefer|suppose|s(eem|mell)|taste|impress|mean|please|belong|con(sist|tain)|de(pend|serve)|involve|matter|own</token>
                </pattern>
                <message>The verb '<match no="3" postag_regexp="yes" postag="VBG" postag_replace="VB"/>' can be stative. If '\3' describes a state, change the sentence structure and use the base form of the verb.</message>
                <example>I <marker>doubt</marker> these results.</example>
                <example correction="">Bring me another whisky, if you <marker>are pleasing</marker>.</example>
                <example correction="">These eggs <marker>are smelling</marker> bad.</example>
                <example>He <marker>has been wanting</marker> very much to meet you.</example>
                <example>You are not listening. I <marker>have been agreeing</marker> with you for the past 10 minutes.</example>
                <example>I <marker>had been depending</marker> on having the test results by 17:00 today.</example>
                <example>The Tigers <marker>have been deserving</marker> winners of the title.</example>
                <example>Tom was really deserving.</example>
                <example>I <marker>have been hearing</marker> good things about you.</example>
                <example>This <marker>is promising</marker>!</example>
                <example>It is especially concerning that nobody cares.</example>
                <example>That's concerning, to be honest.</example>
                <example>You must <marker>be hearing things</marker> again. There's nobody in the other room.</example>
                <example>You <marker>are always doubting</marker> my word.</example>
                <example>How long have you been hearing voices?</example>
                <example>I was hearing voices and someone came in and tried to kill me.</example><!-- This is ambiguous. If it refers to reality, then it should be "I heard voices..." -->
                <example>This could be why I'm not hearing voices any more.</example>
                <example>She was always hearing things.</example>
                <example>John was always hearing things and so I ignored him when he told me about the voices in the kitchen.</example>
                <example>Although my cat is very <marker>loving</marker>, she sometimes scratches me.</example>
                <example>He is very <marker>loving</marker>.</example>
                <example>LanguageTool is pleasing to use.</example><!-- #3445 -->
                <example>This analysis is most pleasing.</example>
                <example>Books are pleasing to read.</example>
                <example>This is incredibly satisfying.</example>
                <example>They are very doubting people.</example>
                <example>These are hearing aids.</example>
                <example>She gave me a knowing smile.</example>
                <example>She gave Gabriel a meaning look.</example><!-- Unusual but possible according to www.lexico.com/definition/meaning -->
                <example>These seeming contradictions will be resolved.</example>
                <example>These are smelling salts, don't you know?</example>
                <example>Mandibles are wanting in many of these insects.</example><!--  #3445 -->
                <example>His playing, aside from its intellectual element, satisfied me less, being wanting in clarity and precision.</example>
                <example>The text is wanting in clarity.</example>
                <example>He is wanting in courage.</example>
                <example>It is justice, not charity, that is wanting in the world.</example>
                <example>Their aesthetics are not to everyone’s liking.</example><!-- #2277 -->
                <example>You'll be hearing from us soon.</example>
                <example>You will not be hearing from them for a long time.</example>
                <example>We will be needing that number also.</example>
                <example>Looks like we'll be needing dinner and sleeping bags, along with breakfast and lunch.</example>
                <example>She could hear him start to stir, and knew that he would be wanting some action.</example>
                <example>That should be pleasing to anyone.</example>
                <example>They won't be needing the ROA to the pipeline.</example>
                <example>They won't be needing that.</example>
                <example>The U.S. Supreme Court won't be hearing cases in its historic chambers.</example>
                <example>I have a feeling I won't be hearing from him.</example>
                <example>Tell Tom I won't be needing his help.</example>
                <example>Tom's been meaning to clean out his badly cluttered garage for years.</example>
                <example>Tom now has enough money to buy the guitar he's been wanting to buy.</example>
                <example>The Fields of Punishment were for people that had sinned often, but not so much as to be deserving of Tartarus.</example><!--  #3445 -->
                <example>More of them should be needing what has been developed at Enron.</example>
            </rule>
            <rule>
                <antipattern><!-- #3432 lacking in: www.ldoceonline.com/dictionary/lack, ~/lacking -->
                    <token>lacking</token>
                    <token>in</token>
                </antipattern>
                <antipattern><!-- #3432 am really astonishing the crowds -->
                    <token>am</token>
                    <token min="0" max="1" postag="RB"/>
                    <token regexp="yes">astonishing|surprising|fitting</token><!-- Not 'lacking' -->
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <antipattern><!-- #3432 am fitting the cover -->
                    <token>am</token>
                    <token min="0" max="1" postag="RB"/>
                    <token regexp="yes">astonishing|surprising|fitting</token><!-- Not 'lacking' -->
                    <token chunk="B-NP-singular"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token>am</token>
                        <token min="0" max="1" postag="RB"/>
                        <token postag="VBG" regexp="yes">astonishing|surprising|lacking|fitting</token>
                    </marker>
                    <token>
                        <exception postag="PCT"/><!-- #3432 -->
                        </token>
                </pattern>
                <message>The verb '<match no="3" postag_regexp="yes" postag="VBG" postag_replace="VB"/>' can be stative. If '\3' describes a state, change the sentence structure and use the base form of the verb.</message>
                <example correction="">I <marker>am unfortunately lacking</marker> the courage to act.</example>
                <example correction="">I have all the REST wrapper stuff done in c# but <marker>am lacking</marker> the all important group information.</example>
                <example correction="">I <marker>am lacking</marker> all three right now so it was a disastrous choice to pick that style.</example>
                <example correction="">The only data point I <marker>am lacking</marker> at this point relates to our East Power slide.</example>
                <example correction="">I was able to secure a Duns# and Fed Tax ID, however, I <marker>am lacking</marker> Fax and bank account numbers.</example>
                <example correction="">The only thing that I <marker>am lacking</marker> is being able to control the Keypads.</example>
                <example correction="">I think that I <marker>am not fitting</marker> for this work.</example>
                <example>I <marker>unfortunately lack</marker> the courage to act.</example>
                <example>I think that I <marker>am not fit</marker> for this work.</example>
                <example>Don't you think I am astonishing?</example>
                <example>I think I am rather astonishing, even if you don't think I am.</example>
                <example>As I speak, I am astonishing the crowds with my daring trapeze act.</example>
                <example>Yes, I am surprising.</example>
                <example>I am surprising.</example>
                <example>I am often surprising, aren't 1? But, that's why you love me.</example>
                <example>I am not surprising; I am just an old bore.</example>
                <example>In this video, you can see that at the same time that I am fitting the cover to the unit, I am pushing the backplate towards...</example>
                <example>Next week, I am fitting sensors in the rear rooms of the house and in the hallway.</example>
                <example>I am also fitting AGA to an ARIMAX model.</example>
                <example>I am lacking in confidence.</example>
                <example>This is one genre I am sorely lacking in exposure to.</example>
                <example>I am equally lacking in skill in that arena.</example>
            </rule>
        </rulegroup>

        <rule id="IT_IS_DEPENDING_ON" name="it's depending on (it depends on)">
            <antipattern>
                <token skip="1">it</token>
                <token regexp="yes">not|n't</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>it<exception scope="previous" regexp="yes">that|if|whether</exception></token>
                    <token regexp="yes">is|'s</token>
                    <token min="0" postag="RB"/>
                    <token>depending</token>
                    <token>on</token>
                </marker>
                    <token><exception postag="PCT"/></token>
            </pattern>
            <message>In formal speech, it is preferable to avoid the progressive form in this case.</message>
            <suggestion>\1 \3 depends \5</suggestion>
            <example correction="it depends on">I don't know if we can go tomorrow, <marker>it is depending on</marker> the weather.</example>
            <example correction="It depends on"><marker>It's depending on</marker> her whether we can go ahead or not.</example>
            <example>We need to check whether it's depending on a constant supply of DC current.</example>
            <example>You can turn off any machine at any time, regardless which kind of current it is depending on.</example>
            <example correction="It really depends on"><marker>It's really depending on</marker> the weather, not on us.</example>
            <example>It's not depending on us.</example>
            <example>It isn't depending on us.</example>
            <example>It is not depending on us.</example>
        </rule>

        <rule id="INCORRECT_POSSESSIVE_APOSTROPHE" name="This weeks' (week's)">
            <pattern>
                <marker>
                    <token>this</token>
                    <token regexp="yes">weeks|week-?ends|months|years</token>
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                </marker>
                <token postag="JJ|NN.*|UNKNOWN" postag_regexp="yes" />
            </pattern>
            <message>The possessive apostrophe may be misplaced.</message>
            <suggestion>\1 <match no="2" regexp_match="(?i)s$" regexp_replace="" />\3s</suggestion>
            <example correction="This week's"><marker>This weeks'</marker> meeting was rescheduled.</example>
        </rule>

        <rulegroup id="THIS_NNS" name="'this' vs. 'these'">
            <rule>
                <antipattern><!-- different error, caught by DT_DT -->
                    <token>the</token>
                    <token>this</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token />
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                </antipattern>
                <pattern>
                    <token>this</token>
                    <token regexp="yes">
                        years|months|weeks|days|weekends|afternoons|mornings
                        <exception regexp="yes" scope="next">ago|now</exception>
                    </token>
                </pattern>
                <message>The possessive apostrophe may be missing.</message>
                <suggestion>\1 <match no="2" regexp_match="(?i)s" regexp_replace="'s" /></suggestion>
                <suggestion>these \2</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="This year's|These years"><marker>This years</marker> election will change everything.</example>
                <example correction="this week's|these weeks">And <marker>this weeks</marker> platform update is a relatively small.</example>
                <example>I suggested this years ago.</example>
                <example>Been working on this months now and am exasperated.</example>
            </rule>
            <rule>
                <antipattern><!-- this class will -->
                    <token>this</token>
                    <token chunk="E-NP-singular"/><!-- Disambiguation NN_are_NNS gives class/NNS -->
                    <token postag="MD"/>
                </antipattern>
                <antipattern><!-- www.collinsdictionary.com/dictionary/english/take-place-->
                    <token>this</token>
                    <token chunk="B-VP">takes</token>
                    <token>place</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token>this</token>
                    <token regexp="yes">centuries|years|months|weeks|days|hours|minutes|seconds|moments</token>
                    <token regexp="yes">ago|later|earlier</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token>means</token>
                    <token>do</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token postag="NNS" />
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk_re=".-NP.*" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token postag="NNS"><exception postag="VBZ|NN|NN:UN?|JJ.?|RB" postag_regexp="yes"/>
                        <exception regexp="yes">data|follows|affects|says|his</exception>
                        <exception case_sensitive="yes">DOS</exception>
                    </token>
                    <token><exception postag="NNP?|NN:.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The demonstrative '\1' may not agree with the plural noun '\2'. Did you mean <suggestion>these</suggestion>?</message>
                <short>Grammatical problem: use 'these'</short>
                <example correction="these">If <marker>this</marker> errors are easy to fix...</example><!-- Refer to THIS_NNS_VB -->
                <example>If <marker>these</marker> errors are easy to fix...</example>
                <example>This forms a sharp contract with...</example>
                <example>I cannot lift this stone.</example>
                <example>This fish is big.</example>
                <example>I will do this afterwards.</example>
                <example>I should have done this years ago.</example>
                <example>Something about this concerns me.</example>
                <example>This class will be over in ten minutes.</example>
                <example>This takes place on shale or tarmac tracks – usually a...</example>
                <example>Since this affects your judgement.</example>
                <example>This addresses most major concerns.</example><!-- #2334 -->
                <example>It is spreading to this floors' ceiling.</example><!-- different error -->
                <example>Add "short" between "product" and "description", unless this causes a problem.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">th[eo]se</token>
                        <token regexp="yes">informations?</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes"><exception postag="NNS"/></token>
                </pattern>
                <message>Did you mean <suggestion>this information</suggestion>? 'Information' is uncountable (except in certain legal meanings).</message>
                <example correction="this information">I am not sure how much of <marker>these information</marker> is provided by the company.</example>
                <example>The CAISO's Contracts group uses these information sheets to complete three original agreements for your signature.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>some</token>
                    <token>of</token>
                    <token regexp="yes">th[eo]se</token>
                </antipattern>
                <antipattern>
                    <token postag="CD"/>
                    <token>of</token>
                    <token regexp="yes">th[eo]se</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|&amp;|or</token>
                    <token/>
                    <token postag="NNP?S" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- These horror, comedy and mystery B-films were released by Monogram Pictures. -->
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token>,</token>
                    <token />
                    <token regexp="yes">and|&amp;|or</token>
                    <token/>
                    <token postag="NNP?S" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- these sandstone/mortar constructions -->
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token>/</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes" min="0" />
                    <token postag="NNS"/>
                </antipattern>
                <antipattern><!-- behavior of these electron "orbits" was  -->
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token postag="IN"/>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token regexp="yes">['‘"“]</token>
                    <token postag="NNS"/>
                    <token spacebefore="no" regexp="yes">['’"”]</token>
                    <token postag="VB[DZ]" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- These life changing events -->
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VB[DG]" postag_regexp="yes" />
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Premium #1795 These came for -->
                    <token regexp="yes">th[eo]se</token>
                    <token chunk="B-VP" postag="VBD"/>
                    <token postag="IN"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes" chunk="B-NP-plural">th[eo]se</token>
                    <token postag="NNP" />
                    <token>,</token>
                    <token postag="NNP" />
                    <token>,</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <token postag="NNP" />
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- Premium #1795 These came for -->
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="UNKNOWN" regexp="yes">.+s</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="NN(:.+)?" postag_regexp="yes" />
                    <token chunk_re="[EI]-NP-plural" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="VB[ZGNP]|NNP?S|JJ.*|MD|CD|RP|DT" postag_regexp="yes">
                        <exception regexp="yes">id|monkey|baby|company|machine</exception><!-- tagged as verb -->
                    </token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">if|when</token>
                    <token>all</token>
                    <token regexp="yes">th[oe]se</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">th[eo]se</token>
                        <token postag="NN(:.+)?" postag_regexp="yes">
                            <exception regexp="yes">are|can|yesterday|tomorrow|tonight|today|if|once|news</exception>
                            <exception postag="PRP.*" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>The plural demonstrative '\1' does not agree with the singular noun '\2'.</message>
                <suggestion>this <match no="2"/></suggestion>
                <suggestion suppress_misspelled="yes"><match no="1"/> <match no="2" postag="N.*" postag_regexp="yes" postag_replace="NNS" /></suggestion>
                <short>Grammatical problem: use 'this'</short>
                <example>These are errors.</example>
                <example correction="This kind|These kinds"><marker>These kind</marker> of errors are easy to fix.</example>
                <example correction="This error|These errors"><marker>These error</marker> are easy to fix.</example>
                <example correction="this day|these days">How is your life in America <marker>these day</marker>?</example>
                <example correction="this information">Thank you in advance for <marker>these information</marker>.</example>
                <example correction="this ID|these IDs|these ids">Thanks Also, who will be handling and could provide <marker>these ID</marker> for the further months.</example>
                <example>These <marker>people</marker> are amazing.</example>
                <example>What do you think about these <marker>two</marker>?</example>
                <example>Those standing were all men.</example>
                <example>I collected one of these yesterday.</example>
                <example>Then investigate these Christmas, Hanukkah, and Kwanzaa recipes.</example>
                <example>Decorative motifs for <marker>these sandstone/mortar constructions</marker>, both cliff dwellings and...</example>
                <example>Explaining the behavior of these electron "orbits" was one of the...</example>
                <example>Of the venues used for these Olympics, the Kallimarmaro Stadium...</example>
                <example>This forms a sharp contract with...</example>
                <example>These eleven authors are right.</example>
                <example>Let's discuss these tomorrow.</example>
                <example>We make it a point to never support these if possible.</example>
                <example>These horror, comedy and mystery B-films were released by Monogram Pictures. </example>
                <example>Those illustrated are reminiscent of a circus top.</example>
                <example>These food storage workers are called repletes.</example>
                <example>After all these chest and abdominal operations, she looks as if she were in some kind of knife fight.</example>
                <example>I collected one of these yesterday.</example>
                <example>Decorative motifs for <marker>these sandstone/mortar constructions</marker>, both cliff dwellings and...</example>
                <example>Explaining the behavior of these electron "orbits" was one of the...</example>
                <example>Of the venues used for these Olympics, the Kallimarmaro Stadium...</example>
                <example>Those all can do it.</example>
                <example>Then investigate these Christmas, Hanukkah, and Kwanzaa recipes.</example>
                <example>These life changing moments.</example>
                <example>These bonus Starpoints are in addition to the Starpoints you would normally earn as a member.</example>
                <example>These anime styled works have become defined as anime-influenced animation.</example>
                <example>These came for you.</example><!-- Premium #1795 -->
                <example>The simplest genophores are found in viruses: these DNA or RNA molecules are short linear or circular genophores that often lack structural proteins.</example>
                <example>To unsubscribe to these birthday messages, click here.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token regexp="yes">are|were</token>
                </pattern>
                <message>The singular demonstrative '\2' does not agree with the plural verb '\3'. Did you mean <suggestion>these</suggestion>?</message>
                <short>Grammatical problem: use 'these'</short>
                <example correction="These"><marker>This</marker> are errors.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token regexp="yes">th[eo]se</token>
                    </marker>
                    <token regexp="yes">is|was</token>
                </pattern>
                <message>The plural demonstrative '\2' does not agree with the singular verb '\3'. Did you mean <suggestion>this</suggestion>?</message>
                <short>Grammatical problem: use 'this'</short>
                <example>These are errors.</example>
                <example correction="This"><marker>These</marker> was an error.</example>
            </rule>
            <rule>
                <antipattern><!-- When will those ship? -->
                    <token postag="W.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="MD" />
                    <token regexp="yes">th[eo]se</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </antipattern>
                <antipattern><!-- When do those ship? -->
                    <token postag="W.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token inflected="yes">do</token>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </antipattern>
                <antipattern><!-- of these seeking attenton -->
                    <token postag="IN" />
                    <token regexp="yes">th[eo]se</token>
                    <token postag="VB[DG]" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- I will make these next week -->
                    <token regexp="yes">th[eo]se</token>
                    <token regexp="yes">next|last</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|which|what</token>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Are these open source? -->
                    <token regexp="yes">are|were</token>
                    <token min="0">n't</token>
                    <token regexp="yes">th[eo]se</token>
                    <token>open</token>
                    <token>source</token>
                </antipattern>
                <antipattern><!-- ... and let some of these go. -->
                    <token>let</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">some|any|few|many|all</token>
                    <token>of</token>
                    <token regexp="yes">th[eo]se</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">hope|think|doubt|assume</token>
                    <token regexp="yes">th[oe]se</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[oe]se</token>
                    <token postag="RB" min="0" />
                    <token>help</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">th[eo]se</token>
                        <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re="I-NP.*" min="0">
                            <exception regexp="yes">so|all</exception>
                            <exception postag="NNP?S" postag_regexp="yes" />
                        </token>
                        <token postag="NN(:.+)?" postag_regexp="yes" chunk_re="E-NP.*">
                            <exception postag="JJ.*|CD|IN|PRP.*|MD|DT|RB|VBG|NNP?S" postag_regexp="yes" />
                            <exception regexp="yes" case_sensitive="yes">[A-Z]+</exception>
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>The plural demonstrative '\1' does not agree with the singular noun '\3'.</message>
                <suggestion>this \2 \3</suggestion>
                <suggestion suppress_misspelled="yes"><match no="1"/> \2 <match no="3" postag="N.*" postag_regexp="yes" postag_replace="NNS" /></suggestion>
                <short>Grammatical problem: use 'this'</short>
                <example correction="this rule|those rules">Feel free to extend <marker>those rule</marker>.</example>
                <example correction="this MAC address|those MAC addresses">Is there a way to see what other device has <marker>those MAC address</marker>?</example>
                <example correction="this issue|these issues">Tell me how to resolve <marker>these issue</marker>.</example>
                <example>When will those ship?</example>
                <example>When do these count?</example>
                <example>How much do these cost?</example>
                <example>I hope these help.</example>
                <example>Hope those help.</example>
                <example>Please join us in wishing these groups success.</example>
                <example>Those colours clash.</example>
                <example>Are these open source?</example>
                <example>Notes on some of these relations follow:</example>
                <example>There is a significant overlap in the range of techniques and applications that these cover.</example>
                <example>I might use straps for these next time.</example>
                <example>(2004) Nicaragua: Those Passed By.</example>
                <example>Read Christopher Elliott's "The Travel Tightwad" to get to the bottom of secret surcharges that make those sales possible.</example>
                <example>I would like to pick other people from EGM and EIM and let some of these go.</example>
                <example>Cons: Size, that about it unless you consider the “worry” about why are these so cheep?</example>
                <example>Every once in a while you get to see the tip of the iceberg in all glory due to someone blatantly abusing those tools in ways apparent to those paying attention.</example>
                <example type="triggers_error">I will make those change.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>this</token>
                    <token regexp="yes">much|many</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">'ve|'re</token>
                    <token>not</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="1">have|do</token>
                    <token skip="2">this</token>
                    <token chunk_re="E-NP.*" regexp="yes">ways|times</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="3">when|if|since|once|although|because</token>
                    <token inflected="yes" regexp="yes" skip="1">have|do</token>
                    <token skip="2">this</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes">ago|later|sooner|ealier</token>
                </antipattern>
                <antipattern>
                    <token>this</token>
                    <token>any</token>
                    <token>time</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">are|'re|were|have|'ve</token>
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token>this</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk_re="[IB]-NP.*" min="0" />
                    <token postag="NN.*|JJ.*" postag_regexp="yes" chunk_re="I-NP.*" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NNP?|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>these</suggestion>?</message>
                <example correction="these">Are <marker>this</marker> total installations?</example>
                <example>Yanni is going to do this four times.</example>
                <example>I had this many long years ago.</example>
                <example>When I do this the GAE endpoints work perfectly.</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_MUCH_NN1" name="Superfluous article before 'much', e.g. 'a much work'">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">a|the|my|y?our|his|their</token>
                        <token>much</token>
                        <token regexp="yes">&short_adjectives;|&optional_short_adjectives;</token>
                    </marker>
                    <token postag="NN(:UN?)?" postag_regexp="yes" chunk_re="[EI]-NP.*">
                        <exception>enough</exception>
                    </token>
                </pattern>
                <message>The adjective seems to be in the incorrect form.</message>
                <suggestion suppress_misspelled="yes">\1 \2 <match no="3" postag="J.*" postag_regexp="yes" postag_replace="JJR" /></suggestion>
                <short>Grammatical problem: unnecessary 'a'</short>
                <example correction="a much faster">It is <marker>a much fast</marker> route.</example>
                <example>This will be <marker>much</marker> work.</example>
                <example>These concerns now seem a much bolder move.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes" skip="3" regexp="yes">not|never</token>
                    <token>much</token>
                    <token>good</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem|appear|run|go|drive</token>
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token>much</token>
                        <token regexp="yes" chunk_re="I-AD[VJ]P">&short_adjectives;|&optional_short_adjectives;</token>
                    </marker>
                </pattern>
                <message>The adjective seems to be in the incorrect form.</message>
                <suggestion suppress_misspelled="yes">\3 <match no="4" postag="J.*" postag_regexp="yes" postag_replace="JJR" /></suggestion>
                <short>Grammatical problem: unnecessary 'a'</short>
                <example correction="much faster">It is <marker>much fast</marker>.</example>
                <example>Not that it does much good.</example>
                <example>So long as you continue to play it, this is very much true.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>much</token>
                    <token min="0" />
                    <token postag="JJR" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>a</token>
                        <token>much</token>
                    </marker>
                    <token postag="NN(:UN?)?" postag_regexp="yes" />
                </pattern>
                <message>The article 'a' may not be needed before <suggestion>much</suggestion>.</message>
                <short>Grammatical problem: unnecessary 'a'</short>
                <example correction="much">This will be <marker>a much</marker> work.</example>
                <example>This will be <marker>much</marker> work.</example>
                <example>These concerns now seem a much bolder move.</example>
                <example>This results in a much average higher revenue realisation</example>
                <example>I know that Tom is a much better driver than you.</example>
                <example>Tom is a much better ventriloquist than Mary.</example>
            </rule>
        </rulegroup>
        <rule id="SUPERLATIVE_THAN" name="SUPERLATIVE + THAN, e.g. worst (worse) than">
        <!-- Created by Tiago F. Santos, 2018-02-02 -->
            <antipattern>
                <token skip='-1' regexp='yes'>(any)?more|less|rather|f[au]rther|other|different|prefer</token>
                <token skip='-1' postag='JJ'/>
               <token>than</token>
            </antipattern>
            <antipattern>
               <token>as</token>
                <token skip='-1'>well</token>
               <token>than</token>
            </antipattern>
            <antipattern>
               <token>nothing</token>
                <token skip='-1'>else</token>
               <token>than</token>
            </antipattern>
            <antipattern>
                <token postag="CC|SENT_START" postag_regexp="yes" />
                <token>even</token>
                <token>than</token>
            </antipattern>
            <antipattern>
                <token skip='-1' postag='JJR'/>
                <token skip='-1' postag='JJ'/>
                <token>than</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">two|2|three|3|four|4|five|5|six|6|seven|7|eight|8|nine|9|ten|10|many</token>
                <token>times</token>
                <token>as</token>
                <token>much</token>
            </antipattern>
            <antipattern>
                <token postag="V.*" postag_regexp="yes" inflected="yes">make</token>
                <token>sure</token>
                <token>than</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag='JJS?' postag_regexp='yes'>
                      <exception regexp='yes'>more|less|rather|other(?:wise)?|different|inferior|superior|back|meaning|else</exception>
                      <exception postag='JJR|IN' postag_regexp='yes'/>
                    </token>
                    <token>than</token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">Use <suggestion><match no='1' postag='JJ.?' postag_regexp='yes' postag_replace='JJR'/> \2</suggestion> to make a comparison with this adjective.</message>
            <example correction="iller than|worse than">That's <marker>worst than</marker> before!</example>
            <example correction="more than">Tom has been <marker>most than</marker> generous. </example>
            <example correction="greater than"> I want to do a routine, if sensor <marker>great than</marker> x° do something.</example>
            <example>...rather than receiving goods being distributed "according...</example>
            <example>This was <marker>differently</marker> than I had expected.</example><!-- #2077 -->
            <example>The two traditions may have had more in common than initially appears.</example>
            <example>...als with Asperger syndrome tend to perform better cognitively than those with autism, the extent of the overlap...</example>
            <example>... with autism are about 25 times more likely to be autistic than the general population.</example>
            <example>He is no more foolish than you are.</example>
            <example>All animals are equal, but some animals are more equal than others</example>
            <example>I would rather go out than stay at home.</example>
            <example>I prefer to be crazy than sad.</example>
            <example>They do better together than apart.</example>
            <example>I may as well go out than stay at home.</example>
            <example>While no nation other than the Russian Federation (and previously the f...</example>
            <example>No sooner had I gone out than it began to rain.</example>
            <example>Most scientific breakthroughs are nothing else than the discovery of the obvious.</example>
            <example>...t his use of the term science carries a different meaning than that covered by the term "scientific method"...</example>
            <example>...don't think that there is any better way to learn English than by living in America.</example>
            <example>This will allow us to identify style issues and display them differently than grammar errors.</example><!-- #2077 -->
            <example>They seem to behave differently than some other other types of error.</example><!-- #2077 -->
            <example>The blame goes way further back than the ‘Iraqi Government’.</example>
            <example>The firm sold approximately three times as much than it bought.</example>
            <example>Just want to make sure than the notional quantities will be sufficient.</example><!-- That/than confusion found by AI -->
            <!--example>No sooner had I sat down and relaxed than the phone rang.</example> XXX this is missing a comma -->
            <!--example>...to no-kin, to friends than to strangers, to those <marker>attractive than</marker> to those unattractive, to non-competitors th...</example> XXX doesn't account for skipped words (rather) -->
        </rule>
        <rule id="SUPERIOR_THAN_TO" name="Latinate comparatives (e.g. superior than/to)">
            <pattern>
                <token regexp="yes">inferior|superior</token>
                <token>than</token>
            </pattern>
            <!-- -->
            <message>The comparative '\1' is usually followed by 'to'.</message>
            <suggestion>\1 to</suggestion>
            <url>https://forum.wordreference.com/threads/superior-inferior-supreme.3324447/</url>
            <example correction="superior to">This product is <marker>superior than</marker> the competition.</example>
        </rule>
        <rule id="THE_WORSE_OF" name="THE + RELATIVE + OF, e.g. the worse (worst) of">
        <!-- Created by Tiago F. Santos, 2018-02-02 -->
            <antipattern>
                <token inflected='yes'>get</token>
                <token>the</token>
                <token>better</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag='(?:JJ|RB)R' postag_regexp='yes'/>
                <token skip='-1'>of</token>
                <token>two</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token>course</token>
            </antipattern>
            <pattern>
                <token>the</token>
                <marker>
                    <token postag='(?:JJ|RB)R' postag_regexp='yes' regexp='yes'>\p{Ll}+
                      <exception regexp='yes'>latter|number|trigger|buffer|dimmer<!--needs|best.*|\d+(st|nd|rd|th)--></exception>
                      <exception>more</exception><!-- "more" can also be a noun -->
                      <exception postag='JJS|RBS' postag_regexp='yes'/></token>
                </marker>
                <token>of</token>
            </pattern>
            <message>Use <suggestion><match no='2' postag='(JJ|RB).?' postag_regexp='yes' postag_replace='$1S'/></suggestion> to express an extreme with this adjective.</message>
            <example correction="illest|worst">The <marker>worse</marker> of all is that he doesn't know what to do!</example>
            <example>The Wretched of the Earth.</example>
            <example>No one could get the better of him in an argument.</example>
            <example>...since ASCII suited the needs of only the USA and a few other countries.</example>
            <example>We must go forward getting the better of all obstacles.</example>
            <example>The meeting will be postponed till the 20th of this month.</example>
            <example>After many years of conflict that lead to the weakening of all the insurgent parties,...</example>
            <example>Mary is the cuter of the two.</example>
            <example>The hostage-taker activated the timer of the bomb.</example>
            <example>The exact composition of the layer of wax is not only species-dependent.</example>
            <example>The more of that a poet keeps, the more genuine his nature.</example>
            <example correction="cheapest">Buy the <marker>cheaper</marker> of the 2.</example>
            <example>I’ve seen things you people wouldn’t believe. Attack ships on fire off the shoulder of Orion...</example><!-- https://forum.languagetool.org/t/en-possible-false-positive-2020-02-06/5353/2 -->
        </rule>
        <rule id="MOST_SUPERLATIVE" name="No 'more' or 'most' before superlatives">
            <pattern>
                <token regexp="yes">mo(re|st)</token>
                <token postag="JJS|RBS" postag_regexp="yes"/>
            </pattern>
            <message>Only <suggestion>\2</suggestion> (without '\1') is used to write the superlative.</message>
            <short>Grammatical problem: unnecessary 'more/most'</short>
            <example correction="oldest">Kyoto is the <marker>most oldest</marker> city.</example>
        </rule>
        <rulegroup id="MOST_COMPARATIVE" name="No 'more' or 'most' before comparatives">
            <rule>
                <pattern>
                    <token>most</token>
                    <token postag="JJR|RBR" postag_regexp="yes"/>
                </pattern>
                <message>Only <suggestion>\2</suggestion> (without '\1') is used to write the comparative.</message>
                <short>Grammatical problem: unnecessary 'most'</short>
                <example correction="older">Kyoto is a <marker>most older</marker> city.</example>
                <example>Kyoto is an <marker>older</marker> city.</example>
                <example>When is more better?</example>
                <example type="triggers_error">...were built during the Old and Middle Kingdoms, but most <marker>later rulers</marker> abandoned them in favor of...</example><!-- MFI: The adjective 'later' modifies the noun rulers. -->
            </rule>
            <rule>
                <antipattern>
                    <token>is</token>
                    <token>more</token>
                    <token>better</token>
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token>more<exception scope="previous" postag="CD"/></token>
                    <token postag="JJR|RBR" postag_regexp="yes"><exception>later</exception></token>
                </pattern>
                <message>Use only <suggestion>\2</suggestion> (without '\1') when you use the comparative.</message>
                <short>Grammatical problem: unnecessary 'more'</short>
                <example>Kyoto is an <marker>older</marker> city.</example>
                <example>When is more better?</example>
                <example>It was for the worse.</example>
                <example>I'll write more later.</example>
                <example correction="older">Kyoto is a <marker>more older</marker> city.</example>
                <example correction="worse">It's <marker>more worse</marker> thing.</example>
                <example>No more customer service</example>
                <example>We can only bring one more smaller suitcase as that's all that will fit in the rental car in Toronto.</example>
            </rule>
        </rulegroup>
        <rule id="LESS_COMPARATIVE" name="'less' before comparative or superlative">
            <pattern>
                <token>less</token>
                <token postag="JJ[RS]" postag_regexp="yes"/>
            </pattern>
            <message>Non-standard use of the comparative or superlative. Did you mean <suggestion><match no="1"/> <match no="2" postag="JJ"/></suggestion>?</message>
            <short>Grammatical problem: non-standard comparative/superlative</short>
            <example correction="less hard">This is <marker>less harder</marker>.</example>
        </rule>
        <rule id="LEAST_COMPARATIVE" name="'least' before comparative or superlative">
            <antipattern><!-- http://mathworld.wolfram.com/LeastUpperBound.html -->
                <token>least</token>
                <token>upper</token>
                <token regexp="yes">bounds?</token>
                <token/>
            </antipattern>
            <pattern>
                <token>least<exception scope="previous">at</exception></token>
                <token postag="JJ[RS]" postag_regexp="yes"><exception regexp="yes">most|number</exception></token>
            </pattern>
            <message>Non-standard use of the comparative or superlative. Did you mean <suggestion><match no="1"/> <match no="2" postag="JJ"/></suggestion>?</message>
            <short>Grammatical problem: non-standard comparative/superlative</short>
            <example>This is the <marker>least hard</marker> task.</example>
            <example correction="least hard">This is the <marker>least harder</marker> task.</example>
            <example>This is at <marker>least harder</marker> than the trivial task.</example>
            <example>...empty set of real numbers with an upper bound has a <marker>least upper bound</marker>.</example>
            <example correction="least hard">This is the <marker>least hardest</marker>.</example>
            <example>The least number.</example><!-- number is JJR -->
        </rule>
        <rulegroup id="WORLDS_BEST" name="Worlds (World's) Best">
            <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Ww]orlds|Americas|Europes</token>
                    </marker>
                    <token postag="JJS" />
                </pattern>
                <message>The possessive apostrophe may be missing.</message>
                <suggestion><match no="1" regexp_match="(?i)s$" regexp_replace="" />'s</suggestion>
                <example correction="world's">He is the <marker>worlds</marker> best footballer.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>worlds</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="1" max="2" />
                    <token postag="CD|NN.*" postag_regexp="yes" />
                </pattern>
                <message>The possessive apostrophe may be missing.</message>
                <suggestion>world's</suggestion>
                <example correction="world's">It is known as the <marker>worlds</marker> best-selling car.</example>
                <example correction="world's">The goal is to make Enron the <marker>worlds</marker> leading energy company.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>world</token>
                    </marker>
                    <token postag="JJS" />
                </pattern>
                <message>It seems that a possessive apostrophe is missing.</message>
                <suggestion>world's</suggestion>
                <example correction="world's">It is known as the <marker>world</marker> best car.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>United</token>
                        <token>States</token>
                    </marker>
                    <token postag="JJS" />
                </pattern>
                <message>It seems that a possessive apostrophe is missing.</message>
                <suggestion>United States'</suggestion>
                <example correction="United States'">It is known as the <marker>United States</marker> best swimmer.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_SUPERLATIVE" name="Zero or indefinite article ('a'/'an') before superlatives">
            <antipattern>
                <token postag_regexp="yes" postag="PRP\$|WP\$|DT|JJ|C[CD]|:|NNP|POS"/>
                <token regexp="yes">["“]</token>
                <token postag="JJS"/>
            </antipattern>
            <antipattern>
                <token postag="JJS"/>
                <token regexp="yes">[&amp;,;]|and</token>
                <token postag="JJS"/>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token>.</token>
                <token>.</token>
                <token/>
            </antipattern>
            <antipattern><!-- http://mathworld.wolfram.com/LeastUpperBound.html -->
                <token>least</token>
                <token>upper</token>
                <token>bound</token>
                <token/>
            </antipattern>
            <antipattern>
                <token regexp="yes">nearest|closest|farthest|furthest|best</token>
                <token regexp="yes">neighbou?rs?</token>
            </antipattern>
            <antipattern>
                <token>best</token>
                <token regexp="yes">friends?|practices?</token>
            </antipattern>
            <antipattern><!-- voted "hottest female athlete" -->
                <token regexp="yes">['‘"“]</token>
                <token skip="-1" postag="JJS"/>
                <token spacebefore="no" regexp="yes">['’"”]</token>
            </antipattern>
            <antipattern><!-- "Americas tallest mountains" (different error) -->
                <token regexp="yes">Americas|Europes</token>
                <token postag="JJS" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>from</token>
                <token postag="JJS" />
                <token>to</token>
                <token postag="JJS" />
            </antipattern>
            <antipattern>
                <token regexp="yes">the|'s|my|y?our|his|her|its|their</token>
                <token postag="RB" min="0" />
                <token regexp="yes">most|least</token>
                <token postag="JJ" />
                <token regexp="yes">,|and|&amp;|\/</token>
                <token postag="RB" min="0" />
                <token regexp="yes">most|least</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern><!-- best thing since sliced bread (+ wrong capitalization at SENT_START) -->
                <token postag="SENT_START"/>
                <token postag="JJS|RBS" postag_regexp="yes"/>
            </antipattern>
            <rule>
                <antipattern>
                    <token>best</token>
                    <token inflected="yes">sell</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">an?</token>
                    </marker>
                    <token postag="JJS|RBS" postag_regexp="yes"><exception>most</exception><exception>man</exception></token>
                </pattern>
                <message>Use <suggestion>the</suggestion> before the superlative.</message>
                <short>Use 'the'</short>
                <example correction="the">Kyoto is <marker>an</marker> oldest city.</example>
                <example>Kyoto is <marker>the</marker> oldest city.</example>
                <example>And Truly It Is <marker>a</marker> Most Glorious Thing</example>
                <example>He made a fortune by writing a best selling novel.</example>
                <example>...empty set of real numbers with an upper bound has a <marker>least upper bound</marker>.</example>
                <example>I have a best friend. His name is Karl.</example>
                <example>I want a best friend.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">kindest|warmest</token>
                    <token regexp="yes">regards|wishes</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token postag="ORD"/>
                    <token postag="JJS"/>
                </antipattern>
                <antipattern><!-- #2731 countries worst hit -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token chunk="B-VP">worst</token><!-- RBR? -->
                    <token postag="VBN"/>
                </antipattern>
                <antipattern><!-- #2731 region worst hit -->
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token chunk="B-VP">worst</token><!-- RBR? -->
                    <token postag="VBN"/>
                </antipattern>
                <antipattern><!-- #2684 www.lexico.com/definition/each_other -->
                    <token>each</token>
                    <token>others</token><!-- Missing apostrophe, but that is a different problem -->
                    <token postag="JJS"/>
                </antipattern>
                <antipattern><!-- #3037 deepest/darkest secret -->
                    <token postag="JJS"/>
                    <token>/</token>
                    <token postag="JJS"/>
                </antipattern>
                <antipattern><!-- #3192 the 102nd richest -->
                    <token>the</token>
                    <token regexp="yes">[0-9]+(st|nd|rd|th)</token>
                    <token postag="JJS"/>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="PRP\$|WP\$|DT|JJS?|C[CD]|:|NNP" postag_regexp="yes"/>
                        <exception regexp="yes">'s|s</exception>
                        <exception regexp="yes">['’…]</exception>
                        <exception>at</exception>
                    </token>
                    <marker>
                        <token postag="JJS">
                            <exception regexp="yes">most|least|best|dearest</exception>
                            <exception scope="previous" regexp="yes">[\-*#]the</exception>
                        </token>
                    </marker>
                    <token postag="NN.*|JJ" postag_regexp="yes"><exception>in</exception></token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>the \2</suggestion>
                <short>Missing determiner</short>
                <example correction="the funniest">The guy is <marker>funniest</marker> friend.</example>
                <example correction="the biggest">Facebook (<marker>biggest</marker> social network)</example>
                <example correction="the latest">... at the moment, with <marker>latest</marker> forecasts suggesting the outbreak will lead... </example><!-- #2731 -->
                <example correction="the hottest">Sandanski is <marker>hottest</marker> city in Bulgaria.</example>
                <example correction="the lowest">$103 deal of the day is <marker>lowest</marker> price ever according to camels.</example>
                <example>The guy <marker>is the funniest</marker> friend.</example>
                <example>He is my best friend.</example>
                <example>Confucianism was particularly strong during the Han Dynasty, whose greatest thinker was Dong Zhongshu.</example>
                <example>American placed the "largest aircraft order in history" in July 2011, purchasing 460 "next generation" Boeing 737 and Airbus A320 aircraft for delivery between 2013 and 2022.</example>
                <example>Second largest &amp; busiest Railway station in Asia.</example>
                <example>Historian Samuel Walker writes that the ACLU’s “greatest impact on American life” was its role in persuading the Supreme Court to constitutionalize so many public controversies.</example>
                <example><marker>…largest</marker> animals known to exist.</example>
                <example>...in 1984: "<marker>... wisest</marker> animals on the farm, and one of the few who can read properly."</example>
                <example>...50 Most Beautiful People in 1998 and was voted "hottest female athlete" on ESPN.com.</example>
                <example>Kindest regards</example>
                <example>... described him as being the seventy-third greatest Briton of all time.</example>
                <example>-The easiest moments.</example>
                <example>... way to help countries worst hit by the virus.</example><!-- #2731 -->
                <example>... the northern region worst hit by the outbreak...</example><!-- #2731 -->
                <example>He sorted it from largest to smallest categories.</example>
                <example>Students were often each others worst enemies when discussing their experiences</example><!-- #2684. Incorrect grammar, should be "each other's worst" -->
                <example>What's your deepest darkest secret?</example><!-- #3037 -->
                <example>What's your deepest/darkest secret?</example><!-- #3037 -->
                <example>Please order by the most/least expensive</example><!-- #3037 -->
                <example>... which makes Ralph Lauren the 102nd richest person in America.</example><!-- #3192 -->
                <example>Nearest neighbor methods are nearest neighbor methods.</example>
                <example>This is the number of nearest neighbors.</example>
                <example>The number of nearest neighbor atoms.</example>
                <example>It is optimized for K nearest neighbor search.</example>
                <example>the nation's biggest accounting firms</example>
                <example>the nation's youngest cable TV Director</example>
                <example>one of God?s greatest hits.</example><!-- #4478 -->
                <example>Greatest thing since sliced bread.</example>
            </rule>
            <rule>
                <antipattern><!-- at it's strongest ... (its → different error) -->
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token>it</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">
                        [A-Z].*
                        <exception regexp="yes">s?he|it</exception>
                    </token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token>best</token>
                    <token>able</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">
                        be|have|do|make|say|go|answer|ask|tell|read
                        <exception postag="POS" />
                    </token>
                    <marker>
                        <token postag="JJS">
                            <exception>most</exception>
                        </token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VBG|TO|IN|CC" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>the \2</suggestion>
                <example correction="the best">Be <marker>best</marker> writer you can be.</example>
                <example correction="the best">Sue L. is <marker>best</marker> choice.</example>
                <example>You are most welcome.</example>
                <example>Last week, Cregg Lancaster furnished Reliant's newest form of Schedule and Paragraph 13 for our review.</example>
                <example>Parliament was reinstated, and the monarchy was restored to Charles I's eldest son, Charles II, in 1660.</example>
                <example>at Enron Corp.'s biggest division</example>
                <example>We're best able to study in the fall.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>least</token>
                    <token postag="JJ"/>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </antipattern>
                <antipattern>
                    <token>principle</token>
                    <token>of</token>
                    <token>least</token>
                    <token>action</token>
                </antipattern>
                <pattern>
                    <token><exception postag="PRP\$|WP\$|DT|JJ|C[DC]|NNP" postag_regexp="yes"/><exception>'s</exception><exception regexp="yes">&apostrophe;</exception><exception>at</exception></token>
                    <marker>
                        <token>least</token>
                    </marker>
                    <token postag="NN.*|JJ" postag_regexp="yes"><exception>in</exception></token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>the \2</suggestion>
                <short>Missing determiner</short>
                <example>He is at least my friend.</example>
                <example correction="the least">The guy is <marker>least</marker> funny friend.</example>
                <example>The guy <marker>is the least</marker> funny friend.</example>
                <example>He is least likely to come.</example>
                <example>The most effective, least addictive medicine.</example>
                <example>Wallonia has become one of Europe's most secular/least religious regions.</example>
                <example type="triggers_error">Given a wire contour, the surface of least area spanning ("filling") it is a minimal surface...</example><!-- possible technical term: https://cordis.europa.eu/project/rcn/104357/factsheet/en -->
            </rule>
            <rule>
                <antipattern><!-- #3037 economic best interest -->
                    <token postag="JJ"/>
                    <token postag="JJS">best</token>
                </antipattern>
                <antipattern><!-- #3110 are best available 9am/9 to -->
                    <token inflected="yes">be</token>
                    <token>best</token>
                    <token postag="JJ"/>
                    <token regexp="yes">([1-9]|10|11|12)([ap]m)?</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- #3110 are best contactable 09:50 to  -->
                    <token inflected="yes">be</token>
                    <token>best</token>
                    <token postag="JJ"/>
                    <token regexp="yes">[012]?[0-9]</token>
                    <token>:</token>
                    <token regexp="yes">[0-5]?[0-9]</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- #3110 are best available 9 a.m. to -->
                    <token inflected="yes">be</token>
                    <token>best</token>
                    <token postag="JJ"/>
                    <token regexp="yes">([1-9]|10|11|12)</token>
                    <token regexp="yes">[ap]</token>
                    <token>.</token>
                    <token>m</token>
                    <token min="0" max="1">.</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>best</token>
                    <token regexp="yes">regards?</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token>best</token>
                    <token>able</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>
                            <exception postag="PRP.*|MD|WP\$|DT|JJ|C[CD]|NNP|JJS" postag_regexp="yes"/>
                            <exception>'s</exception>
                            <exception regexp="yes">&apostrophe;</exception>
                            <exception>at</exception>
                            <exception regexp="yes">first|second|third</exception>
                        </token>
                        <token postag="JJS">best</token>
                    </marker>
                    <token postag="NN.*|JJ" postag_regexp="yes">
                        <exception postag="IN|CC|PRP.*|DT" postag_regexp="yes" />
                        <exception regexp="yes">man|regards</exception>
                        <exception inflected="yes">sell</exception>
                    </token>
                    <token><exception>by</exception></token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the \2</suggestion>
                <short>Missing determiner</short>
                <example correction="is the best">The guy <marker>is best</marker> driver.</example>
                <example correction="'re the best">We<marker>'re best</marker> available in the market.</example>
                <example correction="are the best">They <marker>are best</marker> workers 9 times out of ten.</example>
                <example>The guy <marker>is the best</marker> driver.</example>
                <example>He is my best friend.</example>
                <example>Learn how to best approach the crisis.</example><!-- #2684 -->
                <example>It is in our economic best interest.</example><!-- #3037 -->
                <example>We're best available 9am to 6pm CET.</example><!-- #3110 -->
                <example>We are best available 9 to 6 on weekdays.</example><!-- #3110 -->
                <example>They're best contactable 09:50 to 18:35 CET.</example><!-- #3110 -->
                <example>We're best available 9 a.m. to 7 p.m.</example><!-- #3110 -->
                <example>It's our first best guess.</example>
                <example>We're best able to study in the fall.</example><!-- #4478 -->
                <example>Best thing since sliced bread.</example>
            </rule>
        </rulegroup>

        <rulegroup id='DETERMINER_GEOGRAPHICAL_WORD' name="Determiners preceding geographical terms">
        <!-- Created by Florian Knorr, 2019-09-29 -->
            <url>https://www.engvid.com/english-resource/the-with-country-names-lakes-rivers/</url>
            <short>Missing determiner</short>
            <rule>
                <antipattern>
                    <token>USA</token>
                    <token>Today</token>
                </antipattern>
                <antipattern>
                    <token>Atlantic</token>
                    <token regexp="yes">City|Records|Airways|College</token>
                </antipattern>
                <antipattern>
                    <token>Thames</token>
                    <token regexp="yes">Water|Valley</token>
                </antipattern>
                <antipattern>
                    <token>Sahara</token>
                    <token regexp="yes">Ave|Avenue</token>
                </antipattern>
                <antipattern><!-- https://en.wikipedia.org/wiki/Kingston_upon_Thames -->
                    <token>Kingston</token>
                    <token>upon</token>
                    <token>Thames</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes" regexp="yes">Alps|Andes|Appalachians|Atlantic|Bahamas|Baltic|Caribbean|Caspian|Caucasus|Comoros|Danube|equator|Euphrates|Gambia|Ganges|Gobi|Himalayas|Indus|Kalahari|Maldives|Netherlands|Nile|Ob|Occident|Orient|Orinoco|Philippines|Pyrenees|Rhine|Rhone|Rockies|Sahara|Thames|Tiber|Tigris|UAE|Urals|USA|Volga|Yangtze</token>
                    </marker>
                    <token>
                        <exception>'s</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the \2</suggestion>
                <example correction="in the Netherlands">He lived <marker>in Netherlands</marker> from 1933 till 1945.</example>
                <example>Royal Netherlands Air Force</example>
                <example>The articles came from USA Today.</example>
                <example>He lives in Atlantic City.</example>
                <example>The NBA is an active member of USA Basketball.</example>
                <example>There are certain dynamics between Caribbean countries.</example>
                <example>to UAE's Offsets Group</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes" regexp="yes">Amazon|Colorado|Columbia|Hudson|Lena|Mackenzie|Mekong|Mississippi|Missouri|Niger|Ohio|Seine|Tagus</token>
                        <token case_sensitive="yes">River</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the \2 \3</suggestion>
                <example correction="in the Amazon River">He lived <marker>in Amazon River</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Atlas</token>
                        <token case_sensitive="yes">Mountains</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Atlas Mountains</suggestion>
                <example correction="in the Atlas Mountains">He lived <marker>in Atlas Mountains</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Cayman</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Cayman Islands</suggestion>
                <example correction="on the Cayman Islands">He lived <marker>on Cayman Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Central</token>
                        <token case_sensitive="yes">African</token>
                        <token case_sensitive="yes">Republic</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Central African Republic</suggestion>
                <example correction="in the Central African Republic">He lived <marker>in Central African Republic</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Channel</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Channel Islands</suggestion>
                <example correction="on the Channel Islands">He lived <marker>on Channel Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Czech</token>
                        <token case_sensitive="yes">Republic</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Czech Republic</suggestion>
                <example correction="in the Czech Republic">He lived <marker>in Czech Republic</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Dominican</token>
                        <token case_sensitive="yes">Republic</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Dominican Republic</suggestion>
                <example correction="in the Dominican Republic">He lived <marker>in Dominican Republic</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Falkland</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Falkland Islands</suggestion>
                <example correction="on the Falkland Islands">He lived <marker>on Falkland Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Isle</token>
                        <token case_sensitive="yes">of</token>
                        <token case_sensitive="yes">Man</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Isle of Man</suggestion>
                <example correction="in the Isle of Man">He lived <marker>in Isle of Man</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Ivory</token>
                        <token case_sensitive="yes">Coast</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Ivory Coast</suggestion>
                <example correction="in the Ivory Coast">He lived <marker>in Ivory Coast</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Leeward</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Leeward Islands</suggestion>
                <example correction="on the Leeward Islands">He lived <marker>on Leeward Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Maldive</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Maldive Islands</suggestion>
                <example correction="on the Maldive Islands">He lived <marker>on Maldive Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Marshall</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Marshall Islands</suggestion>
                <example correction="on the Marshall Islands">He lived <marker>on Marshall Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Netherlands</token>
                        <token case_sensitive="yes">Antilles</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Netherlands Antilles</suggestion>
                <example correction="in the Netherlands Antilles">He lived <marker>in Netherlands Antilles</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Solomon</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Solomon Islands</suggestion>
                <example correction="on the Solomon Islands">He lived <marker>on Solomon Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Turks</token>
                        <token case_sensitive="yes">and</token>
                        <token case_sensitive="yes">Caicos</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Turks and Caicos Islands</suggestion>
                <example correction="on the Turks and Caicos Islands">He lived <marker>on Turks and Caicos Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">United</token>
                        <token case_sensitive="yes">Arab</token>
                        <token case_sensitive="yes">Emirates</token>
                    </marker>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the United Arab Emirates</suggestion>
                <example correction="in the United Arab Emirates">He lived <marker>in United Arab Emirates</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">United</token>
                        <token case_sensitive="yes">Kingdom</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the United Kingdom</suggestion>
                <example correction="in the United Kingdom">He lived <marker>in United Kingdom</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>united</token>
                    <token>states</token>
                    <token postag="NN:UN?|NNS|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>united</token>
                    <token>states</token>
                    <token>v</token>
                    <token spacebefore="no">.</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">United</token>
                        <token case_sensitive="yes">States</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the United States</suggestion>
                <example correction="in the United States">He lived <marker>in United States</marker> from 1933 till 1945.</example>
                <example>History of the National Hockey League on United States television.</example>
                <example>On December 9, 1882, the U.S. Supreme Court ruled 5–4 in Lee's favor in United States v. Lee, deciding that Arlington had been confiscated without due process.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Virgin</token>
                        <token case_sensitive="yes">Islands</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Virgin Islands</suggestion>
                <example correction="on the Virgin Islands">He lived <marker>on Virgin Islands</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <antipattern><!-- https://en.wikipedia.org/wiki/Rio_Grande_do_Norte -->
                    <token>rio</token>
                    <token>grande</token>
                    <token>do</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Rio</token>
                        <token case_sensitive="yes">Grande</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Rio Grande</suggestion>
                <example correction="in the Rio Grande">He lived <marker>in Rio Grande</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Adriatic</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Adriatic Sea</suggestion>
                <example correction="in the Adriatic Sea">He lived <marker>in Adriatic Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Aegean</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Aegean Sea</suggestion>
                <example correction="in the Aegean Sea">He lived <marker>in Aegean Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Arabian</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Arabian Sea</suggestion>
                <example correction="in the Arabian Sea">He lived <marker>in Arabian Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Arctic</token>
                        <token case_sensitive="yes">Ocean</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Arctic Ocean</suggestion>
                <example correction="in the Arctic Ocean">He lived <marker>in Arctic Ocean</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Black</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Black Sea</suggestion>
                <example correction="in the Black Sea">He lived <marker>in Black Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Coral</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Coral Sea</suggestion>
                <example correction="in the Coral Sea">He lived <marker>in Coral Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Atlantic</token>
                        <token case_sensitive="yes">Ocean</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Atlantic Ocean</suggestion>
                <example correction="in the Atlantic Ocean">He lived <marker>in Atlantic Ocean</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Baltic</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Baltic Sea</suggestion>
                <example correction="in the Baltic Sea">He lived <marker>in Baltic Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Caribbean</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Caribbean Sea</suggestion>
                <example correction="in the Caribbean Sea">He lived <marker>in Caribbean Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Caspian</token>
                        <token case_sensitive="yes">Sea</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Caspian Sea</suggestion>
                <example correction="in the Caspian Sea">He lived <marker>in Caspian Sea</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Gulf</token>
                        <token case_sensitive="yes">of</token>
                        <token case_sensitive="yes">Aden</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Gulf of Aden</suggestion>
                <example correction="in the Gulf of Aden">He lived <marker>in Gulf of Aden</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Gulf</token>
                        <token case_sensitive="yes">of</token>
                        <token case_sensitive="yes">Mexico</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Gulf of Mexico</suggestion>
                <example correction="in the Gulf of Mexico">He lived <marker>in Gulf of Mexico</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Gulf</token>
                        <token case_sensitive="yes">of</token>
                        <token case_sensitive="yes">Oman</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Gulf of Oman</suggestion>
                <example correction="in the Gulf of Oman">He lived <marker>in Gulf of Oman</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Far</token>
                        <token case_sensitive="yes">East</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Far East</suggestion>
                <example correction="in the Far East">He lived <marker>in Far East</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Gobi</token>
                        <token case_sensitive="yes">desert</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Gobi desert</suggestion>
                <example correction="in the Gobi desert">He lived <marker>in Gobi desert</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Kalahari</token>
                        <token case_sensitive="yes">desert</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Kalahari desert</suggestion>
                <example correction="in the Kalahari desert">He lived <marker>in Kalahari desert</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Middle</token>
                        <token case_sensitive="yes">East</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Middle East</suggestion>
                <example correction="in the Middle East">He lived <marker>in Middle East</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Near</token>
                        <token case_sensitive="yes">East</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Near East</suggestion>
                <example correction="in the Near East">He lived <marker>in Near East</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">North</token>
                        <token case_sensitive="yes">Pole</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the North Pole</suggestion>
                <example correction="in the North Pole">He lived <marker>in North Pole</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Occident</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Occident</suggestion>
                <example correction="in the Occident">He lived <marker>in Occident</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Orient</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Orient</suggestion>
                <example correction="in the Orient">He lived <marker>in Orient</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Panama</token>
                        <token case_sensitive="yes">Canal</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Panama Canal</suggestion>
                <example correction="in the Panama Canal">He lived <marker>in Panama Canal</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Sahara</token>
                        <token case_sensitive="yes">desert</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Sahara desert</suggestion>
                <example correction="in the Sahara desert">He lived <marker>in Sahara desert</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">South</token>
                        <token case_sensitive="yes">Pole</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the South Pole</suggestion>
                <example correction="in the South Pole">He lived <marker>in South Pole</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Suez</token>
                        <token case_sensitive="yes">Canal</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Suez Canal</suggestion>
                <example correction="in the Suez Canal">He lived <marker>in Suez Canal</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Tropic</token>
                        <token case_sensitive="yes">of</token>
                        <token case_sensitive="yes">Cancer</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Tropic of Cancer</suggestion>
                <example correction="in the Tropic of Cancer">He lived <marker>in Tropic of Cancer</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Tropic</token>
                        <token case_sensitive="yes">of</token>
                        <token case_sensitive="yes">Capricorn</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Tropic of Capricorn</suggestion>
                <example correction="in the Tropic of Capricorn">He lived <marker>in Tropic of Capricorn</marker> from 1933 till 1945.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token postag="IN"><exception scope="previous">Made</exception></token>
                        <token case_sensitive="yes">Rocky</token>
                        <token case_sensitive="yes">Mountains</token>
                    </marker>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception postag="NNPS?|NNS|NN:UN?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>A determiner may be missing.</message>
                <suggestion>\1 the Rocky Mountains</suggestion>
                <example correction="in the Rocky Mountains">He lived <marker>in Rocky Mountains</marker> from 1933 till 1945.</example>
            </rule>
        </rulegroup>

        <rulegroup id="SHORT_COMPARATIVES" name="more old vs. older">
            <rule><!-- [1]: NNP? directly afterwards -->
                <antipattern><!-- more good gem summoning cards -->
                    <token>more</token>
                    <token skip="4" postag="JJ"/>
                    <token postag="NNP?S|VBG" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- more fat soluble -->
                    <token>more</token>
                    <token postag="JJ"/>
                    <token postag="JJ"/>
                </antipattern>
                <pattern>
                        <token postag="V.*" postag_regexp="yes" inflected="yes">be</token>
                    <marker>
                        <token skip="1" postag="DT"/>
                        <token>more<exception scope="previous" postag="CD"/></token>
                        <token regexp="yes" postag="JJ">&short_adjectives;</token>
                    </marker>
                        <token postag="NNP?" postag_regexp="yes">
                            <exception postag="CC|PRP.*|IN|MD|VBZ|RB" postag_regexp="yes"/>
                            <exception>ass</exception><!-- use of "ass" as an intensifier: more cheap ass electronics -->
                        </token>
                </pattern>
                <message>The adjective '\4' uses the short comparative form.</message>
                <suggestion>\2 <match no="4" postag="JJR"/></suggestion>
                <example correction="a elder|a older">She is <marker>a more old</marker> lady.</example>
                <example>There are more rich people now than ever before.</example>
                <example>There is more exciting stuff to come!</example>
                <example>This will make it more fat soluble.</example>
                <example>Will there be more blue gem summoning cards?</example>
                <example>There are more old people now.</example>
                <example>There are more poor old people every year.</example>
                <example>I get the feeling that more and more young people are losing their ability to distinguish...</example>
                <example>My brother has many more good books than I do.</example>
                <example>These days more young husbands help their wives with housework.</example>
                <example>Lately you see more young couples making out at the train station ticket...</example>
                <example>Eat more fresh vegetables.</example>
            </rule>
            <rule><!-- [2]: no NNP? directly afterwards -->
                <antipattern>
                    <token postag="CD"/>
                    <token regexp="yes">or|and</token>
                    <token>more</token>
                </antipattern>
                <antipattern>
                    <token postag="VBG"/>
                    <token min="0"/>
                    <token>more</token>
                </antipattern>
                <antipattern><!-- more late- than early-game -->
                    <token>more</token>
                    <token postag="JJ"/>
                    <token spacebefore="no" regexp="yes">-|–|—</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">no|some|one|any</token>
                    <token>more</token>
                </antipattern>
                <antipattern><!-- www.collinsdictionary.com/dictionary/english/all-the-more -->
                    <token>all</token>
                    <token>the</token>
                    <token>more</token>
                </antipattern>
                <antipattern><!-- www.collinsdictionary.com/dictionary/english/more-and-more -->
                    <token>more</token>
                    <token>and</token>
                    <token>more</token>
                </antipattern>
                <antipattern><!-- we need more (soft) light // might cause FNs if JJ == NN, e.g. silly -->
                    <token>more</token>
                    <token min="0" postag="JJ"/>
                    <token postag="NNP?S?(:UN)?" postag_regexp="yes"><exception regexp="yes">silly|back</exception></token>
                </antipattern>
                <antipattern><!-- more old than wise -->
                    <token>more</token>
                    <token postag="JJ"/>
                    <token regexp="yes">than|and|or</token><!-- "more harsh and/or shrill" needs its own rule -->
                    <token postag="JJ|VBN" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- I am more old than I am wise -->
                    <token>more</token>
                    <token postag="JJ"/>
                    <token>than</token>
                    <token regexp="yes">it?|you|s?he|we|they</token>
                    <token postag="VB[DPZ]?" postag_regexp="yes" inflected="yes">be</token>
                    <token postag="JJ"/>
                </antipattern>
                <antipattern><!-- leave "more hard headed" to the hyphen rule -->
                    <token>more</token>
                    <token postag="JJ"/>
                    <token postag="VB[DGN]" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- I wasn't really angry, I was more sad than anything -->
                    <token>more</token>
                    <token postag="JJ"/>
                    <token>than</token>
                    <token>anything</token>
                </antipattern>
                <antipattern>
                    <token>more</token>
                    <token>wide</token>
                    <token>open</token>
                </antipattern>
                <antipattern><!-- She could not have been any more brave -->
                    <token skip="1" regexp="yes">be(en)?</token>
                    <token>more</token>
                    <token postag="JJ"/>
                </antipattern>
                <pattern>
                        <token skip="2" postag="V.*" postag_regexp="yes" inflected="yes" regexp="yes">be|stay|become|remain|look|smell|sound|feel|taste</token>
                    <marker>
                        <token>more</token>
                        <token regexp="yes" postag="JJ">&short_adjectives;
                            <exception regexp="yes">soon|good|off|near</exception>
                            <exception scope="next" regexp="yes">news|info(rmation)?</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The adjective '\3' uses the short comparative form.</message>
                <suggestion><match no="3" postag="JJR"/></suggestion>
                <example correction="fiercer">She is <marker>more fierce</marker> than I.</example>
                <example correction="elder|older">She is <marker>more old</marker>.</example>
                <example correction="sillier">This example is <marker>more silly</marker> than the other.</example><!-- from old rule -->
                <example>The solution is more light.</example>
                <example>I am more hard headed.</example>
                <example>His use of color became more dark and muted.</example>
                <example>I was more sad than anything.</example>
                <example>Wright also lists Texas as his top team, while Ealy is more wide open.</example>
                <example>I could not be more proud.</example>
                <example>She couldn't have been any more brave.</example>
                <example>Tom is more wise than clever.</example>
                <example>I felt all the more sad to hear that.</example>
                <example>Knowing that, I am all the more happy.</example>
                <example>I was more and more sad with each passing day.</example>
                <example correction="happier">I was so much <marker>more happy</marker> back then.</example>
                <example>The problem is some more strange.</example>
                <example>There are no more big hybrid computers in this data center.</example>
                <example>We're building more new power plants than at any other time in our history.</example>
                <example>This holds true for numbers with three or more large prime factors.</example>
            </rule>
        </rulegroup>

        <rule id='SHORT_SUPERLATIVES' name="Short superlatives">
        <!--      Created by Tiago F. Santos, 2018-07-10      -->
            <antipattern>
                <token>the</token>
                <token>most</token>
                <token regexp='yes'>&short_adjectives;</token>
                <token regexp="yes">and|or</token>
                <token postag="JJ"/>
            </antipattern>
            <antipattern>
                <token>proud</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token regexp='yes'>&short_adjectives;</token>
                <token postag="NNS"/>
            </antipattern>
            <pattern>
                <token postag="V.*" postag_regexp="yes" inflected="yes" regexp="yes">be|stay|become|remain|look|smell|sound|feel|taste</token>
                <marker>
                    <token>the</token>
                    <token>most</token>
                    <token regexp='yes'>&short_adjectives;</token>
                </marker>
            </pattern>
            <message>This adjective uses the short superlative form.</message>
            <suggestion>\2 <match no='4' postag='(.+)' postag_regexp='yes' postag_replace='JJS'/></suggestion>
            <example correction="the silliest">This example is <marker>the most silly</marker> I have read.</example>
            <example>These are the industries yielding the most rich people.</example>
            <example>The Lone Star State passed New York as home to the most big companies in the latest list compiled by Fortune magazine.</example>
            <example>Of us four, I eat the most old cheese.</example>
            <example>He is the person who knows the most old people.</example>
            <example>She is the student I am the most proud of.</example>
            <example>They went off into what appears to be the most fierce and unreal battle ever.</example>
        </rule>

        <rule id="WILL_BECOMING" name="will becoming (be coming)">
            <pattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" min="0">
                    <exception postag="IN" />
                    <exception>live</exception>
                </token>
                <marker>
                    <token>becoming</token>
                </marker>
            </pattern>
            <message>Typo. Did you mean <suggestion>be coming</suggestion>?</message>
            <example correction="be coming">I will <marker>becoming</marker> to your party.</example>
            <example correction="be coming">Today's volume, already the highest in five months, suggests that this rebound may finally <marker>becoming</marker> to an end as many investors are taking profits.</example>
        </rule>

        <rulegroup id="WILL_BASED_ON" name="it would (be) appreciated">
            <short>Possible agreement error</short>
            <antipattern>
                <token regexp="yes">we|I</token>
                <token postag="RB" min="0" />
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token regexp="yes">we|I</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token regexp="yes">I|s?he|they|you</token>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token>appreciated</token>
            </antipattern>
            <antipattern>
                <token postag="W.*" postag_regexp="yes">
                    <exception>that</exception>
                </token>
                <token postag="MD" />
            </antipattern>
            <antipattern><!-- #3527 had his sinful evil nasty will changed! -->
                <token postag_regexp="yes" postag="VB.*" inflected="yes">have</token>
                <token postag="PRP$"/>
                <token min="1" max="4" postag="JJ"/>
                <token postag_regexp="yes" postag="NN(:UN?)?"/><!-- will/E-NP-plural -->
                <token postag="VBN"/>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception inflected="yes">have</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                        <exception>much</exception>
                    </token>
                    <marker>
                        <token regexp="yes">defined|related|[gd]one|delivered|made|tweaked|reproduced|replicated|rescheduled|treated|trumped|assigned|transferred|sponsored|accomplished|achieved|seen|caused|signed|interested|coordinated|expected|expanded|redirected|forwarded|increased|decreased|impacted|affected|reduced|handled|prepared|flooded|rotated|removed|emphasi[sz]ed|incorporated|restricted|limited|highlighted|compromised|improved|enhanced|allowed|mentioned|personali[zs]ed|installed|extended|terminated|prompted|warned|based|circulated|kept|released|started|analyzed|celebrated|opened|viewed|communicated|provided|powered|finalized|recovered|used|required|performed|generated|displayed|rendered|considered|closed|conducted|cancelled|built|changed|appreciated|notified|informed|enabled|disabled|activated|deactivated|encrypted|needed|associated|attached|announced|designated|heard|written|replaced|completed|finished|financed|held|escrowed|controlled|continued|passed|confirmed</token>
                    </marker>
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>Typo. Did you mean <suggestion>be \3</suggestion>?</message>
                <example correction="be delivered">They will <marker>delivered</marker> on the 11 o'clock run.</example>
                <example correction="be made">Of course, as we agreed at the hearing, service will <marker>made</marker> on the parties.</example>
                <example correction="be designated">A proposed northern bypass of Birmingham will <marker>designated</marker> as I-422.</example>
                <example correction="be used">May <marker>used</marker> to eat potatoes.</example>
                <example>Any info would be much appreciated.</example>
                <example>I'll do whatever you need done.</example>
                <example>Assuming we can get this credit information requirement satisfied, we would attached.</example><!-- caught by MD_BASEFORM -->
                <example>Caught by MD_BASEFORM: I would greatly appreciated your comments.</example>
                <example>I would really appreciated if you could give me some advice.</example><!-- caught by MD_BASEFORM -->
                <example>I made sure that he had his sinful evil nasty will changed!</example><!-- #3527 -->
                <example>Mary tried to convince Tom that she'd changed.</example>
                <example>investments they'd made in nuclear power</example>
                <example>Tom lied about what he'd seen.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                        <exception>much</exception>
                    </token>
                    <marker>
                        <token>much</token>
                        <token regexp="yes">defined|related|[gd]one|delivered|made|tweaked|reproduced|replicated|rescheduled|treated|trumped|assigned|transferred|sponsored|accomplished|achieved|seen|caused|signed|interested|coordinated|expected|expanded|redirected|forwarded|increased|decreased|impacted|affected|reduced|handled|prepared|flooded|rotated|removed|emphasi[sz]ed|incorporated|restricted|limited|highlighted|compromised|improved|enhanced|allowed|mentioned|personali[zs]ed|installed|extended|terminated|prompted|warned|based|circulated|kept|released|started|analyzed|celebrated|opened|viewed|communicated|provided|powered|finalized|recovered|used|required|performed|generated|displayed|rendered|considered|closed|conducted|cancelled|built|changed|appreciated|notified|informed|enabled|disabled|activated|deactivated|encrypted|needed|associated|attached|announced|designated|heard|written|replaced|completed|finished|financed|held|escrowed|controlled|continued|passed|confirmed</token>
                    </marker>
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>Typo. Did you mean <suggestion>be \3 \4</suggestion>?</message>
                <example correction="be much appreciated">It would <marker>much appreciated</marker>.</example>
            </rule>
        </rulegroup>

        <rule id="WOULD_NEVER_VBN" name="would never done (have done)">
            <pattern>
                <token regexp="yes">(c|w|sh)ould</token>
                <token>never</token>
                <token postag="VBN">
                    <exception postag="VBP?" postag_regexp="yes" />
                    <exception>had</exception><!-- caught by MD_BASEFORM -->
                </token>
            </pattern>
            <message>Typo. Did you mean <suggestion>\1 \2 have \3</suggestion>?</message> <!-- better -->
            <example correction="would never have done">I <marker>would never done</marker> that.</example>
        </rule>

        <rulegroup id="MD_BASEFORM" name="Non-infinitive verb after modal verbs">
            <antipattern><!-- The garbage can gave off a bad smell. -->
                <token regexp="yes">garbage|trash|rubbish|metal|the|a</token>
                <token>can</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token postag="W.*" postag_regexp="yes" min="0" />
                <token postag="MD" />
                <token postag="VBG"/>
            </antipattern>
            <antipattern>
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP" postag_regexp="yes">
                    <exception>that</exception>
                </token>
                <token case_sensitive="yes" skip='1' regexp="yes">May|Will</token>
                <token postag="VB[DZ]" postag_regexp="yes" regexp="yes" case_sensitive="yes">[a-z]+</token>
            </antipattern>
            <antipattern><!-- Premium #999 www.lexico.com/definition/at_will -->
                <token>at</token>
                <token>will</token>
                <token postag="VB[DGZ]" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- will fed ex -->
                <token postag="MD"/>
                <token>Fed</token>
                <token>Ex</token>
            </antipattern>
            <antipattern><!-- can rabbits swim? -->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|``|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token postag="JJ" min="0" />
                <and>
                    <token postag="NNS" />
                    <token postag="VBZ" />
                </and>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- why can't updates be ... -->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token>n't</token>
                <token postag="JJ" min="0" />
                <and>
                    <token postag="NNS" />
                    <token postag="VBZ" />
                </and>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- can rabbits in shoes ... ? -->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token postag="JJ" min="0" />
                <and>
                    <token postag="NNS" />
                    <token postag="VBZ" />
                </and>
                <token postag="IN" skip="-1" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Can pearls and other gems heal the body?-->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token postag="JJ" min="0" />
                <and>
                    <token postag="NNS" />
                    <token postag="VBZ" />
                </and>
                <token regexp="yes">and|or|&amp;</token>
                <token chunk="B-NP-plural" skip="-1" />
            </antipattern>
            <antipattern><!-- Could frozen adjusters cause this?-->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token postag="JJ" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I will thanks. -->
                <token>I</token>
                <token postag="RB" min="0" />
                <token regexp="yes">will|can</token>
                <token>thanks</token>
                <token min="0" postag="NNP" />
                <token postag="PCT" />
            </antipattern>
            <antipattern><!-- I will thanks in advance. -->
                <token>I</token>
                <token postag="RB" min="0" />
                <token regexp="yes">will|can</token>
                <token>thanks</token>
                <token>in</token>
                <token>advance</token>
            </antipattern>
            <antipattern><!-- I will thanks so much. -->
                <token>I</token>
                <token postag="RB" min="0" />
                <token regexp="yes">will|can</token>
                <token>thanks</token>
                <token min="0">so</token>
                <token>much</token>
            </antipattern>
            <antipattern><!-- Should voting be mandatory? -->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token>voting</token>
                <token>be</token>
                <token postag="RB" min="0" />
                <token postag="JJ" />
            </antipattern>
            <antipattern><!-- Would rebooting make any difference? -->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token postag="VBG" skip="-1" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Wouldn't rebooting make any difference? -->
                <token postag="CC|SENT_START|PCT|WRB|WDT|WP|UNKNOWN" postag_regexp="yes">
                    <exception>that</exception>
                    <exception regexp="yes">&apostrophe;.*</exception>
                </token>
                <token postag="MD" />
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" />
                <token postag="VBG" skip="-1" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- as soon as I can concerning/considering/regarding the ... -->
                <token regexp="yes">as|that|than|what</token>
                <token postag="NNP|PRP" postag_regexp="yes" />
                <token postag="MD" />
                <token postag="VBG" />
                <token postag="DT|PRP\$|IN" postag_regexp="yes" />
            </antipattern>
            <!-- problem in: I'm not the only one who'll doing that. -->
            <antipattern>
                <token regexp="yes">free|than|whom|which|a|the|neither|nor</token> <!-- removed: who -->
                <token postag="MD" />
            </antipattern>
            <antipattern><!-- I can really fucking do it -->
                <token regexp="yes">fucking?|freaking?</token>
                <token min="0" regexp="yes">&apostrophe;</token>
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- how much should changing ... -->
                <token>how</token>
                <token postag="JJ" />
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token>breaking</token>
                <token regexp="yes">changes?</token>
            </antipattern>
            <antipattern>
                <token>daily</token>
                <token regexp="yes">deals?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">per|since|until|till?</token>
                <token>may</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token>of</token>
                <token>may</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token regexp="yes">so|there</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token>n't</token>
                <token regexp="yes">so|there</token>
            </antipattern>
            <antipattern><!-- if you can't does that-->
                <token regexp="yes">if|when</token>
                <token postag="PRP" />
                <token regexp="yes">ca|wo</token>
                <token spacebefore="no">n't</token>
                <token>does</token>
                <token regexp="yes">that|this|it</token>
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- what will online classes look like? -->
                <token postag="MD" />
                <token postag="JJ.*" postag_regexp="yes" />
                <and>
                    <token postag="NNS" />
                    <token postag="VBZ" />
                </and>
                <token skip="-1" />
                <token>?</token>
            </antipattern>
            <antipattern><!-- ... whatever assurance they could concerning the -->
                <token regexp="yes" skip="3">(what|who|which|when)ever</token>
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="MD" />
                <token regexp="yes">considering|concerning|including|regarding</token>
                <token />
                <token />
            </antipattern>
            <antipattern><!-- the name should strictly speaking only be associated with the latter two. -->
                <token postag="MD" />
                <token regexp="yes">statistically|geographically|ethically|narrowly|honestly|frankly|generally|technically|legally|strictly|personally|broadly|cognitively|loosely|roughly|intuitively|practically</token>
                <token>speaking</token>
            </antipattern>
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token>last</token>
                <token>will</token>
            </antipattern>
            <antipattern><!-- I checked as thoroughly with him as I could making sure ... -->
                <token skip="3">as</token>
                <token>as</token>
                <token postag="NNP|PRP" postag_regexp="yes" />
                <token postag="MD" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- ... and so will results.-->
                <token>so</token>
                <token postag="MD" />
                <token postag="NNS|NN:UN?|NNP" postag_regexp="yes" />
                <token postag="PCT|CC" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">in|until|till?|from|by|before|after|since</token>
                <token>may</token>
            </antipattern>
            <antipattern><!-- not only can giving him ... -->
                <token>not</token>
                <token>only</token>
                <token postag="MD" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- "needs" used as an archaic adverb (https://www.lexico.com/definition/needs) -->
                <token>must</token>
                <token>needs</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/often_times -->
                <token>often</token>
                <token>times</token>
            </antipattern>
            <antipattern><!-- Incorrect chunking and missing question mark: Kim Can Marketing furnish the agreement for this project. -->
                <token postag="MD" chunk_re=".-VP" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="B-NP-.*" />
                <token postag="VB" />
                <token postag="DT|PRP\$" postag_regexp="yes" chunk_re=".-NP-.*" />
                <token chunk_re=".-NP-.*" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0" max="2">
                        <exception regexp="yes">live|online</exception>
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token postag="VBG">
                            <exception postag="VBP|NNP" postag_regexp="yes"/>
                            <exception inflected="yes">be</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The modal verb '<match no="1" regexp_match="([dt])n$" regexp_replace="$1" />' requires the verb's base form.</message>
                <suggestion><match no="4" postag="VB"/></suggestion>
                <suggestion>be <match no="4" /></suggestion>
                <short>Grammatical problem: use the base form</short>
                <example correction="come|be coming">They will <marker>coming</marker> home.</example>
                <example>They will <marker>come</marker> home.</example>
                <example>They commonly produce much stronger odors than they would sitting under water in a western toilet.</example>
                <example correction="go|be going">Peter will <marker>going</marker> to the cinema.</example>
                <example correction="go|be going">Peter will really <marker>going</marker> to the cinema.</example>
                <example correction="become|be becoming">Eric Boyt will <marker>becoming</marker> around tomorrow for a notional quote.</example><!-- #3262 -->
                <example correction="take|be taking">Andy Zipper will <marker>taking</marker> over responsibility for EnronOnline.</example><!-- #3262 -->
                <example correction="get|be getting">Since EOL will <marker>getting</marker> even more information to protect and ...</example><!-- #3262 -->
                <example correction="think|be thinking">We must <marker>thinking</marker> alike.</example>
                <example correction="go|be going">It will never <marker>going</marker> to happen.</example>
                <example correction="go|be going">I hope you'll <marker>going</marker> sailing today.</example>
                <example correction="stay|be staying">In fact I will <marker>staying</marker> a month.</example>
                <example correction="stay|be staying">In fact I will not always <marker>staying</marker> a month.</example>
                <example correction="schedule|be scheduling">El Paso will <marker>scheduling</marker> the gas on contract #3453.</example>
                <example correction="try|be trying">I'll still <marker>trying</marker> to get a time frame for this standard.</example>
                <example correction="do|be doing">I'm not the only one who'll <marker>doing</marker> that.</example>
                <example>Should voting be mandatory?</example>
                <example>Can running it more times make things worse?</example>
                <example>Would rebooting make any difference?</example>
                <example>Kim Can Marketing furnish the agreement for this project.</example>
                <example>Wouldn't rebooting make any difference?</example>
                <example>Games won't distract her nor will <marker>dancing</marker>.</example>
                <example>How would suggesting people actually work?</example>
                <example>Will doing that help?</example><!-- #3310 -->
                <example>She has talked to Will regarding this and he said it may be Monday before that can be corrected.</example>
                <example>Why couldn’t existing accounts be migrated?</example>
                <example>How dangerous would doing that be?</example>
                <example>Why could existing accounts be migrated?</example>
                <example>Although several of the expressions above often are used as Beer–Lambert law, the name should strictly speaking only be associated with the latter two.</example>
                <example>What will online classes be like?</example>
                <example>The garbage can gave off a bad smell.</example>
                <example>What will hiring managers be like?</example>
                <example>Would pulling the batteries for a few minutes work?</example>
                <example>You should live staring reality right in the eye.</example>
                <example>How much should changing brake pads and rotors cost?</example>
                <example>Can reporting for jira and confluence users be combined or do they need to be separate?</example>
                <example type="triggers_error">Would breaking out 'big tech' work?</example>
                <example>How would targeting work?</example><!-- #3309 -->
                <example>Should voting be mandatory?</example>
                <example>Not only can giving her homework help, it also keeps here busy.</example>
                <example>I checked as thoroughly with him as I could making sure it was not some sort of bottom feeder.</example>
                <example>Absalon died at Sorø Abbey on March 21, 1201, 73 years old, with his last will granting his personal holdings to the Abbey, apart from Fjenneslev which went to Esbern Snarre.</example>
                <example>Per may contacts at Cadwalader, they cannot assist us on J Aron or Goldman Sachs.</example>
                <example>> Would switching to the newer hub help?</example><!-- Note the '>' at the start of the text. -->
                <example>> Would rebooting make any difference?</example>
                <example>2) Would rebooting make any difference?</example>
                <example>... and what would encrypting public posts achieve?</example>
                <example type="triggers_error">The keys you get from that will help you complete your legendary collection, as will spending event keys at the right times.</example>
                <example type="triggers_error">Maybe he can drop some knowledge since he can fucking OHP this more than I can flat bench it.</example>
                <example>Someone high up should contract the Mayor and the City Attorney to give them whatever assurance they could concerning their concerns.</example>
                <example>What will losing the war mean to us?</example><!-- #3527 -->
            </rule>
            <rule>
                <antipattern><!-- I'll forward copies to -->
                    <token postag="MD"/>
                    <token postag_regexp="yes" postag="VBP?"/>
                    <token postag="NNS"/><!-- copies/B-ADJP -->
                    <token postag="IN"/>
                </antipattern>
                <antipattern><!-- #3527 having their sinful will broken. -->
                    <token postag_regexp="yes" postag="VB.*" inflected="yes">have</token>
                    <token postag="PRP$"/>
                    <token min="1" max="4" postag="JJ"/>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/><!-- will/B-VP -->
                    <token postag="VBN"/>
                </antipattern>
                <antipattern><!-- #3527 One's own will overrides -->
                    <token postag="POS"/>
                    <token postag="JJ"/>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/><!-- will/B-VP -->
                    <token postag_regexp="yes" postag="VB[ZD]?"/>
                </antipattern>
                <antipattern><!-- #3527 this will happened to be wrong-->
                    <token>this</token>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/><!-- will/B-VP -->
                    <token postag_regexp="yes" postag="VB[ZD]?"/>
                    <token>to</token>
                    <token>be</token>
                </antipattern>
                <antipattern><!-- #3264 we can based on the bids available. -->
                    <token regexp="yes">&subject_pronouns;</token>
                    <token postag="MD"/>
                    <token>based</token>
                    <token>on</token>
                    <token chunk="B-NP-plural"/>
                    <token min="0" max="4" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                    <token postag="JJ"/>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern><!-- Dickens's will stipulated that -->
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token postag="POS">'s</token>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag_regexp="yes" postag="VB[ZD]?"/><!-- stipulated/I-ADJP -->
                </antipattern>
                <antipattern> <!-- YA_LL -->
                    <token>ya</token>
                    <token>'ll</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception inflected="yes">have</exception> <!-- It could be done in disambiguation -->
                    </token>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN" />
                        <exception>live</exception>
                    </token>
                    <marker>
                        <token postag="VB[DZN]" postag_regexp="yes">
                            <exception postag="VBP|NNP" postag_regexp="yes"/>
                            <exception inflected="yes">be</exception>
                            <exception>buses</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The modal verb '<match no="1" regexp_match="([td])n$" regexp_replace="$1" />' requires the verb's base form.</message>
                <suggestion><match no="3" postag="VB"/></suggestion>
                <short>Grammatical problem: use the base form</short>
                <example correction="come">They will <marker>came</marker> home.</example>
                <example>They will <marker>come</marker> home.</example>
                <example correction="have">I would definitely <marker>has</marker> that.</example>
                <example correction="designate">A proposed northern bypass of Birmingham will <marker>designated</marker> as I-422.</example>
                <example correction="convey">He may <marker>conveys</marker> the message.</example>
                <example correction="show">He will <marker>shows</marker> you the samples.</example><!-- Premium #999 -->
                <example correction="validate">This fits the current business pattern (Dennis Lee and Perry Frazier will <marker>validated</marker> this in model office).</example><!-- #3262 -->
                <example correction="hear">Sponsored by CalEnergy, AB 45x will <marker>heard</marker> in the Assembly Appropriations Committee next.</example><!-- #3262 -->
                <example correction="send">Tell Neil Dad will <marker>sent</marker> a fishing report when he has one.</example><!-- #3262 -->
                <example correction="choose">... and that the counterparty will <marker>chose</marker> to transact through us.</example><!-- #3262 -->
                <example correction="hap">... and we both agreed that the wire transfer will <marker>happed</marker> TOMORROW (Tuesday 11/27).</example><!-- #3262 Archaic remove? -->
                <example correction="complete">The water treatment plant will <marker>completed</marker> by about the time that the 7th barge is place into service.</example><!-- #3262 -->
                <example correction="replace">Jim Kelch will <marker>replaced</marker> Keels for the 2011 season.</example><!-- #3262 -->
                <example correction="finance">This project will <marker>financed</marker> by a structure where Enron forms a joint venture (JV) with an independent third party.</example><!-- #3262 -->
                <example correction="circulate">The program will <marker>circulated</marker> shortly.</example><!-- #3262 -->
                <example correction="hold">Algeria will <marker>held</marker> presidential elections on July 4, 2019.</example><!-- #3262 -->
                <example correction="escrow">The balance of the purchase price will <marker>escrowed</marker> by Panda upon approval of the Facility Agreement.</example><!-- #3262 -->
                <example correction="fit">Sounds like the christening schedule will <marker>fits</marker> perfectly into that.</example><!-- #3262 -->
                <example correction="cover">The deal with Oxy Vinyls (#276478) will <marker>covers</marker> the volume for all of October.</example><!-- #3262 -->
                <example correction="base">Pricing will <marker>based</marker> on Gas Daily.</example><!-- #3262 -->
                <example correction="perform">It is our understanding that this process will <marker>performed</marker> in Australia.</example><!-- #3262 -->
                <example correction="control">... that the private interest of men, even of bad men, will <marker>controlled</marker> and directed as to serve and produce the public good.</example><!-- #3262 -->
                <example correction="continue">Stacey will <marker>continues</marker> to advocate this issue.</example><!-- #3262 -->
                <example correction="require">... and bring the cost into a Level "B" will <marker>required</marker> a defined scope with Agave.</example><!-- #3262 -->
                <example correction="make">Short name change will <marker>made</marker> on 02/02/01.</example><!-- #3262 -->
                <example correction="hap">I assume the same thing will <marker>happed</marker> for November production.</example><!-- #3262 -->
                <example correction="make">Once the maximum has been met, a subsidy of $5.00 will <marker>made</marker> per ride.</example><!-- #3262 -->
                <example correction="allow">However, the bigger question is whether Enron will <marker>allows</marker> us to file with FERC.</example><!-- #3262 -->
                <example correction="make">Of course, as we agreed at the hearing, service will <marker>made</marker> on the parties.</example><!-- #3262 -->
                <example correction="pass">All recoveries in bankruptcy will <marker>passed</marker> to the insurance underwriters if we decide to make the claim.</example><!-- #3262 -->
                <example correction="donate">Just click then click on your favorite team's helmet and Campbell will <marker>donated</marker> a can of soup.</example><!-- #3262 -->
                <example correction="appreciate">I would greatly <marker>appreciated</marker> your comments.</example>
                <example correction="see">I can’t <marker>seen</marker> to ascend the Nobend Brothers to mythic.</example>
                <example correction="have">Mozilla should <marker>has</marker> a grammar checker.</example>
                <example correction="have">Mozilla should not really <marker>has</marker> a grammar checker.</example>
                <example correction="have">Mozilla must <marker>has</marker> a grammar checker.</example><!-- https://forum.languagetool.org/t/must-missing-in-some-rules/4526 -->
                <example correction="base">The decisions we can <marker>based</marker> on the information available are likely to be wrong because the information is not accurate.</example><!-- #3264 -->
                <example correction="CC">I will <marker>CC'd</marker> you.</example>
                <example>Mozilla should <marker>have</marker> a grammar checker.</example>
                <example>The must has an unusual colour today. Please check the filters.</example>
                <example type="triggers_error">This can <marker>holds</marker> about 4 gallons.</example><!-- Ambiguous. NN+VBZ is correct. MD+VBZ is not correct. TODO: a special rule for the nouns can/will/must. -->
                <example type="triggers_error">This can contains water.</example>
                <example type="triggers_error">This can contains an oil sample.</example>
                <example>Which can contains water?</example>
                <example type="triggers_error">Whose can contains a sample of the contaminant?</example>
                <example>Confederate commanders would need it should troops pass that way in retreat.</example>
                <example>May sometimes <marker>spends</marker> the time by herself.</example>
                <example>When will versions of enterprise release be announced?</example>
                <example>Will associated dialogs be displayed automatically when appropriate?</example>
                <example>Would rebooting make any difference?</example>
                <example>Wouldn't rebooting make any difference?</example>
                <example>Nothing he <marker>did</marker> helped.</example>
                <example>Latest News: Government May Sometimes <marker>Spends</marker> More Money Than It Has.</example><!-- False negative because disambiguation UPPER_NNP removes MD. -->
                <example>Games won't distract her nor will <marker>dancing</marker>.</example>
                <example>The ability to model and modify systems at will affords science an ethical method of...</example><!-- Premium #999. -->
                <example>How can kids help?</example>
                <example>How would suggesting people actually work?</example>
                <example>Can rabbits swim?</example>
                <example>Could frozen adjusters cause this?</example>
                <example>Can hot tubs make you infertile?</example>
                <example>I will fed ex them to you this evening.</example>
                <example>Haven says it will withstand up to 50 kicks.</example>
                <example>Would logs help?</example>
                <example>Maybe he can drop some knowledge since he can fucking OHP this more than I can flat bench it.</example>
                <example>If you can’t does that bug you.</example>
                <example>Ok, I will thanks.</example>
                <example>As individuals differ, so will results.</example>
                <example>The questions about who the fat technicians really are must not let us become distracted from the...</example><!-- #3364 -->
                <example>I'll forward copies to everyone who is interested as soon as I get a copy.</example>
                <example>We'll forward copies of above.</example>
                <example>The Bible is clear that humans do not achieve greatness without having their sinful will broken.</example><!-- #3527 -->
                <example>I made sure that he had his sinful evil nasty will changed!</example><!-- #3527 -->
                <example>One's own will overrides any command.</example><!-- #3527 -->
                <example>Unfortunately, this will happened to be wrong, because the legal team was careless.</example><!-- #3527 -->
                <example>This will happens to be wrong.</example><!-- #3527 -->
                <example>We are making the most economical decisions we can based on the bids available.</example><!-- #3264 -->
                <example>If it must needs be so, do what you will.</example>
                <example>Dickens's will stipulated that no memorial be erected in his honour.</example>
                <example>How high can birds fly?</example>
                <example>It was the most beautiful thing I'd ever seen.</example>
                <example>I wish you'd told me you were married.</example>
                <example>Optometrists can supply colored spectacle lenses or a single red-tint contact lens to wear on the non-dominant eye.</example>
                <example>Marubeni Corporation will supply advanced construction machinery to OAO Stroytransgaz, Russian construction company that will use the equipment to complete a gas pipeline from Russia to Turkey.</example>
                <example>"Can dogs talk?", Tom asked.</example>
                <example>Turing disavowed any interest in terminology, saying that even "Can machines think?" is too loaded with spurious connotations to be meaningful.</example>
            </rule>
        </rulegroup>

        <rulegroup id="DID_BASEFORM" name="Non-infinitive verb after did/does">
            <rule>
                <antipattern><!-- I did thanks. -->
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token>did</token>
                    <token>thanks</token>
                    <token min="0" postag="NNP" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern><!-- I did thanks in advance. -->
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token>did</token>
                    <token>thanks</token>
                    <token>in</token>
                    <token>advance</token>
                </antipattern>
                <antipattern><!-- I did thanks so much. -->
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token>did</token>
                    <token>thanks</token>
                    <token min="0">so</token>
                    <token>much</token>
                </antipattern>
                <antipattern><!-- Some research I did revealed that Postman could import cURL. -->
                    <token postag="DT" chunk="B-NP-singular" />
                    <token chunk="I-NP-singular" min="0" />
                    <token chunk="E-NP-singular" />
                    <token postag="NNP|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">did|does</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="8">Everything|Anything|Nothing|What|All</token>
                    <token regexp="yes">did|does</token>
                </antipattern>
                <antipattern><!-- Father does gardening whenever he gets a chance. -->
                    <token regexp="yes">does|did</token>
                    <token regexp="yes">jogging|swimming|shopping|dancing|hiking|camping|kayaking|skating|riding|climbing|diving|hunting|bowling|surfing|trekking|backpacking|snowshoeing|rollerblading|biking|sailing|paddleboarding|fishing|picking|skiing|golfing|snowboarding|cheerleading|skydiving|gardening</token>
                </antipattern>
                <antipattern><!-- He does well considering that he has no experience. -->
                    <token regexp="yes">does|did</token>
                    <token postag="RB" />
                    <token regexp="yes">considering|concerning|including|regarding</token>
                </antipattern>
                <antipattern><!-- Does turning on the ... -->
                    <token postag="CC|SENT_START|PCT|WRB|WP" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token regexp="yes">did|does</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern><!-- Mobil Exxon only does hedging. -->
                    <token regexp="yes">does|did</token>
                    <token postag="NN:UN|JJ" postag_regexp="yes" />
                    <token postag="PCT|CC" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">&quote;</token>
                    <token postag="W.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">did|does</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes" spacebefore="no">did|does</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="W.*" postag_regexp="yes" spacebefore="no" />
                    <token regexp="yes">did|does</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- During the weekends, she does housekeeping as a second job. -->
                    <token regexp="yes">did|does</token>
                    <and>
                        <token chunk="B-NP-singular"/>
                        <token postag="VBG"/>
                    </and>
                    <token postag="IN|PCT|CC|TO" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- During the weekends, she does housekeeping as a second job. -->
                    <token regexp="yes">did|does</token>
                    <and>
                        <token chunk="B-NP-plural"/>
                        <token postag="VBG"/>
                    </and>
                    <token postag="IN|PCT|CC|TO" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Sami does amazing things -->
                    <token regexp="yes">did|does</token>
                    <token postag="RB" min="0" />
                    <and>
                        <token chunk="B-NP-singular"/>
                        <token postag="JJ"/>
                    </and>
                    <token postag="IN|PCT|CC|TO" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Sami does amazing things -->
                    <token regexp="yes">did|does</token>
                    <token postag="RB" min="0" />
                    <and>
                        <token chunk="B-NP-plural"/>
                        <token postag="JJ"/>
                    </and>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- ... He does tests to find out ... -->
                    <token regexp="yes">did|does</token>
                    <token postag="JJR?" postag_regexp="yes" min="0" />
                    <and>
                        <token chunk="B-NP-plural"/>
                        <token postag="NNS"/>
                    </and>
                    <token postag="IN|PCT|CC|TO" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- https://en.bab.la/dictionary/english-french/do-marvels -->
                    <token inflected="yes">do</token>
                    <token>marvels</token>
                </antipattern>
                <antipattern><!-- did so minutes -->
                    <token regexp="yes">do(es)?|did</token>
                    <token>so</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!--  #3107 did was amazing -->
                    <token>did</token>
                    <token regexp="yes">was|were|is|are</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ"/>
                </antipattern>
                <antipattern>
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token>did</token>
                    <token>thanks</token>
                    <token min="0" postag="NNP" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern><!-- Did running it ...? -->
                    <token postag="CC|SENT_START|PCT|WRB|WP" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token regexp="yes">did|does</token>
                    <token postag="VBG" skip="6" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Did electrically assisted power steering exist back then? -->
                    <token postag="W.*|SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">did|does</token>
                    <token postag="RB" min="0" />
                    <token postag="JJ" min="1" max="2" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Sami did so much counseling. -->
                    <token regexp="yes">did|does</token>
                    <token>too</token>
                    <token>much</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">did|does</token>
                    <token regexp="yes">n't|not</token>
                    <token regexp="yes">t?here|so</token>
                </antipattern>
                <antipattern><!-- Sami did very well counseling. -->
                    <token regexp="yes">did|does</token>
                    <token regexp="yes">t?here|so</token>
                </antipattern>
                <antipattern><!-- Sami did very little testing -->
                    <token regexp="yes">did|does</token>
                    <token regexp="yes">very|really</token>
                    <token postag="JJ" />
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token>breaking</token>
                    <token regexp="yes">changes?</token>
                </antipattern>
                <antipattern>
                    <token>daily</token>
                    <token regexp="yes">deals?</token>
                </antipattern>
                <antipattern><!-- what time does boarding begin? -->
                    <token postag="W.*" postag_regexp="yes" />
                    <token postag="NN:UN?" postag_regexp="yes" />
                    <token regexp="yes">did|does</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token>does</token>
                    <token>does</token>
                </antipattern>
                <antipattern>
                    <token>did</token>
                    <token>did</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">than|what|that|which</token>
                    <token postag="NNP|UNKNOWN" postag_regexp="yes" min="1" max="2" />
                    <token regexp="yes">does|did</token>
                    <token><exception regexp="yes">not|n't</exception></token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>DID</token><!-- name -->
                    <token regexp="yes">does|did</token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token>only</token>
                    <token regexp="yes">does|did</token>
                    <token postag="VBG" />
                    <token postag="DT|NN.*|JJ" postag_regexp="yes" skip="5" />
                </antipattern>
                <antipattern><!-- I did really fucking do it -->
                    <token regexp="yes">fucking?|freaking?</token>
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- www.lexico.com/definition/depending_on -->
                    <token postag="CC"/>
                    <token regexp="yes">did|does</token>
                    <token min="0">n't</token>
                    <token regexp="yes">depending|based</token>
                    <token regexp="yes">(up)?on</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes">regarding|clothes|clothing|guys|kids|companies|clowns|flowers|people</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">tomorrow|today</token>
                    <token>evening</token>
                </antipattern>
                <antipattern>
                    <token>so</token>
                    <token regexp="yes">does|did</token>
                    <token>working</token>
                    <token>hard</token>
                </antipattern>
                <antipattern>
                    <token>says</token>
                    <token>a</token>
                    <token>lot</token>
                    <token>about</token>
                </antipattern>
                <antipattern>
                    <token>did</token>
                    <token>amazing</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token>well</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token postag="W.*" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <token inflected="yes">do</token>
                </antipattern>
                <antipattern><!-- the things we did growing up-->
                    <token>the</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token inflected="yes">do</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token skip="2">as</token>
                    <token>as</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token inflected="yes">do</token>
                    <token postag="VBG" />
                </antipattern>
                <pattern>
                    <token>
                        <exception scope="previous" regexp="yes">than|what</exception>
                        <exception regexp="yes">free|than|wh(?:om?|ich)|a|the|neither|nor</exception>
                    </token>
                    <token regexp="yes">did|does</token>
                    <token min="0">n't</token>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN" />
                        <exception regexp="yes">live|online</exception>
                    </token>
                    <marker>
                        <token postag="VB[DNGZ]" postag_regexp="yes">
                            <exception postag="VBP|NNP" postag_regexp="yes"/>
                            <exception inflected="yes">be</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The auxiliary verb 'do' requires the base form of the verb.</message>
                <suggestion><match no="5" postag="VB"/></suggestion>
                <short>Grammatical problem: use the base form</short>
                <example correction="go">Peter did <marker>went</marker> to the cinema.</example>
                <example>All I did was to go to the cinema.</example>
                <example correction="walk">He did always <marker>walked</marker> to his house.</example>
                <example correction="walk">He did <marker>walking</marker> to his house.</example>
                <example correction="happen">A catastrophe that did not <marker>happened</marker>...</example>
                <example correction="test">She did <marker>testing</marker> the samples.</example>
                <example correction="test">I just did <marker>tests</marker> that carefully.</example><!-- Compare with the correct #2458 example -->
                <example correction="work">Did not <marker>worked</marker>.</example>
                <example correction="have">Since he does not really <marker>has</marker> any connection with us...</example>
                <example correction="have">Since he does not <marker>has</marker> any connection with us...</example><!-- DOES_X_HAS -->
                <example correction="squeal">Mine doesn’t exactly <marker>squealing</marker> though.</example>
                <example correction="use">I didn't <marker>used</marker> to smoke.</example>
                <example correction="drink">Even though Tom doesn't drink beer, he does <marker>drinks</marker> wine.</example>
                <example correction="have">Such a branch is said a parabolic branch, even when it does not <marker>has</marker> any parabola that is a curvilinear asymptote.</example>
                <example correction="become">Sami didn't <marker>became</marker> a victim.</example>
                <example correction="mean">"Don't lie" doesn't necessarily <marker>means</marker> "tell the truth".</example>
                <example correction="do">Sami doesn't usually <marker>does</marker> this.</example>
                <example correction="know">Tom thinks that Mary doesn't <marker>knows</marker> what to do.</example>
                <example correction="drink">I didn't <marker>drunk</marker> a glass of wine.</example>
                <example correction="depend">I didn't <marker>depending</marker> on LanguageTool for all my proofreading requirements.</example>
                <example>Warnings did go ignored.</example>
                <example>It is so broad that Accenture could argue that anything Enron does adversely <marker>affects</marker> Accenture and that Enron has to pay Accenture...</example>
                <example>He did walks to his house.</example><!-- ambiguous -->
                <example>She did <marker>experiments</marker> to test the efficacy of the medication.</example>
                <example>She did <marker>testing</marker> for a TV show.</example>
                <example>Did <marker>giving</marker> him money help?</example>
                <example>Layla did as instructed.</example>
                <example>I did online shopping with my friends.</example>
                <example>Or did changing it not make any difference?</example>
                <example>But not only does trimming the hedges keep them from growing haphazardly.</example>
                <example>When does AIDS develop?</example>
                <example>Or did testing reveal something scary?</example>
                <example>Nothing he <marker>did</marker> helped.</example>
                <example>Video games didn't distract him, nor did <marker>dancing</marker>.</example>
                <example>Pulling the trace high had no apparent effect, neither did <marker>pulling</marker> it low.</example>
                <example>Talking to the bully did not stop him. And neither did <marker>hitting</marker> him.</example>
                <example>They were both scared: neither did <marker>confronting</marker> the bully.</example><!-- False negative with emphatic 'do'. -->
                <example>The intensive course <marker>did marvels</marker> for my French.</example>
                <example>He enjoys it as much as he does writing it.</example>
                <example>He does well working with others.</example>
                <example>I had great trouble getting to sleep last night and probably only did so minutes before the quake.</example><!-- regression 2020-06-11 -->
                <example>What the offensive line did was amazing.</example><!-- #3107 -->
                <example>What the team did was amazing.</example><!-- #3107 -->
                <example>Re local processing and scheduling, does turning on a light when there’s motion also work should you lose Internet connection?</example>
                <example>Does tapping on the accessory still turn on the Master switch?</example>
                <example>What the offensive line did was interesting.</example><!-- #3107 -->
                <example>Does setting the load setting between incandescent and LED make difference?</example>
                <example>The tests that the technicians sometimes did were fascinating.</example><!-- #3107 -->
                <example>John Smith did rewrites.</example>
                <example>John Smith did rewrites for the editorial department.</example>
                <example>Sami did drugs.</example>
                <example>On Monday I did squats.</example>
                <example>Sami never did drugs.</example>
                <example>Did electrically assisted power steering exist back then?</example>
                <example>Sami did drugs at work.</example>
                <example>Didn’t there used to be a link in the menu to donate to the podmin too?</example> <!-- TODO: decteted by AUXILIARY_DO_WITH_INCORRECT_VERB_FORM -->
                <example>One does keep it in his backpack, and it does very well tracking him away and home.</example>
                <example>Some research I did revealed that Postman could import cURL.</example>
                <example type="triggers_error">The sessions you just did reminds me of something I would do.</example>
                <example type="triggers_error">Supposedly 160k players did Ranked PvP this week.</example><!-- Better as 'played Ranked PvP', but the grammar is correct. -->
                <example>In any case my kids (10 and 12) are very interested and it gives me a chance to explain how the system works (or doesn't depending on your viewpoint).</example>
                <example>Or did testing reveal something scary?</example>
                <example>Sami did so much counseling.</example>
                <example>I did very little testing.</example>
                <example>What time does boarding begin?</example>
                <example>Lots of what Enron does addresses asymmetrical markets by improving information.</example>
                <example>I think we should be VERY careful what we say in such a letter, because it will be the GISB Board that decides what the organization does going forward, and the EC will decide how to handle any requests for standards if and as they are proposed.</example>
                <example>I just opened and shut the front door and no acceleration events showed up though the contact events did so there does appear to be a problem.</example>
                <example>... time on the partnerships than they did working full time for Enron.</example>
                <example>Lots of what Enron does addresses asymmetrical markets by improving information.</example>
                <example type="triggers_error">Tom does exercises every morning.</example><!-- this is ok -->
                <example>Nothing that Tom does surprises me anymore.</example>
                <example>Father does gardening whenever he gets a chance.</example>
                <example>During the weekends, she does housekeeping as a second job.</example>
                <example>It really helps us out, and I think it does wonders for her ego too.</example>
                <example>Nearly everything a computer programmer does requires him or her to consider how to manage memory.</example>
                <example>Sami does cycling.</example>
                <example>What time does boarding begin?</example>
                <example>Ok, I did thanks.</example>
                <example>Coconut oil does wonders!</example>
                <example>Les said he usually has to explain the methodology a few times when he does deals with these guys, so it's nothing new.</example>
                <example>He does well considering that he has no experience.</example>
                <example>Mobil Exxon only does hedging.</example>
                <example>This aspect of familiarity does wonders in terms of relating to the viewer, and it presents a world that certainly resembles our very own.</example>
                <example>What Tom does makes me angry.</example>
                <example>Sami does hard drugs.</example>
                <example>Sami does amazing things.</example>
                <example>Sami does really amazing things.</example>
                <example>In today's world, alchemy has less to do with transmuting lead into gold than it does turning silicon into cash.</example>
                <example>Sami never does drugs.</example>
                <example>Everything she does shows that she has character.</example>
                <example>Karen, I left a message with the person that does prices at paperloop and hopefully he will get back to me soon.</example>
                <example>Why does fried cheese look so bad, but taste so good?</example>
                <example>I'm guessing they are a vendor that does billing, etc.</example>
                <example>Sami does stripping.</example>
                <example>Tom does amazing.</example>
                <example>"Did giving Tom the money help?"</example>
                <example>Sami stayed in the room and did drugs.</example>
                <example>Why it did so remains something of a mystery.</example>
                <example>I got home and the first thing I did was taking my shoes off.</example>
                <example>How does tomorrow evening sound to you, say at nine?</example>
            </rule>
            <rule id="DID_FOUND_AMBIGUOUS" name="Auxiliary verb + ambiguous past tense">
            <!-- Created by Tiago F. Santos, 2019-09-07 -->
            <!-- https://forum.languagetool.org/t/en-did-you-found-find-it/4694 -->
                <antipattern>
                    <token regexp="yes" inflected='yes'>be|get</token>
                    <token>rid</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes" skip='1'>May</token>
                    <token postag="VB[DZ]" postag_regexp="yes" regexp="yes" case_sensitive="yes">[a-z]+</token>
                </antipattern>
                <pattern>
                    <token>
                        <exception scope="previous" regexp="yes">than|what</exception>
                        <exception regexp="yes">free|than|wh(?:om?|ich)|a|the|neither|nor</exception></token>
                    <token skip="1" regexp="yes" postag="MD|VBD" postag_regexp="yes">did|will|could|can|should|would|does|ll|shall|cannot|might|may</token>
                    <marker>
                        <token regexp="yes">&ambiguous_past_tense_forms;
                            <exception scope="previous" negate_pos="yes" postag_regexp="yes" regexp="yes" postag="MD|RB|VBD"/>
                        </token>
                    </marker>
                </pattern>
                <message>Make sure that the ambiguous verb form '\3' is correct. (It can either be the base form '\3', or the past tense of a different verb.)</message>
                <!-- Did you mean <suggestion><match no="5" postag="VB"/></suggestion> -->
                <url>https://www.learnenglish.de/grammar/verbtodo.html</url>
                <!--url>https://en.wikipedia.org/wiki/List_of_English_irregular_verbs</url-->
                <short>Possible agreement error</short>
                <example correction="">You did <marker>found</marker> it!</example><!-- suggestion mandatorily trigger error and testrule does not accept this --><!-- MFU: This sentence is ambiguous. It is not a grammar error: You did found the company! It wasn't founded by him. -->
                <!-- TODO improve 'testrules' code to allow this-->
                <example correction="">Several of these students would <marker>found</marker> their own styles of aikido.</example><!-- Ambiguous. People can find their own style, but they can also found their own style. -->
                <example>The earliest anarchist themes can be <marker>found</marker> in the 6th century BC.</example>
                <example>...known written evidence of a camera obscura can be found in Aristotle's documentation of such a device in ...</example>
                <example>...nitor lizards, and numerous other reptiles can be found living among an array of rodents throughout the s...</example>
                <example>The cakes are marketed and can the found in cities either in Algeria or in Europe or North...</example>
                <example>The prototype for this model can be found in Bolos of Mendes' second century BCE work, Phys...</example>
                <example>Another example can be found in the work of Heinrich Khunrath (1560–who ...</example>
                <example>...of Pagan, Christian, and Jewish alchemists can be found during this period.</example>
                <example>When I go on vacation, I'll rent a car.</example>
                <example>...o capture the phenomenon of motion drawing can be found in paleolithic cave paintings, where animals are ...</example>
                <example>The odds are against me, so I think I'll quit now.</example>
                <example>...ter as that of "Auld Lang Syne"; the songs can be sung interchangeably.</example>
                <example>Accordingly, Assistive Technology can be found in sports ranging from local community recreation...</example>
                <example>It may be found in natural deposits or may be a refined product; ...</example>
                <example>Take this umbrella with you lest you should get wet and catch cold.</example>
                <example>...ium, due to its relatively low reactivity, can be found in seawater in large amounts; it is estimated tha...</example>
                <example>...uct of the alpha decay of actinium-227 and can be found in trace amounts in uranium and thorium minerals....</example>
                <example>Francium can be found in trace amounts in uranium and thorium minerals;...</example>
                <example>More local particular weather examples could be found in examples such as the; Azores High, Benguela Cu...</example>
                <example>Can I rent rackets?</example>
                <example>... the Northwest a sprinkling of Kimbanguism can be found, spreading from the Congo/Zaire.</example>
                <example>...tin American countries (especially Brazil) can be found.</example>
                <example>With more education, he would have found a better job.</example>
                <example>If I were you, I would quit my job and leave London.</example>
                <example>Both yellow and white sweet clover can be found throughout the southern and central areas of the ...</example>
                <example>...found in the wooded regions, and pronghorn can be found in the prairies of southern Alberta.</example>
                <example>...ty of smaller seed and insect-eating birds can be found.</example>
                <example>...rmation about the volumes published so far can be found on the webpages of the Einstein Papers Project an...</example>
                <example>...rs and a variety of unique flora and fauna can be found there, including "living fossils" and many endemi...</example>
                <example>...and diversity of animal life in Azerbaijan can be found in travel notes of Eastern travelers.</example>
                <example>... the species growing in the whole Caucasus can be found in Azerbaijan.</example>
                <example>... sections with a link to a "Main article" will be found in the linked article.</example>
                <example>...campaigns, battles, units, and individuals can be found in those articles.</example>
                <example>The flowchart of "Elegant" can be found at the top of this article.</example>
                <example>...o a goal from a vertex in a weighted graph can be found by using the shortest path to the goal from all a...</example>
                <example>Why did he quit his job?</example>
                <example>Why did you quit?</example>
                <example>Up-to-date information on the Asparagales can be found on the Angiosperm Phylogeny Website.</example>
                <example>The remains of the church of St. Clement can be found today in a building just off Işıklar Caddesi in t...</example>
                <example>...s, hand-woven carpets and leather products can be found at bargain prices.</example>
                <example>...any interesting items, not just of copper, can be found here like jewelry, carpets, costumes, antiques an...</example>
                <example>I simply cannot get rid of this bad cold of mine.</example>
                <example>How can I quit this job?</example>
                <example>I cannot dance worth a damn.</example>
                <example>I give my pledge that I will quit smoking.</example>
                <example>Jewish schools can be found in the southern suburbs of Amsterdam.</example>
                <example>A parking garage can be found underneath the square, as well as a supermarket.</example>
                <example>Such a thing cannot be found everywhere.</example>
                <example>Many restaurants can be found in Amsterdam as well.</example>
                <example>...ity, a lot of different ethnic restaurants can be found.</example>
                <example>Art films can be found at Tuschinski, and the independent The Movies, Ci...</example>
                <example>The museum can be found in the 19th century building The Iron in the Mota...</example>
                <example>May 2011 saw record sales for Audi of America with the new Aud...</example>
                <example>... Geological Survey expects more resources will be found.</example>
                <example>Likewise, a group of atoms can remain bound to each other by chemical bonds based on the same...</example>
                <example>...usion principle, in which no two electrons may be found in the same quantum state, bound electrons pair u...</example>
                <example>Archipelagos may be found isolated in bodies of water or neighboring a larg...</example>
                <example>...that alternative mathematical systems might exist was very troubling to mathematicians of the 19th cent...</example>
                <example>Polyacetylenes can be found in Apiaceae vegetables like carrot, celery, fenne...</example>
                <example>...ring the summer months and where hay barns can be found, and the term "the Alps", referring to the mounta...</example>
                <example>...e Edelweiss which grows in rocky areas and can be found at altitudes as low as and as high as.</example>
                <example>...ate in large groups to provide warmth, and can be found in all areas of the Alps, in large colonies they ...</example>
                <example>...e Alps; they nest high on rocky ledges and can be found at altitudes of.</example>
                <example>Brown trout can be found in the streams up to the snow line.</example>
                <example>Scorpions can be found in the Italian Alps.</example>
                <example>You can get rid of the cold if you take this medicine.</example>
                <example>It can be found in low densities in star and planetary system for...</example>
                <example>An account of that night can be found in Kerouac's novel The Dharma Bums, describing ho...</example>
                <example>You should get rid of these weeds.</example>
                <example>... and the following elements of a parabasis can be found within them.</example>
                <example>I would quit before I would do that job in this company.</example>
                <example>... objective world expecting that humanity would be found to have a special meaning within it.</example>
                <example>...inally stops - when no further investments can be found which provide adequate returns for speculative bo...</example>
                <example>...northernmost, though the domesticated form can be found as far north as Iceland.</example>
                <example>... prejudice against Jews and their religion can be found in the works of many pagan Greek and Roman writer...</example>
                <example>All he did was playing golf.</example>
                <example>Those flips you just did were on point.</example><!-- #3090 -->
                <example type="triggers_error">Those tests that the technician actually did found the problem.</example><!-- #3090 -->
            </rule>
        </rulegroup>

        <rule id="MUST_HAVE_TO" name="'must to' instead of 'have to'">
            <antipattern>
                <token>a</token>
                <token>must</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>must</token>
                    <token>to</token>
                </marker>
                <token postag="VB"/>
            </pattern>
            <message>After 'must', the verb is used without 'to'. Probably, you should use <suggestion>must</suggestion> or <suggestion>have to</suggestion> here.</message>
            <short>Grammatical problem: unnecessary 'to'</short>
            <example correction="must|have to">I <marker>must to</marker> go shopping.</example>
            <example>It is a must to be aware of that.</example>
        </rule>
        <rule id="AS_ADJ_AS" name="Comparison with 'as'">
            <pattern>
                <token>as</token>
                <token postag="JJ|RB" postag_regexp="yes"><exception>other</exception><exception postag="JJR"/></token>
                <marker>
                    <token regexp="yes">like|th[ae]n</token>
                </marker>
            </pattern>
            <message>Comparison is written 'as \2 as'.</message>
            <suggestion>as</suggestion>
            <short>Grammatical problem: use 'as'</short>
            <example correction="as">This house is as big <marker>than</marker> mine.</example>
            <example correction="as">This box contains as much <marker>like</marker> possible.</example>
            <example>This house is as big <marker>as</marker> mine.</example>
            <example>It is inappropriate to cite this document as other than work in progress.</example>
            <example>This strikes me as less than a satisfactory expression of appreciation.</example>
        </rule>
        <rule id="THE_SAME_AS" name="Comparison with 'the same ... as'">
            <pattern>
                <token>the</token>
                <token skip="1">same</token>
                <marker>
                    <token regexp="yes">like|than</token>
                </marker>
            </pattern>
            <message>Comparison is written 'the same ... as'.</message>
            <suggestion>as</suggestion>
            <url>https://www.merriam-webster.com/dictionary/same</url>
            <short>Grammatical problem: use 'as'</short>
            <example correction="as">This is not the same thing <marker>than</marker> his.</example>
            <example  correction="as">Your idea is the same <marker>like</marker> his.</example>
        </rule>
        <rule id="EAGER_TO" name="Non-infinitive verb with 'eager to...'">
            <pattern>
                <token>eager</token>
                <token>to</token>
                <marker>
                    <token postag="VB[GZND]" postag_regexp="yes"><exception postag="VB"/></token>
                </marker>
            </pattern>
            <message>With 'eager to', use the base form of the verb.</message>
            <suggestion><match no="3" postag="VB"/></suggestion>
            <short>Grammatical problem: use the base form</short>
            <example>Bangladesh is eager to <marker>buy</marker> cars from Iran.</example>
            <example correction="buy">Bangladesh is eager to <marker>buying</marker> cars from Iran.</example>
            <example correction="try">I'd be eager to <marker>trying</marker> out your patch.</example>
            <example correction="buy">Bangladesh is eager to <marker>bought</marker> cars from Iran.</example>
            <example>His compatriots were eager to <marker>cast</marker> off Ottoman rule.</example>
        </rule>
        <!-- 106(less..)+319(more...) in complete BNC, all(?) because "...as" -->
        <rulegroup id="COMP_THAN" name="Comparison with 'than', e.g. 'bigger then (than)'">
            <antipattern>
                <token>as</token>
                <token>well</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token regexp="yes">long|good|well|soon|early|best|bad|fast|quick</token>
                <token>as</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token>as</token>
                    <token regexp="yes">they|s?he|it|you|we|I</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">ask</token>
                    <token>for</token>
                    <token>more</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">more|less</token>
                    <marker>
                        <token postag='RB'>as</token>
                    </marker>
                    <token>
                        <exception regexp="yes">to|if|follows|early|much|though|well</exception>
                    </token>
                </pattern>
                <message>Comparison requires <suggestion>than</suggestion>, not 'then' nor 'as'.</message>
                <short>Grammatical problem: use 'than'</short>
                <example correction="than">The tagger will return more <marker>as</marker> one tag.</example>
                <example>The tagger will return more <marker>than</marker> one tag.</example>
                <example>Think of it more <marker>as</marker> activity.</example>
                <example>It is faster as well.</example>
                <example>I gasped once more as the sky fell.</example>
                <example>They earn less as they grow older.</example>
                <example>I'll be in contact with development and ask for more as needed.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>then</token>
                    <token postag="PCT" />
                </antipattern>
                <pattern>
                    <token regexp="yes">more|less</token>
                    <marker>
                        <token>then</token>
                    </marker>
                </pattern>
                <message>Comparison requires <suggestion>than</suggestion>, not 'then' nor 'as'.</message>
                <short>Grammatical problem: use 'than'</short>
                <example correction="than">The tagger will return more <marker>then</marker> one tag.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>then</token>
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token>more</token>
                    <token>or</token>
                    <token>less</token>
                    <token>as</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token regexp="yes">much|many</token>
                    <token>more</token>
                    <token>as</token>
                </antipattern>
                <pattern>
                    <token postag="JJR"><exception postag="IN|NN" postag_regexp="yes"/></token>
                    <marker>
                        <token regexp="yes">(then|as)</token>
                    </marker>
                    <token negate_pos="yes" postag="DT"><exception regexp="yes">follows|if|early|much|though|to</exception></token>
                    <!-- the below condition fixed a false alarm -
                         'these cheeses just get firmer as water evaporates' -->
                    <token><exception postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Comparison requires <suggestion>than</suggestion>, not 'then' nor 'as'.</message>
                <short>Grammatical problem: use 'than'</short>
                <example correction="than">This house is bigger <marker>then</marker> mine.</example>
                <example>This house is bigger <marker>than</marker> mine.</example>
                <example>This palace was used later as a prison.</example>
                <example>The ozone layer then blocks most UVB.</example>
                <example>It acts more or less as a replacement.</example>
                <example>...lidays to discuss this a little further as well as a broader alliance between Enro...</example>
            </rule>
        </rulegroup>

        <rulegroup id="MISSING_PAST_TENSE" name="Missing past tense with '...last year/month/etc.'">
            <rule>
                <antipattern>
                    <token postag="VB[DN]" postag_regexp="yes" skip="-1"></token>
                    <token>last</token><!-- #3217 regression: I was a first year student last year. -->
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="-1">forget|remember</token>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern>
                    <token>same</token>
                    <token>as</token>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern>
                    <token skip="2" regexp="yes">thanks?|sorry|apologi[sz]e</token>
                    <token skip="6">for</token>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern><!-- #3217 couldn't go -->
                    <token regexp="yes">could|did|had|might|should|used|would</token>
                    <token skip="-1">n't</token>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern><!-- #3217 could not go -->
                    <token regexp="yes">could|did|had|might|should|used|would</token>
                    <token skip="-1">not</token>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern><!-- #3217 the meeting last week -->
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="PRP\$|DT"/>
                    <token min="0" chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular"/>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern><!-- #3217 those three meetings last week -->
                    <token chunk="B-NP-plural" postag_regexp="yes" postag="PRP\$|DT"/>
                    <token min="0" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                    <token>last</token>
                    <token regexp="yes">week|month|year</token>
                </antipattern>
                <antipattern><!-- #3217 8.54% last week -->
                    <token regexp="yes">[0-9]+%</token>
                    <token>last</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>last
                          <exception postag_regexp="yes" scope="previous" postag="IN|PRP\$|DT"/>
                          </token>
                        <token regexp="yes">month|week|year</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>‘last \2’ indicates a finished event of the past. Please check the predicate's tense.</message>
                <example correction="">I choose to go to Italy <marker>last year</marker>.</example>
                <example correction="">She leaves school <marker>last year</marker>.</example>
                <example correction="">I will not go <marker>last month</marker>.</example><!-- #3217 -->
                <example correction="">I might go to India <marker>last year</marker>.</example><!-- #3217 -->
                <example>I'll never forget shaking the President's hand last year.</example>
                <example>I couldn't go to Australia <marker>last year</marker>.</example><!-- #3217 -->
                <example>I could not go to Paris <marker>last year</marker>.</example><!-- #3217 -->
                <example>I’m quitting Starbucks and this is my <marker>last week</marker>.</example><!-- #3217 -->
                <example>Dave, I am sending you my accomplishments for the <marker>last year</marker>.</example><!-- #3217 -->
                <example>Kevin, I want to apologize for not attending the meeting <marker>last week</marker>.</example><!-- #3217 -->
                <example>What a great performance by the rookie WR <marker>last week</marker>.</example><!-- #3217 -->
                <example>Here are my notes from our meeting <marker>last week</marker>.</example><!-- #3217 -->
                <example>I apologize for not attending those three meetings <marker>last week</marker>.</example><!-- #3217 -->
                <example>That is down from 8.54% <marker>last week</marker>.</example><!-- #3217 -->
                <example>Tom was my last roommate last year.</example>
                <example>Thanks for your support last week.</example>
                <example>I apologize for not getting back with you all last week.</example>
                <example>The Last Month Report</example>
                <example>I was a first year student last year.</example><!-- #3217 regression -->
            </rule>
        </rulegroup>

        <rule id="USE_TO_VERB" name="Missing past tense for 'used to...'">
            <antipattern>
                <token>n't</token>
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Didn't you use to be a teacher? -->
                <token>n't</token>
                <token postag="PRP|NNP|UNKNOWN" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">did|does</token>
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="MD"/>
                <token postag="RB"/>
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- no matter which channel you use to ... -->
                <token regexp="yes" skip="2">which|[wt]hat</token>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes" min="0">they|we|you|I</token>
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">do|did|does</token>
                <token regexp="yes">I|you|we|they|he|she|it</token>
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">do|did|does</token>
                <token regexp="yes">you|we</token>
                <token postag="CD"/>
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="NN.*" postag_regexp="yes" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>terms</token>
                <token>of</token>
                <token>use</token>
               <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="PRP|NNP|UNKNOWN" postag_regexp="yes" />
                <token postag="RB" min="0" max="2" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" max="2" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token chunk_re="B-NP.*" />
                <token chunk_re="I-NP.*" min="0" max="3" />
                <token chunk_re="E-NP.*" />
                <token postag="RB" min="0" max="2" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token>use</token>
            </antipattern>
            <antipattern><!-- Premium #1795 https://grammar.collinsdictionary.com/easy-learning/used-to -->
                <token skip="-1">did</token>
                <token>use</token>
                <token>to</token>
                <token skip="-1" postag="VB"/>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token />
                <token />
                <token regexp="yes">that|(which|what|who)(ever)?</token>
                <token chunk_re="B-NP-.*" />
                <token chunk_re="I-NP-.*" min="0" max="3" />
                <token chunk_re="E-NP-.*" postag="NN.*|UNKNOWN" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|(which|what|who)(ever)?</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- lowercase "i" (different error) -->
                <token regexp="yes">that|(which|what|who)(ever)?</token>
                <token>i</token>
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token>d</token>
                <token postag="RB" min="0" />
                <token>use</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- 6 processes we use to ... -->
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">we|they|I|you</token>
                <token postag="RB" min="0" />
                <token>use</token>
            </antipattern>
            <antipattern><!-- for everyday use -->
                <token postag="IN" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>everyday</token>
                <token>use</token>
            </antipattern>
            <pattern>
                <token><exception postag="MD"/></token>
                <marker>
                    <token chunk_re=".-VP">use</token>
                    <token>to</token>
                </marker>
                <token postag="VB"/>
            </pattern>
            <message>Make sure that '\2 \3' is correct. For habitual actions in the past or to mean 'accustomed to', use <suggestion>used to</suggestion>.</message>
            <url>https://www.collinsdictionary.com/dictionary/english/used-to</url>
            <short>Possible grammar error</short>
            <example>It can be used to save lives</example>
            <example>Tom didn't use to drink so much.</example>
            <example>That is the term that futurists use to describe a potentially cataclysmic point.</example>
            <example correction="used to">He <marker>use to</marker> believe this.</example>
            <example correction="used to">I <marker>use to</marker> own a 2011 Sienna.</example>
            <example correction="used to">Where can I find all those other apps that <marker>use to</marker> be available?</example>
            <!-- TODO: -->
            <!-- <example correction="used to">Aethera <marker>use to</marker> use this.</example> -->
            <!-- <example correction="used to">This is the laptop that I <marker>use to</marker> use. (It's slow, so I don't use it now.)</example> #1700 -->
            <example>This could set a dangerous precedent that they would surely use to target other journalists.</example>
            <example>What language did you use to communicate?</example>
            <example>Did you use to drink a lot?</example>
            <example>Please read the terms of use to understand our legal requirements.</example>
            <example>What language do you two use to communicate?</example>
            <example>Set the languages you usually use to write texts.</example>
            <example>A good use to make use of the extra veggies you have is to make a frittata.</example>
            <example>This is a process doctors use to educate their patients.</example>
            <example>What would you use to explore this sort of thing?</example>
            <example>A massive rocket that the space agency wants to use to return humans to the moon.</example>
            <example>Which things would you use to describe this chemical formula?</example>
            <example>Did Tom use to play hooky?</example><!-- Premium #1795 -->
            <example>How often did the neighbour's unruly children use to skip school?</example><!-- Premium #1795 -->
            <example>This is the laptop that I <marker>use to</marker> code on.</example><!-- #1700 -->
            <example>...by some methanogenic archaea in enzymes that they use to produce methane.</example>
            <example>The modern presidential campaign begins before the primary elections, which the two major political parties use to clear the field of candidates before their national nominating conventions.</example>
            <example>Didn't you use to be a teacher?</example>
            <example>Which would you ever use to become better?</example>
            <example>Which I'd really use to become better.</example>
            <example>6 processes weak use to increase PF</example>
            <example>But no matter which channel you use to polish your texts, LanguageTool always guarantees you a high-quality spelling and grammar check.</example>
            <example>It's no use to complain</example>
            <example>... and its use to keep us safe</example>
            <example>This works with everything you use to control your lights, Dimmers, Alexa, etc.</example>
            <example>Pressed an axle - no idea the length or diameter or whatever you use to measure it, or the weight, but it was a lot of fun.</example>
            <example>Which options can I use to pay?</example>
            <example>Which options can our customers use to pay?</example>
            <example>What rental options can our new customers use to drive a car?</example>
        </rule>
        <rule id="MORE_A_JJ" name="Word order: 'more a ...' instead of 'a more ...'">
            <pattern>
                <token>more<exception regexp="yes" scope="previous">no|much</exception></token>
                <token regexp="yes">an?</token>
                <token postag="JJ|VBN" postag_regexp="yes"/>
            </pattern>
            <message>Did you mean <suggestion>a more \3</suggestion>?</message>
            <short>Grammatical problem: word order</short>
            <example correction="a more detailed">I can give you <marker>more a detailed</marker> description of what's necessary.</example>
            <example correction="a more analyzed">I wish it was <marker>more an analyzed</marker> case</example>
            <example>I can give you <marker>a more detailed</marker> description of what's necessary.</example>
            <example>It is no more a component.</example>
        </rule>
        <rule id="ORDER_OF_WORDS_WITH_NOT" name="wrong order of words">
            <antipattern>
                <token skip="-1">why</token>
                <token regexp="yes" case_sensitive="yes">can|ca|have|should|could|will|wo|may|might</token>
                <token regexp="yes">not|n't</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token>only</token>
                <token regexp="yes" case_sensitive="yes">can|ca|have|should|could|will|wo|may|might</token>
                <token regexp="yes">not|n't</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">can|ca|have|should|could|will|wo|may|might</token>
                <token regexp="yes">not|n't</token>
                <token postag="PRP" skip="-1"></token>
                <token>?</token>
            </antipattern>
            <pattern>
                <token><exception postag="SENT_START"/></token>
                <marker>
                    <token regexp="yes" case_sensitive="yes">can|ca|have|should|could|will|wo|won|may|might</token>
                    <token regexp="yes">not|n't</token>
                    <token postag="PRP">
                        <exception regexp="yes">one|(it|him|her|my|your|them)self|(our|your|them)selves</exception>
                    </token>
                </marker>
            </pattern>
            <message>Please check the order of words and the punctuation of this sentence.</message>
            <example correction="">She knows that <marker>can not you</marker> do it.</example>
            <example correction="">She knows that <marker>can't you</marker> do it.</example>
            <example>"If you're tired, why don't you go to sleep?"</example>
            <example>Why can't you just call them?</example>
            <example>So we have not one but two community FAQs about it.</example>
            <example>The Fund will not itself be a charity.</example>
            <example>I couldn't myself join the union.</example>
        </rule>
        <!-- this works now, and accounts for subjunctive
             i.e., she recommended that he use his money... -->
        <rulegroup id="NON3PRS_VERB" name="Agreement error: Third-person verb with a non-third-person pronoun">
            <short>Grammatical problem: agreement error</short>
            <antipattern>
                <token>often</token>
                <token>times</token>
            </antipattern>
            <rule>
                <antipattern><!-- speller offers better suggestion 'just', not 'jut' -->
                    <token>I</token>
                    <token>juts</token>
                </antipattern>
                <antipattern>
                    <token postag="VBZ"/>
                    <token regexp="yes">n't|not</token>
                </antipattern>
                <antipattern><!-- am I ...? -->
                    <token>am</token>
                    <token skip="-1">I</token>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- phase I -->
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>I</token>
                    <token>stands</token>
                    <token>for</token>
                    <token regexp="yes">i.*</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">dot</token>
                    <token>the</token>
                    <token>i</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>i</token>
                    <token skip="2">'s</token>
                    <token inflected="yes">dot</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" skip="1">I</token>
                    <marker>
                        <token postag="VBZ"><exception scope="previous" negate_pos="yes" postag_regexp="yes" regexp="yes" postag="RB|PRP(_.*)?|MD"/><exception regexp="yes">is|'s</exception><exception scope="previous">need</exception></token>
                    </marker>
                </pattern>
                <message>The pronoun '<match no="1"/>' must be used with a non-third-person form of a verb.</message>
                <suggestion><match no="2" postag="VBP"/></suggestion>
                <example correction="work">I <marker>works</marker> here.</example>
                <example correction="work">I cannot <marker>works</marker> here.</example>
                <example>I <marker>work</marker> here.</example>
                <example>We <marker>make</marker> a lot of mistakes.</example>
                <example>Phase I corresponds to the small-deformation regime.</example>
                <example>Am I nuts?</example>
                <example>... or am I nuts?</example>
                <example correction="have">I rarely <marker>has</marker> a bad day.</example>
                <example>Step i corresponds to the ...</example>
                <example>... and if phase I corresponds to the ...</example>
                <example>I <marker>doesn't</marker> sure about this.</example><!-- Not correct English, but correct as a test of this rule. -->
                <example>...this variance estimate correctly, but Algorithm I returns 29.333333333333332 instead of 30.</example>
                <example>Article I states that Trump had conditioned two official acts on the public announcements that he had requested.</example>
                <example>dotting the I's and crossing the T's</example>
                <example>the lawyers kept arguing over which I's should be dotted</example>
            </rule>
            <rule>
                <antipattern>
                    <token>need</token>
                    <token>is</token>
                </antipattern>
                <antipattern><!-- #2419 we frogs have / we parents-->
                    <token regexp="yes" postag="PRP">we|they</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token postag_regexp="yes" postag="VB(P|D)?|RB"/>
                </antipattern>
                <pattern>
                    <token skip="1" regexp="yes" postag="PRP">we|they<exception scope="previous">Are</exception></token>
                    <marker>
                        <token postag="VBZ">
                            <exception scope="previous" negate_pos="yes" postag_regexp="yes" regexp="yes" postag="RB|PRP(_.*)?|DT|MD"/>
                            <exception regexp="yes">is|'s</exception>
                        </token>
                    </marker>
                    <token><exception regexp="yes">&apostrophe;.*</exception></token>
                </pattern>
                <message>The pronoun '<match no="1"/>' must be used with a non-third-person form of a verb.</message>
                <suggestion><match no="2" postag="VBP"/></suggestion>
                <example correction="work">They <marker>works</marker> here.</example>
                <example correction="work">They cannot <marker>works</marker> here.</example>
                <example correction="work">They always <marker>works</marker> here.</example>
                <example correction="mean">They all <marker>means</marker> the same.</example>
                <example>We <marker>make</marker> a lot of mistakes.</example>
                <example>Are they <marker>friends</marker>?</example>
                <example>All we need is love.</example>
                <example>Phase I corresponds to the small-deformation regime.</example>
                <example>They <marker>is</marker> happy. [Found by PERS_PRONOUN_AGREEMENT_SENT_START]</example>
                <example>We <marker>parents</marker> sometimes become blind in loving our children too...</example>
                <example>Yes, sometimes we frogs have sticky feet.</example><!-- #2419 -->
            </rule>
            <rule>
                <antipattern><!-- phase I -->
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token skip="1" regexp="yes" postag="PRP">I|we|they</token>
                    <marker>
                        <token postag="VBZ">
                            <exception scope="previous" negate_pos="yes" postag_regexp="yes" regexp="yes" postag="RB|PRP(_.*)?|DT"/>
                        </token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>The pronoun '<match no="1"/>' must be used with a non-third-person form of a verb.</message>
                <suggestion><match no="2" postag="VBP"/><match no="3"/></suggestion>
                <example correction="don't">We <marker>doesn't</marker> believe so.</example>
                <example correction="aren't">We <marker>isn't</marker> believe so.</example>
                <example correction="don't">What will I <marker>doesn't</marker> now?</example><!-- Refer to https://forum.languagetool.org/t/replacing-contractions-bug/2234/1 -->
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token skip="-1">What</token>
                    <token>you</token>
                    <token postag="VBZ"/>
                </antipattern>
                <antipattern>
                    <token skip="3">what</token>
                    <token postag="VBD"/>
                    <token>you</token>
                    <token postag="VBZ"/>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token>you</token>
                    <token/>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern><!-- to see you -->
                    <token>to</token>
                    <token postag="VBG?" postag_regexp="yes" />
                    <token>you</token>
                </antipattern>
                <antipattern><!-- the thing I provided you -->
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">I|s?he|we|it|they</token>
                    <token postag="MD|VB" postag_regexp="yes" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>you</token>
                </antipattern>
                <antipattern><!-- how much we pay you -->
                    <token>how</token>
                    <token regexp="yes">much|many</token>
                    <token regexp="yes">I|you|we|they</token>
                    <token postag_regexp="yes" postag="VBD?"/>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- how many she gave you -->
                    <token>how</token>
                    <token regexp="yes">much|many</token>
                    <token regexp="yes">he|she|it</token>
                    <token postag_regexp="yes" postag="VB(Z|D)?"/>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- about whom I told you -->
                    <token>about</token>
                    <token regexp="yes">whom|which</token>
                    <token regexp="yes">I|you|we|they</token>
                    <token postag_regexp="yes" postag="VBD?"/>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- about which she tells you -->
                    <token>about</token>
                    <token regexp="yes">whom|which</token>
                    <token regexp="yes">he|she|it</token>
                    <token postag_regexp="yes" postag="VB(Z|D)?"/>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- #2148 He sent you messages -->
                    <token postag_regexp="yes" postag="VB.*"/>
                    <token>you</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2148 giving you a heads up -->
                    <token postag_regexp="yes" postag="VB.*"/>
                    <token>you</token>
                    <token postag="DT"/>
                </antipattern>
                <antipattern><!-- #2148 Missing you is -->
                    <token postag="VBG"/>
                    <token>you</token>
                    <token postag="VBZ"/>
                </antipattern>
                <antipattern><!-- All of you ...-->
                    <token regexp="yes">all|everyone</token>
                    <token min="0">of</token>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- Every one of you ...-->
                    <token>every</token>
                    <token>one</token>
                    <token>of</token>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- he as well as you is ...-->
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token postag="VBZ" />
                </antipattern>
                <antipattern><!-- thank you goes out to -->
                    <token>thank</token>
                    <token>you</token>
                    <token chunk="B-VP" postag="VBZ"/>
                    <token postag_regexp="yes" postag="R[BP]"/>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token postag="VBZ"/>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- Just because Tom provoked you doesn't give you a right to attack him. -->
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token>you</token>
                    <token>does</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token regexp="yes">&nouns_with_you;</token>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- You comments are welcome -->
                    <token postag="CC|PCT|SENT_START|DT" postag_regexp="yes" />
                    <token>you</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token regexp="yes" inflected="yes" postag="VB[PD]|MD" postag_regexp="yes">be|have|do|will|want|need|can|should|must|might</token>
                </antipattern>
                <antipattern>
                    <token>thank</token>
                    <token>you</token>
                    <token>is</token>
                </antipattern>
                <antipattern><!-- All I can tell you that will help you is that it's a subfolder of the path I gave you. -->
                    <token>that</token>
                    <token postag="MD" />
                    <token postag="VB" />
                    <token>you</token>
                    <token>is</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- All I can tell you is that you sound patriotic -->
                    <token regexp="yes">all|(every|some|no|any)(thing|one|body)</token>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes" inflected="yes">will|have|do|can|should|be|must|might</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>you</token>
                    <token>is</token>
                </antipattern>
                <antipattern><!-- The one thing he will not grant you is permission to leave the palace. -->
                    <token>the</token>
                    <token postag="JJ.*|CD" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token chunk_re="E-NP.*" />
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                    <token>you</token>
                    <token>is</token>
                </antipattern>
                <antipattern><!-- The only reason anyone would ever hate you is because they want to be just like you. -->
                    <token>the</token>
                    <token postag="JJ.*|CD" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="PRP" />
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                    <token>you</token>
                    <token>is</token>
                </antipattern>
                <antipattern><!-- How people treat you is their karma; how you react is yours. -->
                    <token regexp="yes">how|what</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token chunk_re=".-VP" />
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token postag="VBZ" />
                </antipattern>
                <antipattern><!-- Everyone here but you has done that. -->
                    <token postag="CC|PCT|SENT_START|DT" postag_regexp="yes" />
                    <token regexp="yes">(every|any)(body|one)</token>
                    <token postag="RB" min="0" />
                    <token>but</token>
                    <token>you</token>
                </antipattern>
                <antipattern><!-- Aren't you friends with Tom? -->
                    <token regexp="yes">were|are</token>
                    <token min="0">n't</token>
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token postag="NNS" />
                </antipattern>
                <antipattern><!-- I sent you messages from both the boys -->
                    <token chunk_re=".-VP">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token>you</token>
                    <token postag="NNS" />
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- Seeing you always makes me think about my father. -->
                    <token postag="VBG" />
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">gives|makes</token>
                    <token regexp="yes">us|me|them|him|her|it</token>
                </antipattern>
                <antipattern><!-- I ask you is the Taliban more responsible than we think. -->
                    <token regexp="yes">we|I|they</token>
                    <token postag="RB" min="0" />
                    <token>ask</token>
                    <token>you</token>
                    <token postag="RB" chunk_re=".-ADVP" min="0" />
                    <token>is</token>
                    <token chunk_re=".-NP.*" />
                </antipattern>
                <antipattern><!-- Every word which I tell you is the naked truth -->
                    <token chunk_re="E-NP.*" skip="5" />
                    <token chunk_re=".-VP" postag="VB.*|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">do|have|think|hope|believe|doubt|assume|know</exception>
                    </token>
                    <token>you</token>
                    <token postag="RB" chunk_re=".-ADVP" min="0" />
                    <token regexp="yes">is|gets|has|does|needs</token>
                </antipattern>
                <antipattern><!-- The umbrella that I lent you belongs to Tom.  -->
                    <token chunk_re=".-VP" postag="VB.*|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope|believe|doubt|assume</exception>
                    </token>
                    <token>you</token>
                    <token postag="RB" chunk_re=".-ADVP" min="0" />
                    <token>belongs</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token postag="PRP">
                        you
                        <exception scope="previous" postag="IN"/>
                        <exception scope="next" postag="PRP"/>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                        <exception regexp="yes">now|nothing</exception>
                    </token>
                    <marker>
                        <token postag="VBZ">
                            <exception scope="previous" negate_pos="yes" postag_regexp="yes" regexp="yes" postag="RB|PRP(_.*)?|DT"/>
                            <exception regexp="yes">guys|dudes|kids|cats</exception>
                            <exception inflected="yes" regexp="yes">&uncommon_verbs;</exception>
                        </token>
                    </marker>
                    <token><exception regexp="yes">&apostrophe;|n't</exception></token>
                </pattern>
                <message>The pronoun '<match no="1"/>' must be used with a non-third-person form of a verb.</message>
                <suggestion><match no="3" postag="VBP"/></suggestion>
                <example correction="work">You <marker>works</marker> here.</example>
                <example correction="are">You <marker>is</marker> a good engineer.</example><!-- You=E-NP-singular, thus cannot use chunks in the antipatterns -->
                <example correction="are">Either Mary or you <marker>is</marker> to go.</example><!-- https://theeditorsblog.net/2015/09/12/either-neither-and-subject-verb-agreement/, Condition Two -->
                <example correction="hear">As soon as you <marker>hears</marker> the grinding you should have notified the mechanic.</example>
                <example correction="know">If you or someone you <marker>knows</marker> has experience helping to run an office in a fast paced environment and has an interest in the financial world …</example>
                <example>You <marker>make</marker> a lot of mistakes.</example>
                <example>One of you thinks that this is possible.</example>
                <example>Be sure the man nearest you is awake.</example>
                <example>You guys remember that.</example>
                <example>How many times do I have to tell you he isn't here?</example>
                <example>What I have told you is true.</example>
                <example>Scatter, you chickens!</example>
                <example><marker>To see you</marker> is always a great pleasure.</example>
                <example><marker>What he told you</marker> wasn't true.</example>
                <example>... and <marker>how much we pay you</marker> depends on your skill.</example>
                <example>"<marker>How many she gave you</marker> interests us very much," said the policeman.</example>
                <example>The girl <marker>about whom I told you</marker> lives here.</example>
                <example>The projects <marker>about which she tells you</marker> are confidential.</example>
                <example>Next to seeing you is the pleasure of seeing your handwriting.</example>
                <example>The API I provided you is only useful for capturing.</example>
                <example>The API I will provide you is great.</example>
                <example>He sent you messages asking for help.</example><!-- #2148 -->
                <example>I'm giving you a heads up.</example><!-- #2148. The noun 'heads up' is hyphenated [www.lexico.com/en/definition/heads-up], but that is a different problem. -->
                <example>I'm asking you questions.</example><!-- #2148 -->
                <example>Missing you is something I hate.</example><!-- #2148 -->
                <example>The manager sent you messages asking for help.</example><!-- #2148 -->
                <example>Loving you makes me happy.</example><!-- #2148 -->
                <example>He as well as you is in the wrong.</example>
                <example>He as well as you likes baseball.</example>
                <example>A special thank you goes out to Dan Flynn for the invitation.</example>
                <example>What Tom told you isn't true.</example>
                <example>There's a good chance what Tom told you isn't true.</example>
                <example>The fact that no one understands you doesn't mean you're an antist.</example>
                <example>Just because Tom provoked you doesn't give you a right to attack him.</example>
                <example>You kids must be hungry.</example>
                <example>Different error: You comments are welcome.</example>
                <example>What you smell now is the scent of nightmares.</example>
                <example>You aren't kids anymore.</example>
                <example>Please call if you have further questions.</example>
                <example>All I can tell you that will help you is that it's a subfolder of the path I gave you.</example>
                <example>All I can tell you is that you sound patriotic.</example>
                <example>The one thing he will not grant you is permission to leave the palace.</example>
                <example>I made you guys something.</example>
                <example>How people treat you is their karma; how you react is yours.</example>
                <example>You peeps spend real money on this?</example>
                <example>Everyone here but you has done that.</example>
                <example>Aren't you friends with Tom?</example>
                <example>Everything I've told you is true.</example>
                <example>Are you still friends with them?</example>
                <example>So what I told you still stands.</example>
                <example>I sent you messages from both the boys.</example>
                <example>Every word which I tell you is the naked truth.</example>
                <example>I ask you is the Taliban more responsible than we think.</example>
                <example>Seeing you always makes me think about my father.</example>
                <example>You cats live it up for me.</example>
                <example>Everything I just told you is true.</example>
                <example>Where a driver will take you is probably his choice</example>
                <example>The guy who hit you is at the front door.</example>
                <example>The umbrella that I lent you belongs to Tom.</example>
                <example>A women who doesn't criticize you anymore is a women who doesn't love you anymore.</example>
                <example>The greatest gift that someone can give you is their love and their time.</example>
                <example>However, I think what may help you is a generic form that we use in Iowa.</example>
                <example>If they tell you nothing is wrong, at least you have a record of contacting them.</example>
                <example>Something that might help you is just accepting the symptoms you have and working on them individually.</example>
                <example>The only reason anyone would ever hate you is because they want to be just like you.</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk="B-VP" />
                    <token postag="IN" min="0" />
                    <token>you</token>
                </antipattern>
                <pattern>
                    <token skip="1" postag="PRP">you<exception scope="previous" postag="IN"/><exception scope="next" postag="PRP"/></token>
                    <marker>
                        <token postag="VBZ"><exception scope="previous" negate_pos="yes" postag_regexp="yes" regexp="yes" postag="RB|PRP(_.*)?|DT"/></token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>The pronoun '<match no="1"/>' must be used with a non-third-person form of a verb.</message>
                <suggestion><match no="2" postag="VB"/><match no="3"/></suggestion>
                <example correction="don't">You <marker>doesn't</marker> work hard enough.</example>
                <example>You can't do that because you ain't me.</example>
                <example>I just noticed that the version I sent to you doesn't contain the replace.txt yet for English.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Has</token>
                    </marker>
                    <token regexp="yes">I|we|you|they</token>
                </pattern>
                <message>The pronoun '\3' must be used with <suggestion>Have</suggestion>.</message>
                <example correction="Have"><marker>Has</marker> you bought a ticket?</example>
                <example>Have you done this?</example>
            </rule>
            <rule>
                <pattern case_sensitive="no">
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <marker>
                        <token>has</token>
                    </marker>
                    <token regexp="yes">I|we|you|they</token>
                </pattern>
                <message>The pronoun '\3' must be used with <suggestion>have</suggestion>.</message>
                <example correction="have">What <marker>has</marker> you done?</example>
                <example>Why have you done this?</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Is</token>
                    </marker>
                    <token regexp="yes">we|you|they</token>
                </pattern>
                <message>The pronoun '\3' must be used with <suggestion>Are</suggestion>.</message>
                <example correction="Are"><marker>Is</marker> you crazy?</example>
                <example>Is this true?</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Is</token>
                    </marker>
                    <token>I</token>
                </pattern>
                <message>The pronoun '\3' must be used with <suggestion>Am</suggestion>.</message>
                <example correction="Am"><marker>Is</marker> I crazy?</example>
                <example>Is this true?</example>
            </rule>
            <rule>
                <pattern case_sensitive="no">
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token postag="W(RB|P)" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <marker>
                        <token>is</token>
                    </marker>
                    <token regexp="yes">we|you|they</token>
                </pattern>
                <message>The pronoun '\3' must be used with <suggestion>are</suggestion>.</message>
                <example correction="are">What <marker>is</marker> you doing?</example>
                <example correction="are">Tom, which <marker>is</marker> you preferring?</example>
                <example>Why are you doing this?</example>
                <example>That is you!</example>
            </rule>
            <rule>
                <pattern case_sensitive="no">
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes" />
                    <marker>
                        <token>is</token>
                    </marker>
                    <token>I</token>
                </pattern>
                <message>The pronoun '\3' must be used with <suggestion>am</suggestion>.</message>
                <example correction="am">Why <marker>is</marker> I in love?</example>
                <example>Why am I doing this?</example>
            </rule>
            <rule><!-- #2025 -->
                <antipattern>
                    <token>as</token>
                    <token>i</token>
                    <marker>
                        <token postag="VBZ"><exception postag="VBZ" negate_pos="yes"></exception></token>
                    </marker>
                </antipattern>
                <antipattern>
                    <token>my</token>
                    <token skip="-1" regexp="yes" case_sensitive="yes">[A-Z][A-z]+</token>
                    <token postag="PRP">i</token>
                    <marker>
                        <token postag="VBZ" chunk="B-VP"></token>
                    </marker>
                </antipattern>
                <pattern>
                    <token skip="-1">my</token>
                    <token postag="PRP" case_sensitive="yes">I</token>
                    <marker>
                        <token postag="VBZ" chunk="B-VP"><exception inflected="yes">be</exception></token>
                    </marker>
                </pattern>
                <message>The pronoun "<match no="2"/>" must be used with a non-third-person form of a verb.</message>
                <suggestion><match no="3" postag="VBP"/></suggestion>
                <!--<example correction="am|are|aren">In my dreams where I <marker>is</marker> the ruler of the universe.</example>-->
                <example correction="mark">My laptop is where I <marker>marks</marker> the grades.</example>
                <example>In my dreams where I am the ruler of the universe</example>
                <example>My Enemies &amp; I is an American rock band formed in Richmond, Virginia in 2010.</example>
                <example>A single episode of My Husband and I has been released by Network DVD on a DVD called "Classic ITV Christmas Comedy".</example>
                <example>My Conscience and I is the debut album by Remi Nicole, released in the UK on December 3, 2007 on the Universal label.</example>
                <example>Heaven is my father and earth is my mother, and even such a small creature as I finds an intimate place in their midst.</example>
            </rule>
            <rule><!-- #2025 -->
                <antipattern>
                    <token>as</token>
                    <token>i</token>
                    <marker>
                        <token postag="VBZ"><exception postag="VBZ" negate_pos="yes"></exception></token>
                    </marker>
                </antipattern>
                <antipattern>
                    <token>my</token>
                    <token skip="-1" regexp="yes" case_sensitive="yes">[A-Z][A-z]+</token>
                    <token postag="PRP">i</token>
                    <marker>
                        <token postag="VBZ" chunk="B-VP"></token>
                    </marker>
                </antipattern>
                <pattern>
                    <token skip="-1">my</token>
                    <token postag="PRP" case_sensitive="yes">I</token>
                    <marker>
                        <token postag="VBZ" chunk="B-VP" inflected="yes">be</token>
                    </marker>
                </pattern>
                <message>The pronoun "<match no="2"/>" must be used with a non-third-person form of a verb.</message>
                <suggestion>am</suggestion>
                <example correction="am">In my dreams where I <marker>is</marker> the ruler of the universe.</example>
                <!--<example correction="mark">My laptop is where I <marker>marks</marker> the grades.</example>-->
                <example>In my dreams where I am the ruler of the universe</example>
                <example>My Enemies &amp; I is an American rock band formed in Richmond, Virginia in 2010.</example>
                <example>A single episode of My Husband and I has been released by Network DVD on a DVD called "Classic ITV Christmas Comedy".</example>
                <example>My Conscience and I is the debut album by Remi Nicole, released in the UK on December 3, 2007 on the Universal label.</example>
                <example>Heaven is my father and earth is my mother, and even such a small creature as I finds an intimate place in their midst.</example>
            </rule>
        </rulegroup>
        <rule id="OUGHT_SAY" name="ought + infinitive (ought to + infinitive)">
            <pattern>
                <token>ought</token>
                <token postag="VB"/>
            </pattern>
            <message>Did you mean <suggestion>\1 to \2</suggestion>?</message>
            <example correction="ought to say">We <marker>ought say</marker> the truth.</example>
        </rule>
        <rule id="NOTHING_SUCH_AS" name="to be nothing such as (to be no such thing as)">
            <pattern>
                <token inflected="yes">be</token>
                <token>nothing</token>
                <token>such</token>
                <token>as</token>
            </pattern>
            <message>Did you mean <suggestion>\1 no such thing as</suggestion>?</message>
            <example correction="is no such thing as">There <marker>is nothing such as</marker> as a free lunch.</example>
        </rule>
        <rule id="DO_ANYONE" name="Do (Does) anyone">
            <pattern>
                <token postag="SENT_START" />
                <token postag="CC" min="0" />
                <marker>
                    <token>do</token>
                    <token regexp="yes">(some|any)(one|body)</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>does \4</suggestion>?</message>
            <example correction="does anybody">But <marker>do anybody</marker> use a Mac?</example>
            <example correction="Does anyone"><marker>Do anyone</marker>?</example>
            <example>Do something that relaxes you.</example>
        </rule>
        <rulegroup id="DO_HE_VERB" name="do (does) he have">
            <rule>
                <!-- more specific than HE_VERB_AGR, helps to avoid loops with that -->
                <antipattern><!-- #2125 Do it after school. -->
                    <token>do</token>
                    <token skip="-1">it
                        <exception scope="next">?</exception>
                        </token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern><!-- Premium #1795 1.) & 2.) -->
                    <token skip="-1" regexp="yes">don?|didn?|doesn?</token>
                    <token>do</token>
                    <token skip="-1">it</token>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- Can we do it like Elvis? -->
                    <token postag="MD" />
                    <token min="0">n't</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token>do</token>
                    <token>it</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>do</token>
                    </marker>
                    <token regexp="yes">he|she|it</token>
                    <token postag="RB" min='0' max='3'><exception postag="VBD"/></token>
                    <token postag="VB"><exception regexp="yes">well|even|better</exception></token>
                </pattern>
                <message>Did you mean <suggestion>does</suggestion>?</message>
                <example correction="Does"><marker>Do</marker> she have dinner alone?</example>
                <example correction="Does"><marker>Do</marker> it look broken to you?</example>
                <example correction="does">... but <marker>do</marker> it usually look good or bad?</example>
                <example>If you do it at all, try to do it well.</example>
                <example>Then please do it after school.</example><!-- #2125 -->
                <example>Then do it after school.</example>
                <example>Do it after school.</example>
                <example>You should do it before school.</example>
                <example>Does Tom do it right?</example><!-- Premium #1795 1.) -->
                <example>Why don't you does it like I showed you?</example><!-- Premium #1795 2.) -->
                <example>Did the lazy politicians who were arguing about process do it right?</example>
                <example>Why didn't you do it like I showed you?</example>
                <example>Can we do it like Elvis?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>do</token>
                        <token>n't</token>
                    </marker>
                    <token regexp="yes">he|she|it</token>
                    <token postag="RB" min='0' max='3'><exception postag="VBD"/></token>
                    <token postag="VB"><exception regexp="yes">well|even|better</exception></token>
                </pattern>
                <message>Did you mean <suggestion>doesn't</suggestion>?</message>
                <example correction="Doesn't"><marker>Don't</marker> she have dinner alone?</example>
                <example correction="Doesn't"><marker>Don’t</marker> it help you somehow?</example>
            </rule>
        </rulegroup>
        <rule id="WHEN_IS_NNP_AND_NNP" name="Incorrect use of 'is' vs. 'are'">
            <pattern>
                <token postag="SENT_START|CC" postag_regexp="yes" />
                <token postag="WRB|WP" postag_regexp="yes" />
                <marker>
                    <token>is</token>
                </marker>
                <token postag="NNP" />
                <token postag="NNP|UNKNOWN" postag_regexp="yes" min="0" />
                <token regexp="yes">and|&amp;|,</token>
                <token postag="NNP" />
            </pattern>
            <message>Did you mean <suggestion>are</suggestion>?</message>
            <example correction="are">When <marker>is</marker> Sylvester Stallone and Arnold Schwarzenegger back in cinema?</example>
            <example correction="are">It's exciting but when <marker>is</marker> Christmas and New Years finally over?</example>
            <example>What is Carl's and Peter's favorite meal?</example>
        </rule>
        <rule id="WAS_IS" name="was is">
            <antipattern>
                <token postag="W.+" postag_regexp="yes" skip="-1" />
                <token>was</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <marker>
                    <token regexp="yes">[Ww]as</token>
                    <token regexp="yes">[Ii]s</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>\1</suggestion>, <suggestion>\2</suggestion>, or <suggestion>\1 it</suggestion>?</message>
            <example correction="was|is|was it">He <marker>was is</marker> a good boy.</example>
            <example correction="was|is|was it">Tom <marker>was is</marker> in the passenger seat.</example>
            <example>Whatever it was is not relevant anymore.</example>
            <example>Was IS defeated by Obama or Trump?</example>
        </rule>
        <rule id="IS_WAS" name="is was">
            <antipattern>
                <token postag="W.+" postag_regexp="yes" skip="-1" />
                <token>is</token>
            </antipattern>
            <pattern case_sensitive="yes">
                <marker>
                    <token regexp="yes">[Ii]s</token>
                    <token regexp="yes">[Ww]as</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>\1</suggestion>, <suggestion>\2</suggestion>, or <suggestion>it \2</suggestion>?</message>
            <example correction="is|was|it was">He <marker>is was</marker> a good boy.</example>
            <example correction="Is|Was|It was"><marker>Is was</marker> a very simple install except.</example>
            <example>Whatever it is was not relevant anymore.</example>
            <example>IS was defeated by Obama or Trump.</example>
        </rule>
        <rule id="IS_OWN" name="is own">
            <pattern>
                <token>is</token>
                <token>own</token>
            </pattern>
            <message>Did you mean <suggestion>its \2</suggestion>?</message>
            <example correction="its own">Currently SAMI has <marker>is own</marker> API</example>
        </rule>
        <rule id="DIDINT" name="he didin't (didn't)">
            <pattern>
                <token regexp="yes">didin|diden|din|did</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Did you mean <suggestion>didn\2t</suggestion>?</message>
            <example correction="didn't">He <marker>didin't</marker> know about it.</example>
        </rule>
        <rule id="DIDENT" name="he dident (didn't)">
            <pattern>
                <token>dident</token>
            </pattern>
            <message>Did you mean <suggestion>didn't</suggestion>?</message>
            <example correction="didn't">He <marker>dident</marker> know about it.</example>
        </rule>
        <rule id="PRP_DINT" name="he dint (didn't)">
            <pattern>
                <token regexp="yes">I|you|s?he|we|they|it</token>
                <marker>
                    <token>dint</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>didn't</suggestion>?</message>
            <example correction="didn't">He <marker>dint</marker> know about it.</example>
        </rule>
        <rule id="I_EM" name="I em (am)">
            <pattern>
                <marker>
                    <token>I</token>
                    <token>em</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>I am</suggestion>?</message>
            <example correction="I am"><marker>I em</marker> very happy.</example>
        </rule>
        <rule id="ANI_T" name="he ani't (ani't)">
            <pattern>
                <token>ani</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Did you mean <suggestion>ain\2t</suggestion>?</message>
            <example correction="ain't">I <marker>ani't</marker> happy about it.</example>
        </rule>
        <rule id="PRP_ANIT" name="he ani't (ani't)">
            <pattern>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <marker>
                    <token case_sensitive="yes">anit</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>ain't</suggestion>?</message>
            <example correction="ain't">I <marker>anit</marker> happy about it.</example>
        </rule>
        <rulegroup id="PRP_HAVES" name="he haves (has)">
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|I|you|we|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>haves</token>
                    </marker>
                </pattern>
                <message>The word "haves" is a plural noun, not a verb. Did you mean <suggestion>has</suggestion> or <suggestion>have</suggestion>?</message>
                <example correction="has|have">He <marker>haves</marker> no idea.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>haves</token>
                    </marker>
                    <token regexp="yes">s?he|it|I|you|we|they</token>
                </pattern>
                <message>The word "haves" is a plural noun, not a verb. Did you mean <suggestion>has</suggestion> or <suggestion>have</suggestion>?</message>
                <example correction="has|have">But <marker>haves</marker> he got time?</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_FOND" name="we fond (found)">
            <rule>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                    <token>fond</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="PRP" />
                    <token>fond</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token>fond</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">they|I|you|we|s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fond</token>
                    </marker>
                    <token postag="PRP\$?|DT|TO|IN|NNP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>found</suggestion>?</message>
                <example correction="found">We <marker>fond</marker> out that you lied to us.</example>
                <example>Are you fond of swimming?</example>
                <example>Isn't she fond of swimming?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fond</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>found</suggestion>?</message>
                <example correction="found">We will eventually <marker>fond</marker> out that you lied to us.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_WONT" name="he wonts (wants)">
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">wonts?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>wants</suggestion>?</message>
                <example correction="wants">He <marker>wonts</marker> to go there.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">they|I|you|we</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>wont</token>
                    </marker>
                    <token postag="PRP\$?|DT|TO|NNP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>want</suggestion>?</message>
                <example correction="want">They <marker>wont</marker> to go there.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">they|I|you|we|s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>wonted</token>
                    </marker>
                    <token postag="PRP\$?|DT|TO|NNP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>wanted</suggestion>?</message>
                <example correction="wanted">They <marker>wonted</marker> to go there.</example>
            </rule>
        </rulegroup>
        <rule id="PRP_SUITES" name="he suites (suits)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">suites?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>suits</suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/suit</url>
            <example correction="suits">He <marker>suites</marker> in the car.</example>
        </rule>
        <rule id="PRP_MUS" name="he mus (must)">
            <pattern>
                <token regexp="yes">I|you|s?he|we|they|it</token>
                <marker>
                    <token>mus</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>must</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/must</url>
            <example correction="must">I <marker>mus</marker> admit that you are right.</example>
        </rule>
        <rule id="PRP_NEDS" name="he neds (needs)">
            <pattern>
                <token regexp="yes">I|you|s?he|we|they|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">neds?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="3" regexp_match="(?i)ed" regexp_replace="eed" /></suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/need</url>
            <example correction="needs">He <marker>neds</marker> to know about it.</example>
        </rule>
        <rule id="PRP_DELT" name="he delt (dealt)">
            <pattern>
                <token regexp="yes">I|you|s?he|we|they|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>delt</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>dealt</suggestion> (past tense of 'to deal')?</message>
            <url>https://www.merriam-webster.com/dictionary/dealt</url>
            <example correction="dealt">He <marker>delt</marker> with it.</example>
        </rule>
        <rule id="PRP_GOS" name="he gos (goes)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>gos</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>goes</suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/go</url>
            <example correction="goes">He <marker>gos</marker> home.</example>
        </rule>
        <rule id="PRP_HAFT" name="They haft (have) to">
            <pattern>
                <token postag="PRP|MD" postag_regexp="yes" />
                <marker>
                    <token>haft</token>
                </marker>
                <token postag="DT|TO" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>have</suggestion>?</message>
            <example correction="have">They will <marker>haft</marker> to go on.</example>
        </rule>
        <rule id="PRP_DOS" name="he dos (does)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>dos</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>does</suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/do</url>
            <example correction="does">He <marker>dos</marker> not want to go home.</example>
        </rule>
        <rule id="PRP_DRYS" name="it drys (dries)">
            <pattern>
                <token regexp="yes">it|s?he|this|that</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>drys</token>
                </marker>
            </pattern>
            <message>The word "\3" is a plural noun. Did you mean the singular simple present verb <suggestion>dries</suggestion>?</message>
            <example correction="dries">We need to do it before it <marker>drys</marker> out.</example>
        </rule>
        <rulegroup id="YOUR_RE" name="Your're (you're)">
            <rule>
                <pattern>
                    <token>your</token>
                    <token spacebefore="no">'re</token>
                </pattern>
                <message>Did you mean <suggestion>you're</suggestion> or <suggestion>your</suggestion>?</message>
                <example correction="You're|Your"><marker>Your're</marker> right!</example>
            </rule>
            <rule>
                <pattern>
                    <token>your</token>
                    <token case_sensitive="yes" regexp="yes">[Aa]re</token>
                </pattern>
                <message>Did you mean <suggestion>you are</suggestion>, <suggestion>yours are</suggestion> or <suggestion>your</suggestion>?</message>
                <example correction="You are|Yours are|Your"><marker>Your are</marker> right!</example>
            </rule>
            <rule>
                <pattern>
                    <token>its</token>
                    <token spacebefore="no">'s</token>
                </pattern>
                <message>Did you mean <suggestion>it's</suggestion> or <suggestion>its</suggestion>?</message>
                <example correction="It's|Its"><marker>Its's</marker> very cool!</example>
            </rule>
        </rulegroup>
        <rulegroup id="A_MD_VB" name="A would not do it">
            <antipattern><!-- adjective without hyphen "This book is a must-read" -->
                <token>must</token>
                <token regexp="yes">have|read|go|see|visit|be|do|offer|take</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">[CBDENXY]|γ|α|functions?|variables?|abbrev(iation)?s?</token>
                <token>A</token>
            </antipattern>
            <antipattern>
                <token skip="-1">A</token>
                <token regexp="yes">[CBDENXY]|γ|α|functions?|variables?|abbrev(iation)?s?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[A-Z]</token>
                <token regexp="yes">&amp;|and|n?or|\.</token>
                <token>A</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[A-Z]</token>
                <token regexp="yes">&amp;|and|n?or|\.|\-|–|\:|\*|\+|\/</token>
                <token>A</token>
            </antipattern>
            <antipattern>
                <token>for</token><!-- CC -->
                <token>A</token>
            </antipattern>
            <rule><!-- "A would do it" -->
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>a</token>
                    </marker>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>I</suggestion>?</message>
                <example correction="I"><marker>A</marker> would not do it like that.</example>
                <example>A can be regarded as a function of a real variable.</example>
                <example>If N is 7, A would be 4 and B would be 3.</example>
                <example>A must read for fans.</example>
                <example>A will buy tables from C.</example>
                <example>This Q &amp; A won’t replace our Tuesday stream.</example>
                <example>The U.S.A would go to war for this.</example>
            </rule>
            <rule><!-- "A didn't do it" -->
                <antipattern><!-- don't pass/come bet www.casinonewsdaily.com/craps-guide/ -->
                    <token>do</token>
                    <token>n't</token>
                    <token skip="-1" regexp="yes">pass|come</token>
                    <token regexp="yes">bets?</token>
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>a</token>
                    </marker>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>I</suggestion>?</message>
                <example correction="I"><marker>A</marker> didn't do it.</example>
                <example>A can be regarded as a function of a real variable.</example>
                <example>If N is 7, A would be 4 and B would be 3.</example>
                <example>A must read for fans.</example>
                <example>A will buy tables from C.</example>
                <example>This Q &amp; A won’t replace our Tuesday stream.</example>
                <example>The U.S.A would go to war for this.</example>
                <example>A don't come bet is played in two rounds.</example>
            </rule>
        </rulegroup>
        <rule id="PRP_NOWS" name="he nows (knows)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>nows</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>knows</suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/know</url>
            <example correction="knows">He <marker>nows</marker> nothing.</example>
        </rule>
        <rule id="WENT" name="wen't (went)">
            <pattern>
                <token>wen</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Did you mean <suggestion>went</suggestion>, <suggestion>won\2t</suggestion>?</message>
            <example correction="went|won't">I <marker>wen't</marker> to bed.</example>
        </rule>
        <rule id="PRP_PORTRAIT" name="he portraits (portrays)">
            <antipattern>
                <token postag="VB.*|UNKNOWN|IN" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it|they|you|I</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">portraits?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match regexp_match="portrait" regexp_replace="portray" no="3" /></suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/portray</url>
            <example correction="portrays">They <marker>portraits</marker> him as a self-serving careerist.</example>
        </rule>
        <rule id="PRP_WUS" name="he wos (was)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">w[ou]s</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>was</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/was</url>
            <example correction="was">He <marker>wos</marker> home.</example>
        </rule>
        <rule id="PRP_BOUGH" name="he bough (bought)">
            <pattern>
                <token regexp="yes">s?he|it|they|I|we|you</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>bough</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>bought</suggestion> (= past tense of "to buy")?</message>
            <url>https://www.merriam-webster.com/dictionary/buy</url>
            <example correction="bought">He <marker>bough</marker> a new car.</example>
        </rule>
        <rulegroup id="HE_HIS" name="he his (is)">
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                <token>it</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>his</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*|VBG|NN.*" postag_regexp="yes">
                        <exception regexp="yes">colleagues?|co\-?workers?|co\-?founders?|(boy|girl)?friends?|wife|husband|m[ou]ms?|dads?|m[ou]mmy|daddy|fathers?|mothers?|sisters?|pals?|budd(y|ies)|brothers?|grand(pa|ma|son|daughter|ad|dad|mum|mother)s?|sons?|daughters?|granny|childs?|childrens?|kids?|aunts?|uncles?|auntie</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">He <marker>his</marker> great!</example>
                <example>Please make it his favorite song.</example>
                <example>He his dad and I were going to the barbecue.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>his</token>
                    </marker>
                    <token postag="DT" />
                    <token />
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">He <marker>his</marker> the best!</example>
            </rule>
        </rulegroup>
        <rule id="PRP_SOOTHS" name="it sooths (soothes)">
            <pattern>
                <token regexp="yes">s?he|it|we|they|I</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">sooths?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="3" regexp_match="(?i)th" regexp_replace="the" /></suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/soothe</url>
            <example correction="soothes">It <marker>sooths</marker> my skin.</example>
        </rule>
        <rulegroup id="PRP_SAIS" name="it sais (says)">
            <url>https://www.merriam-webster.com/dictionary/say</url>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>sais</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>says</suggestion>?</message>
                <example correction="says">He <marker>sais</marker> something.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">we|they|I|you</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>sai</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>say</suggestion>?</message>
                <example correction="say">They <marker>sai</marker> something.</example>
            </rule>
        </rulegroup>
        <rule id="PRP_KNOWNS" name="he knowns (knows)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>knowns</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>knows</suggestion> (= 'to know')?</message>
            <url>https://www.merriam-webster.com/dictionary/know</url>
            <example correction="knows">He <marker>knowns</marker> someone.</example>
        </rule>
        <rule id="CANN_T" name="cann't → can't">
            <pattern>
                <marker>
                    <token>cann</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>can\2\3</suggestion> or <suggestion>cannot</suggestion>?</message>
            <example correction="can't|cannot">They <marker>cann't</marker> come.</example>
        </rule>
        <rule id="DONN_T" name="donn't → don't">
            <pattern>
                <marker>
                    <token>donn</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>don\2\3</suggestion>?</message>
            <example correction="don't">They <marker>donn't</marker> come.</example>
        </rule>
        <rule id="MUSN_T" name="musn't → mustn't">
            <pattern>
                <marker>
                    <token>musn</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>mustn\2\3</suggestion>?</message>
            <example correction="mustn't">They <marker>musn't</marker> come.</example>
        </rule>
        <rule id="COUD_T" name="oud't, oudn't, ould't → ouldn't">
            <pattern>
                <marker>
                    <token regexp="yes">(c|sh|w)ou[ldn]+
                        <exception regexp="yes">(c|sh|w)ouldn</exception>
                    </token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion><match no="1" regexp_match="(?&lt;=ou)[ldn]+$" regexp_replace="ldn" />\2\3</suggestion>?</message>
            <example correction="couldn't">They <marker>coud't</marker> come.</example>
            <example correction="couldn't">They <marker>coudn't</marker> come.</example>
            <example correction="couldn't">They <marker>could't</marker> come.</example>
            <example correction="couldn't">They <marker>couln't</marker> come.</example>
            <example correction="couldn't">They <marker>coudln't</marker> come.</example>
            <example correction="couldn't">They <marker>coundn't</marker> come.</example>
            <example correction="wouldn't">They <marker>woudn't</marker> come.</example>
            <example correction="shouldn't">They <marker>shoudn't</marker> come.</example>
            <example correction="couldn't">They <marker>couldln't</marker> come.</example>
        </rule>
        <rule id="COUN_T" name="coun't → couldn't, count">
            <pattern>
                <marker>
                    <token>coun</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>couldn\2\3</suggestion> or <suggestion>count</suggestion>?</message>
            <example correction="couldn't|count">They <marker>coun't</marker> come.</example>
        </rule>
        <rule id="WOUN_T" name="woun't → wouldn't, won't">
            <pattern>
                <marker>
                    <token>woun</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>wouldn\2\3</suggestion> or <suggestion>won\2\3</suggestion>?</message>
            <example correction="wouldn't|won't">They <marker>woun't</marker> come.</example>
        </rule>
        <rule id="ISEN_T" name="isen't → isn't">
            <!-- See also MISSING_APOSTROPHE_T, APOS_RE, INCORRECT_CONTRACTIONS, EN_CONTRACTION_SPELLING, DONT_T, WASENT, DOSENT, DOESENT, DIDINT, etc. -->
            <pattern>
                <marker>
                    <token regexp="yes">(is|has|does)[ieun]n</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion><match no="1" regexp_match="[ieun](?=n$)" regexp_replace="" />\2\3</suggestion>?</message>
            <example correction="isn't">It <marker>isen't</marker> coming.</example>
            <example correction="isn’t">It <marker>isen’t</marker> coming.</example>
            <example correction="isn't">It <marker>isin't</marker> coming.</example>
            <example correction="isn't">It <marker>isun't</marker> coming.</example>
            <example correction="isn't">It <marker>isnn't</marker> coming.</example>
            <example correction="hasn't">It <marker>hasen't</marker> come.</example>
            <example correction="hasn’t">It <marker>hasen’t</marker> come.</example>
            <example correction="doesn't">It <marker>doesen't</marker> come.</example>
            <example correction="doesn’t">It <marker>doesen’t</marker> come.</example>
        </rule>
        <rule id="ARN_T" name="arn't → aren't">
            <pattern>
                <marker>
                    <token regexp="yes">(ar|wer)n</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion><match no="1" regexp_match="n$" regexp_replace="en" />\2\3</suggestion>?</message>
            <example correction="aren't">They <marker>arn't</marker> coming.</example>
            <example correction="aren’t">They <marker>arn’t</marker> coming.</example>
            <example correction="weren't">They <marker>wern't</marker> coming.</example>
            <example correction="weren’t">They <marker>wern’t</marker> coming.</example>
        </rule>
        <rule id="WASEN_T" name="he wasen't (wasn't)">
            <pattern>
                <token regexp="yes">wasen|was|wasnt</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>wasn\2t</suggestion>?</message>
            <example correction="wasn't">He <marker>wasen't</marker> sure.</example>
        </rule>
        <rule id="WASENT" name="he wasent (wasn't)">
            <pattern>
                <token regexp="yes">was[ie]nt</token>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>wasn't</suggestion>?</message>
            <example correction="wasn't">He <marker>wasent</marker> sure.</example>
        </rule>
        <rule id="DOESENT" name="dosent (doesn't)">
            <pattern>
                <marker>
                    <token regexp="yes">doe?sent|doesint</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>doesn't</suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/do</url>
            <example correction="doesn't">He <marker>doesent</marker> want to go home.</example>
        </rule>
        <rule id="DONS_T" name="dons't (don't)">
            <pattern>
                <marker>
                    <token>dons</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>t</token>
                </marker>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>don't</suggestion> (= verb)?</message>
            <url>https://www.merriam-webster.com/dictionary/do</url>
            <example correction="don't">I <marker>dons't</marker> need your help.</example>
        </rule>
        <rulegroup id="PRP_DON" name="they don (don't)">
            <rule>
                <pattern>
                    <token regexp="yes">don|doesn|ha[ds]n|haven|[cw]ouldn|shouldn|wasn|weren|mustn|aren|isn</token>
                    <token regexp="yes">not?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="n$" regexp_replace="" /> \2</suggestion>?</message>
                <example correction="do not">I <marker>don not</marker> know.</example>
            </rule>
            <rule>
                <antipattern><!-- "don" is also a rarely used verb -->
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <token>dons</token>
                    <token regexp="yes">an?|that|this|my|y?our|his|her|their</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|we|they|s?he|you</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dons</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>don't</suggestion> or <suggestion>doesn't</suggestion>?</message>
                <example correction="don't|doesn't">I <marker>dons</marker> have an idea.</example>
            </rule>
            <rule>
                <antipattern><!-- "don" is also a rarely used verb -->
                    <token regexp="yes">I|you|we|they</token>
                    <token postag="RB" min="0" />
                    <token>don</token>
                    <token regexp="yes">an?|that|this|my|y?our|his|her|their</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token case_sensitive="yes" regexp="yes">D.+</token><!-- "Don" (name) -->
                </antipattern>
                <pattern>
                    <token regexp="yes">I|we|they|s?he|you</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">
                            don|doesn|hasn|haven|[cw]ouldn|shouldn|wasn|weren|ain|mustn|aren|isn
                            <exception case_sensitive="yes" regexp="yes">D.+</exception><!-- Name ("Don") -->
                        </token>
                    </marker>
                    <token spacebefore="yes">
                        <exception regexp="yes">&apostrophe;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\3't</suggestion>?</message>
                <example correction="don't">I <marker>don</marker> go there.</example>
                <example>I like Don for his attitude.</example>
                <example>I like ain for his attitude.</example>
                <example>Thank you Don.</example>
                <example>Thank you Don for your help.</example>
                <example>In the dressing room you don your football shirts.</example>
            </rule>
        </rulegroup>
        <rule id="PRP_DOCENT" name="he docent (doesn't)">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token>docent</token>
            </pattern>
            <message>Did you mean <suggestion>\1 doesn't</suggestion> instead of docent (= university teacher)?</message>
            <example correction="He doesn't"><marker>He docent</marker> know anything.</example>
        </rule>
        <rule id="PRP_MIGHT" name="I mite (might)">
            <pattern>
                <token regexp="yes">I|you|s?he|they|we|it</token>
                <token>mite</token>
            </pattern>
            <message>Did you mean <suggestion>\1 might</suggestion>?</message>
            <example correction="I might"><marker>I mite</marker> be happy if you forgive me.</example>
        </rule>
        <rule id="DOS" name="Dos vs Does">
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Dd]os</token>
                </marker>
                <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <token postag="VB" chunk_re=".-VP" />
            </pattern>
            <message>Did you mean the verb <suggestion>does</suggestion>?</message>
            <example correction="does">How many <marker>dos</marker> it take?</example>
        </rule>
        <rule id="DOSNT" name="he dosn't (doesn't)">
            <pattern>
                <token regexp="yes">do[se]n|does|dosan|doasn|dosen</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>doesn\2t</suggestion>?</message>
            <example correction="doesn't">He <marker>dosn't</marker> know about it.</example>
        </rule>
        <rule id="HAVNT" name="they havn't (haven't)">
            <pattern>
                <token regexp="yes">hav[ia]?n</token>
                <token regexp="yes">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>Typo detected. Did you mean <suggestion>haven\2t</suggestion>?</message>
            <example correction="haven't">They <marker>havn't</marker> had time yet.</example>
        </rule>
        <rulegroup id="NED_NEED" name="we ned (need) to">
            <rule>
                <pattern>
                    <token case_sensitive="yes">
                        ned
                    </token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>need \2</suggestion> (verb) or <suggestion><match no="1" case_conversion="startupper" /> \2</suggestion> (a person's name)?</message>
                <example correction="need to|Ned to">Our <marker>ned to</marker> feel special is making us lonely.</example>
                <example correction="need to|Ned to">Please also invite <marker>ned to</marker> our party.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|s?he|it|we|they|should|[cw]ould|did|do|might|may|to</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">ned</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>need</suggestion> (verb) or <suggestion><match no="4" case_conversion="startupper" /></suggestion> (a person's name)?</message>
                <example correction="need|Ned">I really <marker>ned</marker> a new car.</example>
                <example correction="need|Ned">I <marker>ned</marker> a new car.</example>
                <example correction="need|Ned">Could <marker>ned</marker> be there?</example>
            </rule>
        </rulegroup>
        <rulegroup id="IES_IZE" name="I priorities (prioritize)">
            <rule>
                <antipattern>
                    <token>when</token>
                    <token>it</token>
                    <token>comes</token>
                    <token>to</token>
                    <token regexp="yes">.+ies</token>
                </antipattern>
                <antipattern>
                    <token>addition</token>
                    <token>to</token>
                    <token regexp="yes">.+ies</token>
                </antipattern>
                <antipattern>
                    <token skip="-1">from</token>
                    <token>to</token>
                    <token regexp="yes">.+ies</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">subject|responses?|attention|addition|due|alternatives?|exposure|similar|comparable|access|refer|related|restrict|return|lead|respond|regard|compare|relevant|link</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token skip="2">introduce</token>
                    <token>to</token>
                    <token regexp="yes">.*ies</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token regexp="yes">.*ies</token>
                    <token regexp="yes">of|,</token>
                </antipattern>
                <pattern>
                    <token>
                        to
                    </token>
                    <token regexp="yes">priorities|priories|apologies|categories</token>
                </pattern>
                <message>Did you mean the verb <suggestion>\1 <match no="2" regexp_match="(?i)ies$" regexp_replace="ize" /></suggestion> (American English) or <suggestion>\1 <match no="2" regexp_match="(?i)ies$" regexp_replace="ise" /></suggestion> (British English)?</message>
                <example correction="to prioritize|to prioritise">I wanted <marker>to priorities</marker> the task.</example>
                <example correction="to apologize|to apologise">I wanted <marker>to apologies</marker> for the confusion.</example>
                <example>When it comes to apologies, I now know that sooner is usually better than later.</example>
                <example>I tried everything from forgiveness to apologies.</example>
                <example>The database was not restricted to apologies between governments.</example>
                <example>When it comes to priorities, I now know that sooner is usually better than later.</example>
                <example>I tried everything from forgiveness to apologies.</example>
                <example>The task was not restricted to priorities.</example>
                <example>Let us know your feedback and what other APIs you would find useful with regard to Priorities and Priority Schemes.</example>
                <example>Video archive of recorded talks relevant to categories, logic and the foundations of physics.</example>
                <example>The page is substantially less complicated or busy than its previous form, offering links to categories of information, but not highlighting numerous content items.</example>
                <example>More recent efforts to introduce undergraduates to categories as a foundation for mathematics include William Lawvere and Rosebrugh.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern><!-- the IT -->
                    <token regexp="yes">the|an?|my|y?our|their|his|her|its|s</token>
                    <token>IT</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|we|they|s?he|it
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">priorit(ies|y)|priories|apolog(ies|y)|categor(ies|y)</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)(ies|y)$" regexp_replace="ize" /></suggestion> (American English) or <suggestion><match no="3" regexp_match="(?i)(ies|y)$" regexp_replace="ise" /></suggestion> (British English)?</message>
                <example correction="prioritize|prioritise">I <marker>priorities</marker> this task.</example>
                <example correction="apologize|apologise">I <marker>apologies</marker> for the confusion.</example>
                <example correction="apologize|apologise">I really <marker>apologies</marker> for taking some of your time by asking, but Im almos surrender and i don want to!</example>
                <example>I'm going to make you priority.</example>
                <example>Wayne Rash Catching spies is probably pretty far down your list of IT priorities.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">priorit(ies|y)|priories|apolog(ies|y)|categor(ies|y)</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="5" regexp_match="(?i)(ies|y)$" regexp_replace="ize" /></suggestion> (American English) or <suggestion><match no="5" regexp_match="(?i)(ies|y)$" regexp_replace="ise" /></suggestion> (British English)?</message>
                <example correction="prioritize|prioritise">They would probably <marker>priorities</marker> single parent families.</example>
                <example correction="prioritize|prioritise">I would <marker>priorities</marker> this task.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|his|her|y?our|their|no</token>
                    <marker>
                        <token regexp="yes">apologi[sz]e|prioriti[sz]e|categori[sz]e</token>
                    </marker>
                </pattern>
                <message>The word "\2" is a noun. Did you mean <suggestion><match no="2" regexp_match="(?i)i[sz]e$" regexp_replace="y" /></suggestion>?</message>
                <example correction="apology">I owe you an <marker>apologize</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BENTS_BENDS" name="She bents (bends)">
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <token postag="RB.*" min="0" postag_regexp="yes" />
                    <marker>
                        <token>bents</token>
                    </marker>
                </pattern>
                <message>The word "\2" is a noun and adjective. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)t" regexp_replace="d" /></suggestion>?</message>
                <example correction="bends">She <marker>bents</marker> down.</example>
            </rule>
        </rulegroup>
        <rulegroup id="EMPHASIS_EMPHASIZE" name="I emphasis (emphasize)">
            <rule>
                <antipattern>
                    <token>when</token>
                    <token>it</token>
                    <token>comes</token>
                    <token>to</token>
                    <token>emphasis</token>
                </antipattern>
                <antipattern>
                    <token>addition</token>
                    <token>to</token>
                    <token>emphasis</token>
                </antipattern>
                <antipattern>
                    <token skip="-1">from</token>
                    <token>to</token>
                    <token>emphasis</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">subject|responses?|attention|addition|due|alternatives?|exposure|similar|comparable|access</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token>
                        to
                        <exception regexp="yes" scope="previous" inflected="yes">refer|related|restrict|return|lead|respond|regard|compare</exception>
                    </token>
                    <token regexp="yes">emphas[ei]s</token>
                </pattern>
                <message>Did you mean <suggestion>\1 emphasize</suggestion> (American English) or <suggestion>\1 emphasise</suggestion> (British English)?</message>
                <example correction="to emphasize|to emphasise">I wanted <marker>to emphasis</marker> the task.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern><!-- the IT -->
                    <token regexp="yes">the|an?|my|y?our|their|his|her|its|s</token>
                    <token>IT</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|we|they|s?he|it
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">emphas[ei]s</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>emphasize</suggestion> (American English) or <suggestion>emphasise</suggestion> (British English)?</message>
                <example correction="emphasize|emphasise">I <marker>emphasis</marker> this task.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">emphas[ei]s</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>emphasize</suggestion> (American English) or <suggestion>emphasise</suggestion> (British English)?</message>
                <example correction="emphasize|emphasise">They would probably <marker>emphasis</marker> single parent families.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BELIVE_BELIEVE" name="I belive (believe)">
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <token regexp="yes">belive[sd]?</token>
                </pattern>
                <message>Did you mean <suggestion>\1 <match no="2" regexp_match="(?i)i" regexp_replace="ie" /></suggestion>?</message>
                <example correction="I believe"><marker>I belive</marker> in god.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">should|[cw]could|did|do|was|were|has|have|can|cannot|must|might|may|to</token>
                    <token regexp="yes">belive[sd]?</token>
                </pattern>
                <message>Did you mean <suggestion>\1 <match no="2" regexp_match="(?i)i" regexp_replace="ie" /></suggestion>?</message>
                <example correction="did believe">I <marker>did belive</marker> in god.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">should|[cw]could|did|was|were|has|have|ca|can|must</token>
                    <token>n't</token>
                    <token regexp="yes">belive[sd]?</token>
                </pattern>
                <message>Did you mean <suggestion>\1\2 <match no="3" regexp_match="(?i)i" regexp_replace="ie" /></suggestion>?</message>
                <example correction="didn't believe">I <marker>didn't belive</marker> in god.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HOW_YOU_DOING" name="how (are) you doing'">
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes">(how|what|when|where|which|who)(ever)?</token>
                        <token regexp="yes">you|u|ya</token>
                        <token regexp="yes">[dg]oing?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2 are you <match no="4" regexp_match="(?i)oing?$" regexp_replace="oing" /></suggestion>?</message>
                <example correction="how are you doing"><marker>how you doing</marker>?</example>
                <example correction="Where are you going"><marker>Where you goin</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">
                            (how|what|when|where|which|who)(ever)?
                            <!-- don't match "What where you doing? (caught by CONFUSION_RULE) -->
                            <exception scope="previous" postag="W.*" postag_regexp="yes" />
                        </token>
                        <token regexp="yes">you|u|ya</token>
                        <token regexp="yes" skip="-1">[dg]oing?</token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>\1 are you <match no="3" regexp_match="(?i)oing?$" regexp_replace="oing" /></suggestion>?</message>
                <example correction="what are you doing">Hi, <marker>what you doin</marker> today?</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_VBG" name="He going (He is going)">
            <short>Agreement error</short>
            <antipattern>
                <token postag="VB.*|UNKNOWN" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">hope|think</exception>
                </token>
                <token min="0" max="3">.</token>
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[\-\*]?(are|were|was|is|am)</token>
                <token min="0" max="3">.</token>
                <token regexp="yes">it|s?he|we|they|I</token>
            </antipattern>
            <antipattern><!-- Is it you -->
                <token inflected="yes">be</token>
                <token regexp="yes">it|s?he|we|they|I|you</token>
            </antipattern>
            <antipattern><!-- Why’s it so hard keeping the good places open? -->
                <token postag="WRB|WP" postag_regexp="yes" />
                <token>'s</token>
                <token regexp="yes">it|s?he|we|they|I|you</token>
            </antipattern>
            <antipattern><!-- make it amazing -->
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
                <token postag="RB" min="0" max="2" />
                <token postag="JJ" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- online shop -->
                <token>ABOUT</token>
                <token>YOU</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">are|is|was|were|ai</token>
                <token>n't</token>
                <token regexp="yes">I|you|s?he|it|we|they</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern>
                <token>booking</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">com</token>
            </antipattern>
            <antipattern><!-- World War I -->
                <token regexp="yes">&nouns_with_i;</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern><!-- my wife and I not being drinkers -->
                <token regexp="yes">it|you|s?he|we|they|I</token>
                <token postag="RB" min="0" max="2" />
                <token>being</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">I|you|s?he|it|we|they</token>
                <token regexp="yes">freakin.*</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/lover_boy -->
                <token>you</token>
                <token>lover</token>
                <token>boys</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token postag="VBG" /><!-- fucking, dithering, lying -->
                <token regexp="yes">idiots?|douche(bag)?s?|morons?|fools?|toads?|liars?|folks?</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token postag="JJ" regexp="yes">.+ing</token><!-- annoying -->
                <token regexp="yes">&nouns_with_you;</token>
            </antipattern>
            <antipattern><!-- You disgusting little bitch -->
                <token>you</token>
                <token regexp="yes">disgusting|annoying</token>
                <token postag="JJ" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token postag="RB" min="0" max="2" />
                <token postag="VBG" />
                <token postag="UNKNOWN" />
            </antipattern>
            <antipattern>
                <token>t</token>
                <token regexp="yes">\)|/</token>
                <token spacebefore="no">he</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">IT</token>
                <token regexp="yes">meeting|staffing|consulting|engineering|outsourcing|training|planning|sourcing</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">IT</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token>it</token>
                <token postag="RB" min="0" max="2" />
                <token postag="VBG" skip="1" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token>it</token>
                <token postag="RB" min="0" max="2" />
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token>you</token>
                <token postag="RB" min="0" max="2" />
                <token postag="VBG" skip="1" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token>you</token>
                <token postag="RB" min="0" max="2" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- confusion of "I as" vs "I was" (see I_AS_LOOKING) -->
                <token regexp="yes">I|s?he|it</token>
                <token>as</token>
            </antipattern>
            <antipattern><!-- t(he) -->
                <token>(</token>
                <token spacebefore="no">t</token>
                <token spacebefore="no">)</token>
                <token spacebefore="no">he</token>
                <token postag="VBG"/>
            </antipattern>
            <antipattern><!-- t[he] -->
                <token>[</token>
                <token spacebefore="no">t</token>
                <token spacebefore="no">]</token>
                <token spacebefore="no">he</token>
                <token postag="VBG"/>
            </antipattern>
            <antipattern><!-- "Is this you not needing a lesson from me?", "Was it you knocking?" -->
                <token inflected="yes">be</token>
                <token regexp="yes">this|that|it</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- "There is just you not wanting to do anything unless it turns out perfect from the start, which is impossible." -->
                <token inflected="yes">be</token>
                <token postag="RB" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern>
                <token>with</token>
                <token>much</token>
                <token>it</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- A.I -->
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">I</token>
            </antipattern>
            <antipattern><!-- has he amazing skills -->
                <token inflected="yes">have</token>
                <token regexp="yes">s?he|it|we|they|I</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern><!-- Regardless of me passing it or it passing me. -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token regexp="yes">and|or|&amp;</token>
                <token postag="PRP" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- "What is he/she wearing?" -->
                <token postag="PRP" />
                <token>/</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- "So he blamed losing the war" -->
                <token postag="PRP" />
                <and>
                    <token postag="VB[DPZ]" postag_regexp="yes" />
                    <token postag="RB" />
                </and>
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="7">be</token>
                <token postag="NN.*|UNKNOWN|PRP" postag_regexp="yes" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token regexp="yes">I|you|s?he|we|they|it</token>
            </antipattern>
            <antipattern><!-- In early February, Cindy talked to Joann and I about matching the burns to the best reading around noon of the gas day that just ended. -->
                <token regexp="yes">and|or|&amp;</token>
                <token postag="PRP" />
                <token postag="IN" />
                <token postag="RB" min="0" max="2" />
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- Seriously, you better fucking call me. -->
                <token postag="PRP" />
                <token postag="RB.*" postag_regexp="yes" />
                <token regexp="yes">fucking?|freaking?</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Seriously, you better fucking call me. (AP can be removed once tagging is correct) -->
                <token postag="PRP" />
                <token>better</token>
                <token>fucking</token>
            </antipattern>
            <antipattern><!-- I fuckin' will do ... -->
                <token>fuckin</token>
                <token regexp="yes">&apostrophe;</token>
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token>friggin</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- different error -->
                <token regexp="yes">isnt|arent|wasnt|werent</token>
                <token postag="PRP" />
                <token postag="VBG" />
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>WE</token>
                <token regexp="yes">([A-Z][a-z].*)|[A-Z]+</token>
            </antipattern>
            <antipattern><!-- He talked to the G.I regarding one topic -->
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">I</token>
            </antipattern>
            <antipattern><!-- I though climbing the ...  (different error) -->
                <token postag="PRP" />
                <token>though</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- #5171 You and I getting together makes a lot of sense. -->
                <token postag_regexp="yes" postag="PRP_S.*|NNP"/>
                <token>and</token>
                <token postag_regexp="yes" postag="PRP_S.*|NNP"/>
                <token min="0" max="3" postag="RB"/>
                <token postag="VBG"/>
                <token postag="JJ"/>
                <token min="0" max="3" postag="RB"/>
                <token postag_regexp="yes" postag="MD|VB[ZD]"/>
            </antipattern>
            <antipattern><!-- #5171 Jenny and he actually going at this time makes a lot of sense. -->
                <token postag_regexp="yes" postag="PRP_S.*|NNP"/>
                <token>and</token>
                <token postag_regexp="yes" postag="PRP_S.*|NNP"/>
                <token min="0" max="3" postag="RB"/>
                <token postag="VBG"/>
                <token postag="IN"/>
                <token chunk_re="B-NP-.*"/>
                <token min="0" max="6" chunk_re="I-NP-.*"/>
                <token chunk_re="E-NP-.*"/>
                <token postag_regexp="yes" postag="MD|VB[ZD]"/>
            </antipattern>
            <rule><!-- you coming or what? -->
                <pattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">you|they|we</token>
                        <token postag="VBG" />
                    </marker>
                    <token>or</token>
                    <token regexp="yes">wh?at|wut|not</token>
                    <token>?</token>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>are \2 \3</suggestion>?</message>
                <example correction="are you coming">Hey Matt, <marker>you coming</marker> or what?</example>
            </rule>
            <rule><!-- "How he doing?" -->
                <pattern>
                    <or>
                        <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                        <token regexp="yes">["’“]|@[a-z0-9\.]+</token>
                    </or>
                    <marker>
                        <token regexp="yes">how|(what|where|why|when|who|which)(ever)?</token>
                        <token min="0" regexp="yes">else|ever</token>
                        <token regexp="yes" postag="PRP">s?he|it</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="VBG" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\2 \3 is \4</suggestion> or <suggestion>\2 \3 \4 is</suggestion>?</message>
                <example correction="What is she|What she is"><marker>What she</marker> doing?</example>
                <example correction="What else is she|What else she is"><marker>What else she</marker> doing?</example>
                <example correction="When is it|When it is"><marker>When it</marker> going to be fixed?</example>
            </rule>
            <rule><!-- "He only going" -->
                <pattern>
                    <token regexp="yes" postag="PRP">
                        s?he|it
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB.*" postag_regexp="yes">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="VBG" />
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\1's \2 \3 \4</suggestion>, <suggestion>\1 is \2 \3 \4</suggestion>, or <suggestion>\1 was \2 \3 \4</suggestion>?</message>
                <example correction="He's only going|He is only going|He was only going"><marker>He only going</marker> to be there.</example>
                <example correction="It's only allowing|It is only allowing|It was only allowing"><marker>It only allowing</marker> one photo per post, sorry.</example>
                <example correction="it's just working|it is just working|it was just working">And one more thing we identified is that when we configure these instances in local <marker>it just working</marker> fine.</example>
                <example correction="she's not going|she is not going|she was not going">Therefore, <marker>she not going</marker> to be there.</example>
                <example correction="he's probably not going|he is probably not going|he was probably not going">I think <marker>he probably not going</marker> there.</example>
                <example correction="It's rather about giving|It is rather about giving|It was rather about giving"><marker>It rather about giving</marker> people an instrument.</example>
                <example>Is she still sleeping?</example>
                <example>Wire it up using jumper wires.</example><!-- see #2403 -->
                <example>What is he currently doing?</example>
                <example>I’m very worried about it not running tomorrow or it just stopping and it being pricey to fix.</example>
                <example>Has he amazing skills or not?</example>
                <example>Regardless of me passing it or it passing me.</example>
                <example>So he blamed losing the war.</example>
                <example>It just needs cleaning, but it can be difficult to clean off.</example>
                <example>It probably needs adjusting or replacement.</example>
                <example>Why’s it so hard keeping the good places open?</example>
                <example>I will talk to Will Smith in Houston IT about adding a function in Deal Blotter to choose confirm or no confirm.</example>
                <example>Jenny and he actually going at this time makes a lot of sense.</example><!-- #5171 -->
            </rule>
            <rule><!-- "He going" -->
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ss]?[Hh]e|[Ii]t</token>
                    <token postag="VBG" />
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\1's \2</suggestion>, <suggestion>\1 is \2</suggestion>, or <suggestion>\1 was \2</suggestion>?</message>
                <example correction="He's going|He is going|He was going"><marker>He going</marker> to be there.</example>
                <example correction="he's running|he is running|he was running">I hope <marker>he running</marker> faster than his opponents</example>
                <example>Both of it being wrong.</example>
                <example>While others have raised doubts about it being part of Afroasiatic at all.</example>
                <example>… resulting in it impacting in an "uncertain location" on the lunar surface.</example>
                <example>It being Sunday, there was no school.</example>
                <example>(t)he conditioning of petty criminals with the whip.</example>
                <example>We had an IT Meeting.</example>
                <example>IT Consulting.</example>
                <example>Please make it amazing.</example>
                <example>(T)he conditioning of petty criminals with the whip, or some more...</example>
                <example>You freaking change it!</example><!-- freaking is an intensifier (https://www.merriam-webster.com/dictionary/freaking) -->
                <example>They used to have Jerry Stiller and Anne Meara perform for us because he being Jewish, and her being Irish.</example>
                <example>With over 120 million visitors a year tourism is integral to the Alpine economy with much it coming from winter sports although summer visitors are an important component of the tourism industry.</example>
                <example>What is she/he wearing?</example>
                <example>She and he going together makes a lot of sense.</example><!-- #5171 -->
            </rule>
            <rule><!-- "Tom and I only going to" -->
                <pattern>
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <marker>
                        <token>I</token>
                        <token postag="RB.*" postag_regexp="yes">
                            <exception regexp="yes">before|after|live|needs</exception>
                            <exception postag="IN" />
                        </token>
                        <token postag="RB.*" postag_regexp="yes" min="0">
                            <exception regexp="yes">before|after|live|needs</exception>
                            <exception postag="IN" />
                        </token>
                        <token postag="VBG" />
                    </marker>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\3 are \4 \5 \6</suggestion>, <suggestion>\3 am \4 \5 \6</suggestion>?</message>
                <example correction="I are only going|I am only going">Adam and <marker>I only going</marker> to be there.</example>
                <example correction="I are now seeking|I am now seeking">My brothers and <marker>I now seeking</marker> health go to therapists of whom we assign the forementioned.</example>
                <example>How are Tom and I ever going to buy everything we need?</example>
                <example>In early February, Cindy talked to Joann and I about matching the burns to the best reading around noon of the gas day that just ended.</example>
            </rule>
            <rule><!-- "Tom and I going to" -->
                <pattern>
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token regexp="yes">and|&amp;|n?or</token>
                    <marker>
                        <token>I</token>
                        <token postag="VBG" />
                    </marker>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\3 are \4</suggestion>, <suggestion>\3 am \4</suggestion>?</message>
                <example correction="I are going|I am going">Adam and <marker>I going</marker> to be there.</example>
                <example correction="I are doing|I am doing">Tracy and <marker>I doing</marker> well.</example>
                <example>How are Tom and I doing so far?</example>
                <example correction="I are leaving|I am leaving">My mom and <marker>I leaving</marker> on Monday.</example>
            </rule>
            <rule><!-- "How I doing?" -->
                <pattern>
                    <or>
                        <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                        <token regexp="yes">["’“]|@[a-z0-9\.]+</token>
                    </or>
                    <marker>
                        <token regexp="yes">how|(what|where|why|when|who|which)(ever)?</token>
                        <token min="0" regexp="yes">else|ever</token>
                        <token postag="PRP">I</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="VBG" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\2 \3 am \4</suggestion>?</message>
                <example correction="What am I"><marker>What I</marker> doing?</example>
            </rule>
            <rule><!-- I only going -->
                <pattern>
                    <token postag="PRP">I</token>
                    <token postag="RB.*" postag_regexp="yes">
                        <exception regexp="yes">before|after|live|fucking|needs</exception>
                    </token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">before|after|live|fucking|needs</exception>
                    </token>
                    <token postag="VBG" />
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\1'm \2 \3 \4</suggestion>, <suggestion>\1 am \2 \3 \4</suggestion> or <suggestion>\1 was \2 \3 \4</suggestion>?</message>
                <example correction="I'm only going|I am only going|I was only going"><marker>I only going</marker> to be there.</example>
                <example correction="I'm first starting|I am first starting|I was first starting">When <marker>I first starting</marker> working out at age 16 I gained 16 kgs in 3 months (fat and muscle of course).</example>
                <example correction="I'm not going|I am not going|I was not going"><marker>I not going</marker> to be there.</example>
                <example correction="I'm maybe not doing|I am maybe not doing|I was maybe not doing">I have no idea what <marker>I maybe not doing</marker> right.</example>
                <example>I live doing cool things.</example><!-- "live" used as verb here -->
                <example>Am I just missing something?</example>
                <example>I would suggest talking with Mike or I before making any comments to the media if possible.</example><!-- I → me (needs rule) -->
                <example>The squadron converted to the Mustang I before commencing operations in mid-1943.</example>
                <example>How are Tom and I ever going to buy everything we need?</example>
                <example>I before reading this post had to wait 15-20 minutes.</example><!-- missing comma -->
                <example>In early February, Cindy talked to Joann and I about matching the burns to the best reading around noon of the gas day that just ended.</example>
                <example>I frigging love you!</example>
            </rule>
            <rule>
                <pattern>
                    <token>I</token>
                    <token postag="VBG" />
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\1'm \2</suggestion>, <suggestion>\1 am \2</suggestion>, or <suggestion>\1 was \2</suggestion>?</message>
                <example correction="I'm going|I am going|I was going"><marker>I going</marker> to be there.</example>
                <example>...general, charge Q is determined by steady current I flowing for a time t as Q = It.</example>
                <example>I mute them.</example>
                <example>You and I getting together makes a lot of sense.</example><!-- #5171 -->
            </rule>
            <rule><!-- "How you doing?" -->
                <pattern>
                    <or>
                        <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                        <token regexp="yes">["’“]|@[a-z0-9\.]+</token>
                    </or>
                    <marker>
                        <token regexp="yes">how|(what|where|why|when|who|which)(ever)?</token>
                        <token min="0" regexp="yes">else|ever</token>
                        <token regexp="yes">they|we|you</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="VBG" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\2 \3 are \4</suggestion>?</message>
                <example correction="What are we"><marker>What we</marker> doing?</example>
                <example correction="where are you">@carl <marker>where you</marker> moving to?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token regexp="yes">they|we|you</token>
                        <token postag="RB.*" postag_regexp="yes" min="0">
                            <exception regexp="yes">before|after|live|needs</exception>
                        </token>
                        <token postag="VBG" skip="5" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>Are <match no="2" case_conversion="alllower" /> \3 \4</suggestion> or <suggestion>\2 are \3 \4</suggestion>?</message>
                <example correction="Are you getting|You are getting"><marker>You getting</marker> this?</example>
                <example correction="Are you still going|You are still going"><marker>You still going</marker> to school?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">they|we|you</token>
                    <token postag="RB.*" postag_regexp="yes">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">before|after|live|needs</exception>
                    </token>
                    <token postag="VBG" />
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\1're \2 \3 \4</suggestion>, <suggestion>\1 are \2 \3 \4</suggestion>, or <suggestion>\1 were \2 \3 \4</suggestion>?</message>
                <example correction="You're usually going|You are usually going|You were usually going"><marker>You usually going</marker> to be there.</example>
                <example correction="You're not going|You are not going|You were not going"><marker>You not going</marker> to be there.</example>
                <example>He will further support you in achieving your goals.</example>
                <example>Seriously, you better fucking call me.</example>
            </rule>
            <rule>
                <antipattern><!-- "you fucking communists" -->
                    <token>you</token>
                    <token postag="JJ" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">they|we|you</token>
                    <token postag="VBG" />
                </pattern>
                <message>A verb seems to be missing. Did you mean <suggestion>\1're \2</suggestion>, <suggestion>\1 are \2</suggestion>, or <suggestion>\1 were \2</suggestion>?</message>
                <example correction="You're going|You are going|You were going"><marker>You going</marker> to be there.</example>
                <example>I found it fascinating what you were saying about global warming.</example>
                <example>Is this getting you going too?</example>
                <example>Are you going to be there?</example>
                <example>I'll get it working.</example>
                <example>Why aren't you going with me?</example>
                <example>Aren't you being very rude?</example>
                <example>I don't like both of you going to such a place.</example>
                <example>How can I feel relaxed, with you watching me like that?.</example>
                <example>Go back to Russia, you fucking communists!</example>
                <example>How're you doing?</example>
                <example>I cannot continue my class with you chattering to one another.</example>
                <example>You dithering idiot!</example>
                <example>Is it you knocking?</example>
                <example>You yammering clammorer</example>
                <example>Is this you not needing a lesson from me?</example>
                <example>There is just you not wanting to do anything unless it turns out perfect from the start, which is impossible.</example>
                <example>The Hell's Angels came in on motorcycles and slashed banners while yelling "Go back to Russia, you fucking communists!" at the protesters.</example>
            </rule>
        </rulegroup>
        <rule id="HE_NEED" name="He need (needs)"><!-- cases not caught by HE_VERB_AGR because of MD exception -->
            <antipattern>
                <token inflected="yes" regexp="yes">do|be</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern>
                <token postag="IN">
                    <exception>since</exception>
                </token>
                <token skip="2">it</token>
                <token>need</token>
            </antipattern>
            <antipattern>
                <token chunk="I-VP" />
                <token skip="2">it</token>
                <token>need</token>
            </antipattern>
            <antipattern>
                <token chunk="B-VP" />
                <token skip="2">it</token>
                <token>need</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">do|be</token>
                <token>n't</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token>n't</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Yellow_River -->
                <token regexp="yes">huang|liu|zheng</token>
                <token>he</token>
            </antipattern>
            <antipattern><!-- He not need help (different error) -->
                <token regexp="yes">s?he|it</token>
                <token>not</token>
                <token postag="RB" min="0" />
                <token>need</token>
            </antipattern>
            <antipattern><!-- I demanded that he need a new phone (https://www.bbc.co.uk/worldservice/learningenglish/grammar/learnit/learnitv201.shtml). -->
                <token regexp="yes" inflected="yes">insist|suggest|demand|recommend</token>
                <token min="0">that</token>
                <token regexp="yes">s?he</token>
                <token postag="RB" min='0' max='2' />
                <token>need</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" max="2" />
                <marker>
                    <token>need</token>
                </marker>
                <token postag="DT|CC|IN|TO|NN.*|JJ.*|PRP.*|W.*|PCT" postag_regexp="yes" />
            </pattern>
            <message>The pronoun '\1' requires a third-person verb or a past tense.</message>
            <suggestion>needs</suggestion>
            <suggestion>needed</suggestion>
            <short>Agreement error</short>
            <example correction="needs|needed">He <marker>need</marker> to relax.</example>
            <example correction="needs|needed">He <marker>need</marker> my help.</example>
            <example>Does she need the book?</example>
            <example>People who are able to code it need to have the motivation.</example>
            <example>Note that this integration is not a New Relic creation so issues or problems with it need to be referred to WordPress.</example>
        </rule>

        <rulegroup id="HE_LIKE" name="He like (likes) me">
            <short>Agreement error</short>
            <antipattern>
                <token inflected="yes" regexp="yes">do|be</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern>
                <token postag="IN">
                    <exception>since</exception>
                </token>
                <token skip="1">it</token>
                <token>like</token>
            </antipattern>
            <antipattern>
                <token chunk_re="[BI]-VP">
                    <exception regexp="yes" inflected="yes">think|hope|believe|know|assume|doubt</exception>
                </token>
                <token skip="2">it</token>
                <token>like</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">think|hope|believe|know|assume|doubt</exception>
                </token>
                <token skip="2">it</token>
                <token>like</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">do|be</token>
                <token>n't</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token>n't</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern><!-- she like me has no idea. -->
                <token regexp="yes">s?he|it</token>
                <token>like</token>
                <token regexp="yes">me|you|them|her|him</token>
                <token min="0">,</token>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- she like me has no idea. -->
                <token regexp="yes">s?he|it</token>
                <token>like</token>
                <token regexp="yes">me|you|them|her|him</token>
                <token min="0">,</token>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- she like their friends, has no idea. -->
                <token regexp="yes">s?he|it</token>
                <token>like</token>
                <token chunk="B-NP-plural" />
                <token chunk="E-NP-plural" />
                <token min="0">,</token>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- she like her dad, has no idea. -->
                <token regexp="yes">s?he|it</token>
                <token>like</token>
                <token chunk="B-NP-singular" />
                <token chunk="E-NP-singular" />
                <token min="0">,</token>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- she like Tom has no idea. -->
                <token regexp="yes">s?he|it</token>
                <token>like</token>
                <token postag="NNP" />
                <token min="0">,</token>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- wrong verb with 's "He tell's it like it is" -->
                <token postag="VBP?" postag_regexp="yes" />
                <token>'s</token>
                <token>it</token>
                <token>like</token>
            </antipattern>
            <antipattern>
                <token postag="PRP|NN.*" postag_regexp="yes" />
                <token regexp="yes">and|&amp;</token>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <token>like</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">bend|play|do</token>
                <token>it</token>
                <token>like</token>
            </antipattern>
            <antipattern><!-- He not like ... (different error) -->
                <token regexp="yes">s?he|it</token>
                <token>not</token>
                <token postag="RB" min="0" />
                <token>like</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">s?he|it</token>
                <token regexp="yes">n?either</token>
                <token>like</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">s?he|it</token>
                <token postag="IN" />
                <token>like</token>
            </antipattern>
            <antipattern>
                <token>like</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern><!-- What is he or she like? -->
                <token regexp="yes">s?he</token>
                <token>or</token>
                <token regexp="yes">s?he</token>
                <token postag="RB" min="0" />
                <token>like</token>
            </antipattern>
            <antipattern><!-- He like likes you! -->
                <token>like</token>
                <token>likes</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>like</token>
                    </marker>
                    <token postag="DT|IN|TO|CC|NN.*|JJ.*|PRP.*|W.+|PCT" postag_regexp="yes" />
                </pattern>
                <message>The pronoun '\1' requires a third-person verb or a past tense. Or did you forget to add a verb?</message>
                <suggestion>is like</suggestion>
                <suggestion>likes</suggestion>
                <example correction="is like|likes">He <marker>like</marker> me.</example>
                <example correction="is like|likes">It <marker>like</marker> a higher power from judgement day.</example>
                <example correction="is like|likes">I think it <marker>like</marker> me.</example>
                <example>She like me has no idea.</example>
                <example>Fixed it up like new.</example>
                <example>Or “Drive it like a rental”</example>
                <example>Both his wife and he like it.</example>
                <example>The start of the 21st century saw Asian British cinema assert itself at the box office, starting with East Is East (1999) and continuing with Bend It Like Beckham (2002).</example>
                <example>Ideally a new server may be worth it either like a home server.</example>
                <example>What is he or she like?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token postag="RB" />
                        <token postag="RB" min="0" />
                        <token>like</token>
                    </marker>
                    <token postag="DT|IN|TO|CC|NN.*|JJ.*|PRP.*|W.+|PCT" postag_regexp="yes" />
                </pattern>
                <message>The pronoun '\1' requires a third-person verb or a past tense. Or did you forget to add a verb?</message>
                <suggestion>is \2 \3 like</suggestion>
                <suggestion>\2 \3 likes</suggestion>
                <example correction="is very much like|very much likes">It <marker>very much like</marker> people who were opposed to Hilary Clinton as president being labeled misogynists.</example>
                <example>I'm trying to figure it out just like you are.</example>
                <example>I just don’t know what to do to get it back just like it was.</example>
                <example>Fixed it up like new.</example>
                <example>Ideally a new server may be worth it either like a home server.</example>
            </rule>
        </rulegroup>

        <rulegroup id="HE_VERB_AGR" name="Agreement error: Non-third person/past tense verb with 'he/she/it' or a pronoun">
            <short>Agreement error</short>
            <antipattern><!-- nobody having any question. Applicable to rule 1 and rule 7. -->
                <token regexp="yes">(any|every|no|some)(one|body)</token>
                <token postag="VBG"/>
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token postag_regexp="yes" postag="NN.*"/>
            </antipattern>
            <antipattern><!-- t(he). Used for rule 1, but possibly applicable to other rules. -->
                <token>(</token>
                <token spacebefore="no">t</token>
                <token spacebefore="no">)</token>
                <token spacebefore="no">he</token>
                <token postag="VBG"/>
            </antipattern>
            <antipattern><!-- t[he] -->
                <token>[</token>
                <token spacebefore="no">t</token>
                <token spacebefore="no">]</token>
                <token spacebefore="no">he</token>
                <token postag="VBG"/>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token>anyone</token>
                <token min="0">else</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern><!-- #3223 someone please nominate -->
                <token regexp="yes">(any|every|no|some)(one|body)</token>
                <token>please</token>
                <token postag="VBP?" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- #3223 someone immediately please contact -->
                <token regexp="yes">(any|every|no|some)(one|body)</token>
                <token postag="RB"/>
                <token>please</token>
                <token postag="VBP?" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!--  anyone quite realizing it / Somebody really realizing her -->
                <token regexp="yes">(any|every|no|some)(one|body)</token>
                <token min="0" max="3" postag="RB"/>
                <token postag="VBG"/>
                <token postag="PRP"/>
            </antipattern>
            <antipattern><!-- #5171 Jenny and he actually going at this time makes a lot of sense. -->
                <token postag_regexp="yes" postag="PRP_S.*|NNP"/>
                <token>and</token>
                <token postag_regexp="yes" postag="PRP_S.*|NNP"/>
                <token min="0" max="3" postag="RB"/>
                <token postag="VBG"/>
                <token postag="IN"/>
                <token chunk_re="B-NP-.*"/>
                <token min="0" max="6" chunk_re="I-NP-.*"/>
                <token chunk_re="E-NP-.*"/>
                <token postag_regexp="yes" postag="MD|VB[ZD]"/>
            </antipattern>
            <antipattern>
                <token>scuba</token>
                <token regexp="yes">div(es|ing)</token>
            </antipattern>
            <antipattern>
                <token>need</token>
                <token>n't</token>
            </antipattern>
            <antipattern>
                <token>need</token>
                <token>not</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- Have someone bring you more lobster. -->
                <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                <token regexp="yes">let|make|have</token>
                <token regexp="yes">(any|every|no|some)(one|body)</token>
                <token min="0">else</token>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </antipattern>
            <rule>
                <antipattern><!-- https://en.wikipedia.org/wiki/Yellow_River -->
                    <token regexp="yes">huang|liu|zheng</token>
                    <token>he</token>
                </antipattern>
                <antipattern><!-- proper noun-->
                    <token>clash</token>
                    <token>royale</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">with(out)?</token>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- missing space between dash and "is" -->
                    <token>-is</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>(</token>
                    <token>s</token>
                    <token>)</token>
                    <token>he</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">(s)?he</token>
                    <token>/</token>
                    <token regexp="yes">(s)?he</token>
                </antipattern>
                <antipattern><!-- you and he are -->
                    <token postag="PRP"/>
                    <token>and</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern><!-- you as well as [=and] he are -->
                    <token postag="PRP"/>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern><!-- for anyone wishing to learn-->
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                    <token>to</token>
                    <token postag_regexp="yes" postag="VBP?"/>
                </antipattern>
                <antipattern>
                    <token postag="WRB|WP" postag_regexp="yes" />
                    <token>are</token>
                    <token postag="NNP" />
                    <token postag="NNP|UNKNOWN" postag_regexp="yes" min="0" />
                    <token regexp="yes">and|&amp;|,</token>
                </antipattern>
                <antipattern><!--  Somebody considering the new job must think about these: -->
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                    <token skip="-1" postag_regexp="yes" postag="DT|PRP\$"/>
                    <token postag="MD"/>
                </antipattern>
                <antipattern><!-- sent everyone rushing out -->
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                    <token postag="IN"/>
                </antipattern>
                <antipattern><!--  someone possessing legal responsibility -->
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                    <token min="0" max="1" postag_regexp="yes" postag="JJR?"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- Imperative: Nobody move! -->
                    <token postag="SENT_START"/>
                    <token regexp="yes">(every|no|some)(one|body)</token>
                    <token postag="VB"/>
                    <token postag="SENT_END" regexp="yes">[!\.]</token><!-- An imperative does not need an exclamation mark. -->
                </antipattern>
                <antipattern><!-- TODO: booking.com should be NNP -->
                    <token>booking</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">com</token>
                </antipattern>
                <antipattern><!-- letting anyone -->
                    <token>letting</token>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                </antipattern>
                <antipattern><!-- [T]he -->
                    <token regexp="yes">\[|\(</token>
                    <token>T</token>
                    <token regexp="yes">\]|\)</token>
                    <token>he</token>
                </antipattern>
                <antipattern><!-- "Someone help me please" -->
                    <token regexp="yes">some(body|one)</token>
                    <token regexp="yes">support|help|rescue|save|kill</token>
                    <token regexp="yes">me|him|her|them|us</token>
                </antipattern>
                <antipattern><!--Everybody raise their glasses -->
                    <token>everybody</token>
                    <token>raise</token>
                    <token regexp="yes">there|their|your</token>
                    <token>glasses</token>
                </antipattern>
                <antipattern><!-- "Someone help!" -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">some(body|one)</token>
                    <token>help</token>
                    <token regexp="yes">please|\!</token>
                </antipattern>
                <antipattern><!-- "Someone help!" -->
                    <token regexp="yes">&quote;</token>
                    <token regexp="yes">some(body|one)</token>
                    <token>help</token>
                    <token regexp="yes">please|\!</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">every(one|body)</token>
                    <token>listen</token>
                    <token>up</token>
                </antipattern>
                <antipattern><!-- #2854 is probably someone using -->
                    <token chunk="B-VP" postag_regexp="yes" postag="VB[DZ]"/>
                    <token min="0" max="2" postag="RB"/>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- #2854 To everybody writing on -->
                    <token>to</token>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token min="0" max="3" postag="RB"/>
                    <token postag="VBG"/>
                    <token postag="IN"/>
                </antipattern>
                <antipattern><!-- #2854 everybody writing on this rather unusual topic thinks -->
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                    <token postag="IN"/>
                    <token chunk="B-NP-singular"/>
                    <token min="0" max="3" chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular"/>
                    <token chunk="B-VP" postag_regexp="yes" postag="VB[DZ]"/>
                </antipattern>
                <antipattern><!-- #2854 chunker error: everybody writing on this topic divides Germany  -->
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="VBG"/>
                    <token postag="IN"/>
                    <token chunk="B-NP-plural"/>
                    <token min="0" max="3" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural" postag="VBZ"/>
                    <token postag="NNP"/>
                </antipattern>
                <antipattern><!-- https://www.merriam-webster.com/dictionary/couch%20surf -->
                    <token>couch</token>
                    <token>surfs</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">didnt|doesnt|dont|wont|(c|w|sh)ouldnt|cant</token><!-- incorrect contractions are caught by EN_CONTRACTION_SPELLING -->
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern><!-- They did that in order to make someone feel bad. -->
                    <token chunk_re="[IB]-VP">
                        <exception regexp="yes" inflected="yes">think|believe|hope|doubt|assume|mean|say|know</exception>
                    </token>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3' />
                    <token postag="VB[GP]?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- I talked with someone about water baptism. -->
                    <token chunk="B-PP" />
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3' />
                    <token postag="VB[GP]?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- I had heard phrases like that all the time in ads, but it was weird hearing someone say them in real life. (hearing is chunked as noun) -->
                    <token postag="VBG" />
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3' />
                    <token postag="VB[GP]?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- the implications of someone being ... -->
                    <token regexp="yes">of|for|at</token>
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3' />
                    <token postag="VBG" />
                </antipattern>
                <antipattern><!-- and "prevent/stop someone doing something" (chunker fails) -->
                    <token postag_regexp="yes" postag="VB.*" />
                    <token>/</token>
                    <token postag_regexp="yes" postag="VB.*" />
                    <token regexp="yes">(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3' />
                    <token postag="VB[GP]?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- I demanded that he stop phoning me. -->
                    <token regexp="yes" inflected="yes">insist|suggest|demand|recommend</token>
                    <token min="0">that</token>
                    <token regexp="yes">s?he|(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3' />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- What'd she say? -->
                    <token>what</token>
                    <token>'d</token>
                    <token regexp="yes">s?he|(any|every|no|some)(one|body)</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Everybody say something! -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">(every|some)(one|body)</token>
                    <token>say</token>
                    <token>something</token>
                    <token postag="PCT" />
                </antipattern>
                <antipattern><!-- Everybody get ready! -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">every(one|body)</token>
                    <token>get</token>
                    <token>ready</token>
                    <token regexp="yes">please|\,|\.|\!</token>
                </antipattern>
                <antipattern><!-- Everybody give it up for ... -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">every(one|body)</token>
                    <token>give</token>
                    <token>it</token>
                    <token>up</token>
                    <token>for</token>
                </antipattern>
                <antipattern><!-- His parents as well as he are very kind to me. -->
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" />
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern><!-- "Everyone take out your homework" -->
                    <token regexp="yes">&quote;</token>
                    <token regexp="yes">every(one|body)</token>
                    <token postag="VBP" />
                    <token postag="RP" min="0" />
                    <token skip="-1">your</token>
                    <token>!</token>
                </antipattern>
                <antipattern><!-- "Everyone take out your homework" -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">every(one|body)</token>
                    <token postag="VBP" />
                    <token postag="RP" min="0" />
                    <token skip="-1">your</token>
                    <token>!</token>
                </antipattern>
                <antipattern><!-- Here'd he go? -->
                    <token spacebefore="no">'d</token>
                    <token regexp="yes">s?he</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- shall he die -->
                    <token postag="MD">
                        <exception postag_regexp="yes" postag="VBP?"/>
                        </token>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token min="0" max="1">not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">every(body|one)</token>
                    <token>say</token>
                    <token regexp="yes">hi|hello</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">every(body|one)</token>
                    <token>be</token>
                    <token>quiet</token>
                </antipattern>
                <antipattern><!-- Everybody move your feet! -->
                    <token regexp="yes">every(body|one)</token>
                    <token regexp="yes">move|raise</token>
                    <token>your</token>
                </antipattern>
                <antipattern><!-- everyone get the fuck out! -->
                    <token regexp="yes">every(body|one)</token>
                    <token min="0">please</token>
                    <token>get</token>
                    <token skip="2">the</token>
                    <token>out</token>
                </antipattern>
                <antipattern><!-- somebody get me a beer! -->
                    <token regexp="yes">some(one|body)</token>
                    <token min="0">please</token>
                    <token>get</token>
                    <token regexp="yes">me|us|them</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- anybody want a beer? -->
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token regexp="yes">any(one|body)</token>
                    <token>want</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" skip="10" />
                    <token>?</token>
                </antipattern>
                <antipattern><!-- Does he or she react to that? -->
                    <token regexp="yes">does|did|[cw]ould|should|shall|might|will|can</token>
                    <token postag="RB" min="0" />
                    <token />
                    <token regexp="yes">or|\/</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">s?he|(any|every|no|some)(one|body)</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Is he or she reacting to that? -->
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token />
                    <token regexp="yes">or|\/</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">s?he|(any|every|no|some)(one|body)</token>
                    <token postag="RB" min="0" />
                    <token postag="VBG" />
                </antipattern>
                <antipattern><!-- most of the time, this is a missing comma before an imperative: "Everyone have a great Halloween." -->
                    <token postag="SENT_START"/>
                    <token regexp="yes">(every|some)(body|one)</token>
                    <token postag="VB" regexp="yes">be|call|catch|get|have|stop|go|do|tell</token>
                </antipattern>
                <antipattern><!-- He position would be a specialist or senior specialist (confusion of he/the)-->
                    <token>he</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token>please</token>
                    <token regexp="yes">every(one|body)</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token><exception regexp="yes">s?he|it</exception></token>
                    <token postag="VBP" />
                    <token chunk_re="B-NP.*" />
                    <token min="0" max="2" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <token min="0" postag="RB" />
                    <token>and</token>
                    <token postag="VBP" />
                </antipattern>
                <pattern>
                    <token negate="yes" regexp="yes">
                        <exception inflected="yes" regexp="yes">be|have</exception>
                        (that|how|will|must|could|can|should|would|does|did|may|might|n't|let|dare|lest|into)
                    </token>
                    <token regexp="yes">s?he|(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3'>
                        <exception postag="VBD"/>
                        <exception regexp="yes">before|after|needs|live</exception>
                    </token>
                    <marker>
                        <token postag="VB[GP]?" postag_regexp="yes">
                            <exception postag="VB[NDZ]|JJ.*|RB|MD|IN" postag_regexp="yes"/>
                            <!-- already found by EN_CONTRACTION_SPELLING: -->
                            <exception>cant</exception>
                            <exception case_sensitive="yes">Harry</exception>
                            <exception scope="next" regexp="yes">&apostrophe;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The pronoun '<match no="2"/>' is usually used with a third-person or a past tense verb.</message>
                <suggestion><match no="4" postag="VBZ"/></suggestion>
                <suggestion><match no="4" postag="VBD"/></suggestion>
                <example correction="walks|walked">He <marker>walk</marker> to the building every day.</example>
                <example correction="goes|went">He <marker>going</marker> crazy.</example>
                <example correction="goes|went">I hope he <marker>go</marker> away.</example>
                <example correction="makes|made">She really thought he <marker>make</marker> it finally.</example>
                <example correction="makes|made">She really thought somebody <marker>make</marker> it finally.</example>
                <example correction="says|said">She <marker>say</marker> Larry and Beverly left today, so we can park in their driveway and be sneaky.</example>
                <example correction="says|said">Mary didn't do everything she <marker>say</marker> she did.</example>
                <example correction="walks|walked">He always <marker>walk</marker> to the building.</example>
                <example correction="enters|entered">Somebody usually <marker>enter</marker> the building.</example>
                <example correction="forwards|forwarded">He <marker>forward</marker> the mail.</example>
                <example correction="orders|ordered">He <marker>order</marker> him to do it.</example>
                <example correction="looks|looked">He <marker>look</marker> big and fast and gets yardages running in the interior.</example>
                <example>He always <marker>walks</marker> to the building.</example>
                <example>He always <marker>walked</marker> to the building.</example>
                <example correction="does|did">He really <marker>do</marker>n't like it.</example><!-- #1907 -->
                <example>He then summons them.</example><!-- #2222 -->
                <example>Here'd he go?</example>
                <example>She needn't bother with that.</example>
                <example>Why's he being lazy?</example>
                <example>... and to everybody actually writing about this topic, I just want to say... </example><!-- #2854 -->
                <example>If you know of anyone please have them call me.</example><!-- #3223 -->
                <example>If you notice anybody please ask them to move to the safety area.</example><!-- #3223 -->
                <example>Somebody really realizing her problems would not judge her so harshly.</example>
                <example>Please tell everyone about going to the park.</example>
                <example>He <marker>walks</marker> to the building every day.</example>
                <example>He cannot hear you.</example>
                <example>Make someone investigate this incident.</example>
                <example>Does he or she react to that?</example>
                <example>Please everyone review as Michael would like to send an executable copy tomorrow morning to RM.</example>
                <example>She came in through the back door lest she be seen.</example>
                <example correction="enters|entered">Somebody <marker>enter</marker> the building.</example><!-- Semantic ambiguity. The verb can be parsed as an imperative. -->
                <example>His medics insist he <marker>rest</marker> for several more months.</example>
                <example>I'm the one who suggested she sell her Kabyle dress.</example>
                <example>He stole out of the house without anyone seeing him.</example>
                <example>He <marker>walked</marker> to the building.</example>
                <example>I find it hard to understand how anyone seeking a position in public life could demonstrate...</example>
                <example>He was busy, he said, in having someone submit to a monkey-gland operation.</example>
                <example>What's he going to do?</example>
                <example correction="hates|hated">Everybody <marker>hate</marker> to hear bad news.</example>
                <example correction="moves|moved">Nobody <marker>move</marker>?</example>
                <example>Nobody move!</example>
                <example>I demanded that he stop phoning me.</example>
                <example>Please tell someone about Harry.</example>
                <example>-Is he going to tell the truth?</example><!-- missing space between (different error) -->
                <example>The bride came into the room, with everyone staring at her.</example>
                <!-- TODO: <example correction="does|did">Without somebody <marker>do</marker> the test, we cannot know.</example> -->
                <example>Only supply information that you are comfortable with anyone <marker>seeing</marker>.</example>
                <example correction="likes|liked">Everybody <marker>liking</marker> my new suit.</example>
                <example>Both <marker>you and he are</marker> eligible for up to five years in federal prison.</example>
                <example><marker>You as well as he are</marker> diligent.</example>
                <example>This is a good book for <marker>anyone wishing to learn</marker> English.</example>
                <example><marker>Nobody having any question</marker>, he ended the lecture.</example>
                <example>I don't want <marker>anyone touching my car</marker>.</example>
                <example><marker>Anybody touching my car</marker> will get a black eye!</example>
                <example>Can you ask anyone regarding the new concept?</example><!-- 1825 -->
                <example>Somebody considering the new job must think about these:</example>
                <example>His parents as well as he are very kind to me.</example>
                <example>The girl noticed someone go out of the door.</example>
                <example>The alarm sent everyone rushing out of the room.</example>
                <example>Will everybody talking please just listen for a moment?</example>
                <example>... and not someone possessing legal responsibility for the process of its...</example>
                <example>... and anyone possessing information is asked to contact the police.</example>
                <example>Where are Carl and Laura?</example>
                <example>We will also need the bio of anyone planning on attending these meetings.</example>
                <example>When are Carl, Joseph and Laura back?</example>
                <example>Somebody help me please!</example>
                <example>What'd she say?</example>
                <example>I had heard phrases like that all the time in ads, but it was weird hearing someone say them in real life.</example>
                <example>Somebody say something.</example>
                <example>Everyone listen up!</example>
                <example>Anyone else having to deal with that problem?</example>
                <example>Anyone going to the concert?</example>
                <example>If anyone needs help or has any doubt you can talk to me.</example>
                <example>He then summons them.</example><!-- #2222 -->
                <example>I'm letting everyone know exactly what happened.</example>
                <example>She wasn't letting anyone see the doctor.</example>
                <example>How to help someone having a heart attack.</example>
                <example>But letting everybody hear about your problems is rather indiscreet.</example>
                <example>He stated, "[T]he Act of Congress which prohibited a citizen from holding and owning slaves".</example>
                <example>I would say that is probably someone using dirty clothes.</example><!-- #2854 -->
                <example>I would say that was probably someone doing the dirty work.</example><!-- #2854 -->
                <example>... but rather, the photograph showed somebody cleaning dirty clothes.</example><!-- #2854 -->
                <example>To everybody writing on this forum, thank you...</example><!-- #2854 -->
                <example>To everybody actually writing on this forum, thank you!</example><!-- #2854 -->
                <example>... and because almost everybody writing on this rather unusual topic thinks that they have an answer...</example><!-- #2854 -->
                <example>... we note that almost everybody writing on this topic divided Germany into two groups.</example><!-- #2854 -->
                <example>Virtually everybody writing on this topic divides Germany into two groups.</example><!-- #2854 divides/E-NP-plural -->
                <example>Please keep confidential and if I've missed anyone please forward along.</example>
                <example>Someone please nominate yourself to format each paper in the same manner and have them all put together in one binder nice and pretty.</example>
                <example>If I have missed anyone please pass the information on.</example>
                <example>Someone please invent a mescal tequila and habanero cocktail called “Tire Fire”.</example>
                <example>If this is not the case, someone please speak up.</example>
                <example>Everyone please be present…</example>
                <example>If this is not acceptable to anyone please reply with substitutes.</example>
                <example>If you need to speak to someone immediately please contact Ramona Perkins at X58465.</example>
                <example>Without anyone quite realizing it, FERC was sailing into uncharted waters.</example>
                <example>Somebody really realizing her problems would not judge her so harshly.</example>
                <example>Please tell someone about water baptism.</example>
                <example>I want to tell everyone about water baptism.</example>
                <example>I talked with someone about water baptism.</example>
                <example>They did that in order to make someone feel bad.</example>
                <example>He lets everyone believe that they are safe.</example>
                <example>My jokes didn't make anyone laugh.</example>
                <example>They make everybody feel good and everybody likes to be around them.</example>
                <example>We will provide lunch for everyone so get to me the names of who is committed so I can plan.</example>
                <example>As a man lives, so shall he die.</example>
                <example>...hand shall he let them go, and with a strong hand shall he drive them out of his land.</example>
                <example>... her food, her raiment, and her duty of marriage, shall he not diminish.</example>
                <example>Why doesn't anybody answer?</example>
                <example>She no longer scuba dives as she once did.</example>
                <example>Anybody want a beer?</example>
                <example>Jenny and he actually going at this time makes a lot of sense.</example><!-- #5171 -->
                <example>Somebody call an ambulance!</example>
                <example>Everyone have a good summer.</example><!-- Is there a comma missing here? -->
                <example>Everyone review the language quickly and provide comments.</example>
            </rule>
            <rule>
                <antipattern><!-- #2223 we will usually receive it so don't listen -->
                    <token regexp="yes">it|(any|every|no|some)(one|body)</token>
                    <token postag="CC"/>
                    <token postag="VBP"/>
                </antipattern>
                <antipattern><!-- #2223 ['thus' is not a conjunction: www.lexico.com/definition/thus, www.merriam-webster.com/dictionary/thus] -->
                    <token regexp="yes">it|(any|every|no|some)(one|body)</token>
                    <token>thus</token>
                    <token postag="VBP"/>
                </antipattern>
                <pattern>
                    <token negate="yes" regexp="yes"><exception inflected="yes" regexp="yes">feel|hear|see|insist|suggest|help|prevent|stop|of|have|be</exception>(that|how|will|must|could|can|should|would|does|did|may|might|n't|let|dare|lest|without|into)</token>
                    <token regexp="yes">s?he|it|(any|every|no|some)(one|body)</token>
                    <token postag="RB" min='0' max='3'>
                        <exception postag="VBD"/>
                        <exception regexp="yes">before|after|needs|live</exception>
                    </token>
                    <marker>
                        <token postag="VB[GP]?" postag_regexp="yes"><exception postag="VB[NDZ]|JJ.*|RB|MD" postag_regexp="yes"/></token>
                        <token>n't</token>
                    </marker>
                </pattern>
                <message>The pronoun '<match no="2"/>' is usually used with a third-person or a past tense verb.</message>
                <suggestion><match no="4" postag="VBZ"/><match no="5"/></suggestion>
                <suggestion><match no="4" postag="VBD"/><match no="5"/></suggestion>
                <example correction="doesn't|didn't">He <marker>don't</marker> like fish.</example>
                <example correction="doesn't|didn't">At her party, everybody <marker>don't</marker> like the music.</example>
                <example correction="doesn't|didn't">At my party, nobody <marker>don't</marker> like the music.</example>
                <example correction="doesn't|didn't">It <marker>don't</marker> work correctly.</example>
                <example>He <marker>doesn't</marker> like fish.</example>
                <example>She <marker>didn't</marker> like fish when she was young, but she likes it now.</example>
                <example correction="doesn't|didn't">He really <marker>don't</marker> like it.</example><!-- #1907 -->
                <example>He really doesn't like it.</example>
                <example>He really didn't like it.</example>
                <example>If we expect the negative, we will usually receive it so don't listen to the world's negative talk.</example><!-- #2223 -->
                <example>I don't like it therefore don't expect me to buy it.</example><!-- #2223 -->
                <example>They don't know about it thus don't listen to them.</example><!-- #2223 -->
                <example>She doesn't know anyone therefore don't expect her to go to the party.</example><!-- #2223 -->
            </rule>
            <rule>
                <antipattern><!-- Tom has a reputation of never letting anyone else say anything. -->
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token regexp="yes">(?:any|no|some)(?:one|body)</token>
                    <token>else</token>
                </antipattern>
                <pattern>
                    <token negate="yes" regexp="yes"><exception inflected="yes" regexp="yes">feel|h(ave|ear)|make|see|prevent|help|stop|suggest</exception>(that|ha[ds]|will|must|could|can|should|would|does|did|is|may|might|n't|'s|let|was|dare|lest|without)</token>
                    <token regexp="yes">(?:any|no|some)(?:one|body)</token>
                    <token>else</token>
                    <token postag="RB" min='0' max='3'>
                        <exception regexp="yes">before|after|needs|live</exception>
                        <exception postag="VBD"/>
                    </token>
                    <marker>
                        <token postag="VB[GP]?" postag_regexp="yes">
                            <exception postag="VB[NDZ]|JJ.*|RB|MD" postag_regexp="yes"/>
                            <exception>while</exception>
                        </token>
                    </marker>
                </pattern>
                <message>The pronoun '<match no="2"/>' is usually used with a third-person or a past tense verb.</message>
                <suggestion><match no="5" postag="VBZ"/></suggestion>
                <suggestion><match no="5" postag="VBD"/></suggestion>
                <example correction="walks|walked">Someone else <marker>walk</marker> to the building.</example><!-- Semantic ambiguity. The verb can be parsed as an imperative. -->
                <example correction="enters|entered">Somebody else <marker>enter</marker> the building.</example><!-- Semantic ambiguity. The verb can be parsed as an imperative. -->
                <example>Nobody else <marker>walks</marker> to the building.</example>
                <example>Nobody <marker>walked</marker> to the building.</example>
                <example>They did not meet with anyone else while in Germany.</example>
                <example>Annie was uncomfortable with anyone else <marker>being</marker> in charge.</example>
                <example>God has given you too much money when you have someone else tend your vegetable garden.</example>
                <example type="triggers_error">... and anyone else <marker>finding</marker> the work too difficult must tell the manager.</example>
                <example correction="walks|walked">Someone else always <marker>walk</marker> to the building.</example>
                <example correction="enters|entered">Somebody else usually <marker>enter</marker> the building.</example>
                <example>Nobody else usually <marker>walks</marker> to the building.</example>
                <example>Somebody else occasionally <marker>walked</marker> to the building.</example>
                <example type="triggers_error">... Cromwell, had banished "makers", or anyone else demonstrating "knacks" (an ability to perform seemingly ...</example>
                <example>If I need to run this by someone else please let me know.</example>
                <example>Tom has a reputation of never letting anyone else say anything.</example>
                <example>Had a terrific time with Su, Laura, and Mother, and wish I could get Mother with someone else while I'm having to work.</example>
            </rule>
            <!--  subjunctive with 'that' -->
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes"/>
                    <token>that</token>
                    <token regexp="yes">s?he|(?:any|no|some)(?:one|body)</token>
                    <token postag="RB" min='0' max='3'>
                        <exception regexp="yes">before|after|needs|live</exception>
                        <exception postag="VBD"/>
                    </token>
                    <marker>
                        <token postag="VBG"/>
                    </marker>
                </pattern>
                <message>With the word '<match no="2"/>' in a subjunctive clause, use the base form of a verb.</message>
                <suggestion><match no="5" postag="VB"/></suggestion>
                <example>She recommended that he <marker>walk</marker> to the building.</example>
                <example correction="walk">She recommended that he <marker>walking</marker> to the building.</example>
                <example>He <marker>walked</marker> to the building.</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk="B-NP-singular"/><!-- Medical -->
                    <token postag="NNP" chunk="E-NP-singular"/><!-- Center -->
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-singular"/><!-- only -->
                    <token postag="NNP" chunk="I-NP-singular"/><!-- Philippine -->
                    <token chunk="E-NP-singular"/><!-- company -->
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-singular"/><!-- fourteenth (and also refer to the "Subhan-Allah" examples). -->
                    <token chunk="I-NP-singular"/><!-- century -->
                    <token postag="NNP" chunk="E-NP-singular"/><!-- BC -->
                </antipattern>
                <antipattern>
                    <token>his</token>
                    <token postag="NNP" chunk="I-NP-plural"/><!-- Huxley -->
                    <token chunk="E-NP-plural"/><!-- lecture -->
                </antipattern>
                <antipattern>
                    <token postag="C[CD]|IN|DT|MD|NNP|\." postag_regexp="yes"/><!-- This token is one of the exceptions in the first token in the pattern. -->
                    <token postag="NNP"/><!-- Republican -->
                    <token>/</token>
                    <token postag="NNP" chunk="I-NP-singular"/><!-- Unionist -->
                    <token chunk="E-NP-singular"/><!-- platform -->
                </antipattern>
                <antipattern><!-- https://www.lexico.com/definition/(the)_devil_take_the_hindmost -->
                    <token>Devil</token>
                    <token>take</token>
                    <token>the</token>
                    <token>hindmost</token>
                </antipattern>
                <antipattern><!-- https://www.lexico.com/definition/god_grant -->
                    <token>God</token>
                    <token regexp="yes">grant|bless|save</token>
                </antipattern>
                <antipattern><!--  elected Jeffrey captain -->
                    <token inflected="yes" regexp="yes">choose|elect</token>
                    <token postag="NNP"/>
                    <token postag="NN"/>
                </antipattern>
                <antipattern><!--  Ask people to help -->
                    <token postag="SENT_START"/>
                    <token postag="VB" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- #1886. Add your Google calendar to your mobile phone. -->
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token postag="NNP"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- and his sister, Dorothy, see -->
                    <token regexp="yes">and|&amp;|or</token>
                    <token postag="PRP$"/>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token>,</token>
                    <token postag="NNP"/><!-- apposition -->
                    <token>,</token>
                </antipattern>
                <antipattern><!-- people of Antigua & Barbuda enjoy  -->
                    <token postag="NNS"/>
                    <token postag="IN"/>
                    <token postag="NNP"/>
                    <token regexp="yes">and|&amp;|or</token>
                    <token postag="NNP"/>
                </antipattern>
                <antipattern><!-- having Parker teach https://dictionary.cambridge.org/grammar/british-grammar/passive/have-something-done -->
                    <token inflected="yes">have</token>
                    <token postag="NNP"/>
                </antipattern>
                <antipattern><!-- of the Anglican Communion ordain both / of the Anglican Communion consist of dioceses -->
                   <token>of</token>
                    <token postag="DT"/>
                    <token postag_regexp="yes" postag="JJR?|NNP"/>
                    <token chunk="E-NP-singular" postag="NNP"/>
                    <token postag_regexp="yes" postag="VBP?"/>
                    <token postag_regexp="yes" postag="IN|DT"/>
                </antipattern>
                <antipattern><!-- HTML version of-->
                    <token postag="NNP"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token>of</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- #2046. PO Box address -->
                    <token>PO</token>
                    <token>Box</token>
                </antipattern>
                <antipattern>
                    <token>good</token>
                    <token regexp="yes">luck|job</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" regexp="yes">GitHub|Facebook|Lyft|Snap(chat)?|Salesforce|SAP|Microsoft|Outlook|Yahoo|AOL|Uber|Google|PayPal|YouTube|Instagram|WhatsApp|LinkedIn|XING|TikTok|Chase|HBO|Slack|G-?suite|Netflix|Apple|Zoom|Huawei|Weibo|Wechat|Twitter|WordPress</token>
                    <token regexp="yes">page|channel|campaign|account|certificate|report|link|message|screen|mail|calendar|profile|e-?mail|phone|blog</token>
                </antipattern>
                <antipattern>
                    <token>Excel</token>
                    <token>sheet</token>
                </antipattern>
                <antipattern>
                    <token>california</token>
                    <token>roll</token>
                </antipattern>
                <antipattern>
                    <token>tabasco</token>
                    <token>sauce</token>
                </antipattern>
                <antipattern>
                    <token>pH</token>
                    <token>scale</token>
                </antipattern>
                <antipattern>
                    <token>case</token>
                    <token>study</token>
                </antipattern>
                <antipattern>
                    <token>DNA</token>
                    <token>strand</token>
                </antipattern>
                <antipattern>
                    <token>ID</token>
                    <token>badge</token>
                </antipattern>
                <antipattern>
                    <token>sugar</token>
                    <token>cone</token>
                </antipattern>
                <antipattern>
                    <token>CT</token>
                    <token>scan</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Excel|Photoshop|Powerpoint|Sketch|Dropbox</token>
                    <token>file</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Google|Word|OpenOffice|LibreOffice</token>
                    <token>document</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token>may</token>
                    <token regexp="yes">contain|include</token>
                </antipattern>
                <antipattern><!-- #2075 Mr Johnson’s Brexit deal -->
                    <token postag="POS">'s</token>
                    <token postag="NNP"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- #2395 chunker fix: a new Chrome release -->
                    <token postag="DT"/>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="NNP"/>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern>
                    <token>Gantt</token>
                    <token>chart</token>
                </antipattern>
                <antipattern>
                    <token>Angus</token>
                    <token>beef</token>
                </antipattern>
                <antipattern>
                    <token>CAD</token>
                    <token>design</token>
                </antipattern>
                <antipattern><!-- www.lexico.com/definition/beta_decay -->
                    <token>beta</token>
                    <token>decay</token>
                </antipattern>
                <antipattern><!-- Elevations in the Lesser Caucasus vary -->
                    <token postag="NNS"/>
                    <token postag="IN"/>
                    <token chunk="B-NP-singular" postag="DT"/>
                    <token min="0" max="3" chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular"/>
                    <token postag_regexp="yes" postag="VBP?"/>
                </antipattern>
                <antipattern><!-- #3436 Web site -->
                    <token postag="NNP">Web</token>
                    <token chunk_re="E-NP.*">site</token>
                </antipattern>
                <antipattern><!-- The people who market Houston say this is not just a local problem. -->
                    <token chunk="E-NP-plural" />
                    <token regexp="yes">who|that</token>
                    <token postag="VB[DP]?" postag_regexp="yes" />
                    <token postag="NNP" />
                </antipattern>
                <antipattern>
                    <token />
                    <token />
                    <token />
                    <token postag="NNP" />
                    <token>are</token>
                    <token>both</token>
                </antipattern>
                <antipattern><!-- Anakin wake up! -->
                    <token postag="NNP" />
                    <token>wake</token>
                    <token>up</token>
                    <token regexp="yes">please|\!</token>
                </antipattern>
                <antipattern><!-- I'm letting Tom take care. -->
                    <token postag="VBG">
                        <exception regexp="yes">thinking|hoping|believing|assuming|doubting|expecting</exception>
                    </token>
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- assist Enron sign up -->
                    <token postag_regexp="yes" postag="VB.*" regexp="yes" inflected="yes">assist|help</token><!-- Compare: expect Enron sign up -->
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token postag="RP" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">JavaScript|PHP|Ruby|Python|Java|Swift|Django|Laravel|Rails</token>
                    <token>code</token>
                </antipattern>
                <antipattern><!-- JavaScript code that is broken ... / ... industrial AI company that sells cars. -->
                    <token postag="NNP" />
                    <and>
                        <token postag="NN.*" postag_regexp="yes" />
                        <token postag="VBP?" postag_regexp="yes" />
                    </and>
                    <token>that</token>
                    <token postag="VB[ZD]" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- ... Utopia look like? -->
                    <token postag="NNP" />
                    <token>look</token>
                    <token>like</token>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token>house</token>
                    <token>of</token>
                </antipattern>
                <antipattern><!-- Google, Amazon join the group ... -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="NNP" />
                    <token>,</token>
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Google.com, Amazon join the group ... -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">[a-z0-9\-]+</token>
                    <token spacebefore="no">.</token>
                    <token regexp="yes" spacebefore="no">com|net|org|de|info|io</token>
                    <token>,</token>
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- "Harry hurry up!" -->
                    <token regexp="yes">&quote;</token>
                    <token postag="NNP" spacebefore="no" />
                    <token postag="VBP" />
                    <token postag="RP" />
                    <token regexp="yes">[\.\!]</token>
                    <token regexp="yes" spacebefore="no">&quote;</token>
                </antipattern>
                <antipattern><!-- We don't know what the old law and the Patriot Act have in common. -->
                    <token chunk_re="E-NP-.*" />
                    <token regexp="yes">and|&amp;</token>
                    <token postag="DT" />
                    <token postag="JJ|NN.*" postag_regexp="yes" />
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token>point</token>
                    <token>of</token>
                    <token>view</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token>message</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP">Peace</token>
                    <token>be</token>
                    <token>with</token>
                </antipattern>
                <antipattern>
                    <token>dollar</token>
                    <token>amount</token>
                </antipattern>
                <antipattern><!-- I Google stuff before I say it -->
                    <token regexp="yes">I|you|we|they</token>
                    <token postag="RB" min="0" />
                    <token case_sensitive="yes" regexp="yes">Google|Skype|Hangout|Photoshop</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>program</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- ... this strategic move gave PepsiCo leverage against Coca-Cola, owner of Powerade ... -->
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">
                        provide|give|send
                    </token>
                    <token postag="NNP" />
                    <and>
                        <token postag="NN:UN?" postag_regexp="yes" />
                        <token postag="VBP?" postag_regexp="yes" />
                    </and>
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- The oil sands of Alberta, Canada are a similar material. -->
                    <token regexp="yes">of|by|from|[oi]n|at|for|including|near(by)?</token>
                    <token postag="NNP" />
                    <token>,</token>
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Carl and his sister, Dorothy have ... -->
                    <token postag="NNP|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">and|&amp;</token>
                    <token postag="PRP$" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>customer</token>
                    <token>service</token>
                    <token>experience</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="10">what|which</token>
                    <token>stand</token>
                    <token skip="10">for</token>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">person|product|brand</token>
                    <token>name</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">ad|adverising</token>
                    <token>copy</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" regexp="yes">guide|exhibit|spot</token>
                </antipattern>
                <antipattern><!-- stuff like that -->
                    <token>stuff</token>
                    <token>like</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">we|you|I|they|th[eo]se|all|many|few|some</token>
                    <token postag="IN" />
                    <token chunk_re="B-NP-.*" />
                    <token chunk_re="I-NP-.*" min="0" max="3" />
                    <token chunk_re="E-NP-.*" postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Several armored units of the modern United States Army retain the designation of "Armoured cavalry". -->
                    <token chunk="E-NP-plural" />
                    <token postag="IN" />
                    <token chunk_re="B-NP-.*" />
                    <token chunk_re="I-NP-.*" min="0" max="3" />
                    <token chunk_re="E-NP-.*" postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-plural" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP">
                        <exception regexp="yes" inflected="yes">say|think|hope|doubt|assume|believe|mention|know|remember</exception>
                    </token>
                    <token chunk_re="B-NP-singular" min="0" />
                    <token chunk_re="I-NP-singular" min="0" />
                    <token chunk_re="E-NP-singular" postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Mama, Papa, and big sister Monica are all doing well. -->
                    <token chunk_re="E-NP.*" />
                    <token min="0">,</token>
                    <token>and</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token postag="NNP" />
                    <token postag="VBP?" postag_regexp="yes" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>peace</token>
                    <token>be</token>
                </antipattern>
                <antipattern>
                    <token>alpha</token>
                    <token>decay</token>
                </antipattern>
                <antipattern><!-- Can an omnipotent God create a stone so heavy that even He may not lift it? -->
                    <token postag="DT|SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="MD" />
                    <token min="0">n't</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NNP" />
                    <token postag="VB" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*">visit</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*">trip</token>
                    <token regexp="yes">to|from</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*">trip</token>
                    <token regexp="yes">to|from</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP">Cook</token>
                    <token>rice</token>
                </antipattern>
                <antipattern><!-- The thick clouds which cover Venus cause a "greenhouse effect". -->
                    <token chunk_re="E-NP-plural" />
                    <token regexp="yes">which|that|who</token>
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" />
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NNP" />
                    <token postag="VB" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- We should increase LanguageTool cache to handle larger files -->
                    <token chunk_re=".-VP">
                        <exception regexp="yes" inflected="yes">say|think|hope|doubt|assume|believe|mention|know|remember</exception>
                    </token>
                    <token postag="NNP" chunk_re="B-NP.*" />
                    <and>
                        <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                        <token postag="VBP?" postag_regexp="yes" />
                    </and>
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">let|make</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" min="0" />
                    <token postag="NNP" />
                </antipattern>
                <antipattern><!-- @danielnaber see above -->
                    <token postag="SENT_START" />
                    <token postag="NNP" regexp="yes">@.+</token>
                    <token postag="VB" />
                    <token postag="IN|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>
                        <exception regexp="yes">(get|that|ha[ds]|will|must|could|can|should|would|does|did|may|might|n't|let)</exception>
                        <exception inflected="yes" regexp="yes">feel|hear|see|watch|prevent|help|stop|be|make</exception>
                        <exception postag="C[CD]|IN|DT|UNKNOWN|MD|NNP|\." postag_regexp="yes"/>
                        <exception scope="previous" postag="PRP$"/>
                        <exception regexp="yes">initials|let(ter)?s</exception>
                    </token>
                    <token postag="NNP" regexp="yes">.{2,30}
                        <exception regexp="yes">Going|Other|Press|Say|Tell|Save|Cant|In|Quick|See|Had|Energy|So|Lose|Law|Begin</exception><!-- verbs that become proper nouns when capitalized -->
                        <exception regexp="yes">ID|AI|Lemon|LCD|Ill</exception><!-- rarely used as NNP -->
                        <exception regexp="yes">.*ceae</exception>
                        <exception postag="JJ|CC|RP|DT|PRP\$?|NNP?S|IN|RB|WRB|VBN|UH|MD" postag_regexp="yes"/>
                    </token>
                    <marker>
                        <token postag="VBP?" postag_regexp="yes" regexp="yes">
                            \p{Lower}+
                            <exception postag="VB[NDZ]|JJ|IN|MD" postag_regexp="yes"/>
                            <exception regexp="yes">&uncommon_verbs;|intern|stake|lumber|dish|massacre|crater|cement|branch|bunch|institute|journey|plant|campaign|diagram|chart|interview|program|action|bridge|clerk|affiliate|piece|club|circuit|site|photo|cake|wing|breast|course|father|theme|nose|harbou?r|group|staff|bread|ticket|web|invoice|certificate|card|badge|award|network|cup|interface|nickname|centre|center</exception><!-- rather uncommon verbs, but nouns that are often used together with a proper noun (JIRA ticket, Rye bread, XXX award ... ) -->
                        </token>
                    </marker>
                    <token postag="IN|DT" postag_regexp="yes">
                        <exception>of</exception><!-- "of" is very unlikely to come after a verb -->
                    </token>
                </pattern>
                <message>The singular proper name '<match no="2"/>' must be used with a third-person or a past tense verb.</message>
                <suggestion><match no="3" postag="VBZ"/></suggestion>
                <suggestion><match no="3" postag="VBD"/></suggestion>
                <example correction="walks|walked">Ann <marker>walk</marker> to the building.</example>
                <example correction="walks|walked">Peter <marker>walk</marker> to the building.</example>
                <example correction="speaks|spoke">Microsoft <marker>speak</marker> to the customers.</example>
                <example correction="speaks|spoke">Harry <marker>speak</marker> to the customers.</example>
                <example correction="provides|provided">Art <marker>provide</marker> a means to express the...</example><!-- Ambiguous. Possibly 'Art' is a proper noun, possibly it is a common noun. Either way, 'provide' is not correct. -->
                <example correction="signs|signed">I expect Enron <marker>sign</marker> up exclusive agreements with LNG suppliers.</example>
                <example>Bill <marker>walks</marker> to the building.</example>
                <example>Guinness <marker>walked</marker> to the building.</example>
                <example>Roosevelt and Hoover speak each other's lines.</example>
                <example>He lets Google know that we have ...</example>
                <example>- Right click on the item.</example>
                <example> We don't know what the old law and the Patriot Act have in common.</example>
                <example>See screenshot below.</example>
                <example>Turkey breast with bacon</example>
                <example>Peace be with you.</example>
                <example>We should increase LanguageTool cache to handle larger files</example>
                <example>Boys are at higher risk for autism than girls.</example>
                <example>In reply, he said he was too old for this.</example>
                <example>I can see Bill looking through the window.</example>
                <example>Please join me in wishing Teri well in her new career.</example>
                <example>We wish Jeff well in his new endeavor.</example>
                <example>Ah yes the wonderful world.</example>
                <example>May be of interest from a licensing perspective.</example>
                <example>I liked Tom better before he got married.</example>
                <example>The group briefed EPA staff from the Administrator's office.</example>
                <example>Accordingly, we will be coordinating with SoCalGas and FERC's ADR group to explore possible ADR procedures.</example>
                <example>Hell, Steven summons a gigantic ...</example>
                <example>What does abbreviation DNA stand for?</example>
                <example>Please let his TL know about this.</example>
                <example>Cook rice for dinner.</example>
                <example>Amazon.com, Citibank join for credit Amazon.com introduced the Amazon Credit Account, the online equivalent of a department store credit card.</example>
                <example>Richard J. Hughes made his Morris County debut in his bid for the Democratic gubernatorial elections.</example>
                <example>... last night got its seven-concert Beethoven cycle at Carnegie Hall off to a good start.</example>
                <example>... and through knowing Him better to become happier and more effective people.</example>
                <example>The library and <marker>Medical Center</marker> are to the north.</example>
                <example>The present <marker>Federal program</marker> of vocational education began in 1917.</example>
                <example>Before 2009, it was the only <marker>Philippine company</marker> to do so.</example>
                <example>The Ugaritic tablets from the fourteenth century BC <marker>preserve</marker> the alphabet in two sequences.</example>
                <example>He rebounded from his Wimbledon <marker>defeat</marker> by winning the US Open.</example><!-- The chunker identifies 'his' as B-NP-plural and 'lecture' as E-NP-plural. -->
                <example>The amendment became part of the Republican / Unionist <marker>platform</marker> in the election of 1864.</example>
                <example>The amendment became part of the Republican/Unionist <marker>platform</marker> in the election of 1864.</example>
                <example>Facebook tries to explain their practices in ways that make Facebook look like the good guy.</example>
                <example>The <marker>initials USA</marker> stand for the United States of America.</example>
                <example>The couple has been falling out over what <marker>TV program</marker> to watch for over a week.</example>
                <example><marker>God grant</marker> that you come home safe and sound.</example>
                <example><marker>God bless</marker> the United States of America.</example>
                <example>Ask people to help.</example>
                <example>Gantt chart that shows data</example>
                <example>… by Muslims, including "Subhan-Allah" (<marker>Holiness</marker> be to God).</example><!-- The text is correct English (subjunctive 'be'). Unlike the example below, it does not trigger an error, because rules in the disambiguator rulegroup QUOT treat curly quotes and straight quotes differently.  -->
                <example>… by Muslims, including “Subhan-Allah” (<marker>Holiness</marker> be to God).</example>
                <example>We elected Jeffrey <marker>captain</marker> of our team.</example>
                <example type="triggers_error">FBI <marker>file</marker> on Albert Einstein</example>
                <example>… to reproduce the statistics of a Bose–Einstein <marker>gas</marker> by considering a box.</example><!-- Bose–Einstein incorrectly contains an en-dash, not a hyphen (Chicago Manual of Style, 15th edition, section 6.85).  -->
                <example>The oil sands of Alberta, Canada <marker>are</marker> a similar material.</example>
                <example>... Lumet led a successful campaign to have Kurosawa receive an Oscar nomination for Best Director that year...</example>
                <example>...small bodies database Current down-loadable ASCII table of orbit data and absolute...</example>
                <example>Add your <marker>Google calendar</marker> to your mobile phone.</example><!-- #1886 -->
                <example>...1802 – William Wordsworth and his sister, Dorothy, see a "long belt" of daffodils, inspiring the former ...</example>
                <example>The people of Antigua &amp; Barbuda enjoy a more-than-90% literacy rate.</example>
                <example>... gave Spider-Man a new profession, having Parker teach at his former high school.</example>
                <example>Many provinces of the Anglican Communion ordain both women and men as deacons.</example>
                <example>All provinces of the Anglican Communion consist of dioceses, each under the jurisdiction of a ...</example>
                <example>Recommendations concerning Units (HTML version of the IAU Style Manual)</example>
                <example>I created a PO Box address by mistake.</example>
                <example>I Google stuff before I say it</example>
                <example>Energy use in California.</example>
                <example type="triggers_error">Milne extract in the Guardian</example>
                <example>Asteraceae have a cosmopolitan distribution, and are found...</example><!-- MFU 2019-09-03. Possibly, Asteraceae is NNPS, but I did not find a reference. -->
                <example>...are made in Adelaide at the General Motors Holden plant in Elizabeth.</example>
                <example type="triggers_error">England are the current holders after winning the Ashes in ...</example><!-- 2019-10-09 MFU. This is not an error in BrE. Groups are treated as singular or plural depending on the emphasis. -->
                <example>May contain an occasional shell fragment.</example>
                <example>He said: "Good luck to you"</example>
                <example>Johnson &amp; Trump are both English-speaking leaders.</example>
                <example>YouTube channel for cooking videos.</example>
                <example>He was required to put Mr Johnson’s Brexit deal into law.</example><!-- #2075 -->
                <example>Jake: <marker>So</marker> explain to me why you are unhappy.</example><!-- #2224 -->
                <example>You can expect <marker>a new Chrome release</marker> every six weeks.</example><!-- #2395 release/E-NP-plural -->
                <example>You can expect <marker>the newer LanguageTool release</marker> every six weeks.</example><!-- release/E-NP-plural -->
                <example>You can expect <marker>the new LanguageTool release</marker> after three weeks.</example><!-- release/E-NP-singular -->
                <example>Beta decay either increases or decreases the atomic number of the nucleus by one.</example>
                <example>Elevations in the Lesser Caucasus vary between...</example>
                <example>Please move your May bill to June.</example><!-- #3283 -->
                <example>1802 – William Wordsworth and his sister, Dorothy see a "long belt" of daffodils...</example><!-- Missing comma after "Dorothy" -->
                <example>Online Athens guide with news and events</example>
                <example>... also is available on the Alumni Association Web site at 10.</example><!-- #3436 -->
                <example>Foreign Investment Advisory Service launches updated Web site For more information, please contact FIAS at fias@ifc.org.</example><!-- #3436 -->
                <example>More information is available through NRDC's Web site at www.nrdc.org.</example><!-- #3436 -->
                <example>Chevron Corp. The people who market Houston say this is not just a local problem.</example>
                <example>Going lower into the deep.</example>
                <example>Gouda cheese per 100g</example>
                <example>BBC article on Wallace and Indonesia's efforts to honour him</example>
                <example>We might also assist Enron sign up exclusive agreements with LNG suppliers.</example>
                <example>"Harry get up!" I yelled.</example>
                <example>Similar to the Tropicana acquisition, this strategic move gave PepsiCo leverage against Coca-Cola, owner of Powerade.</example>
                <example>The position offered no salary, but it gave Coolidge experience in the political world.</example>
                <example>The Ajanta Caves (Ajiṇṭhā leni; Marathi: अजिंठा लेणी) in Aurangabad district of Maharashtra, India are about 30 rock-cut Buddhist cave monuments which date from the 2nd century BCE to about 480 or 650 CE.</example>
                <example>Didn't Tom go to Mary's house?</example>
                <example>They have asked that we get GE sign off on the attached documents.</example>
                <example>Begin travel on Saturday, March 16 and return Monday, March 18 or Tuesday, March 19, 2002.</example>
                <example>Web exhibit at the American Institute of Physics.</example>
                <example>Mama, Papa, and big sister Monica are all doing well.</example>
                <example>... some areas supplying the Pacific Northwest are under some pressure.</example>
                <example>How many kids named Tom are in your class?</example>
                <example>Peace be upon you.</example>
                <example>Can an omnipotent God create a stone so heavy that even He may not lift it?</example>
                <example>Cardinals governing a particular Church retain that church.</example>
                <example>The thick clouds which cover Venus cause a "greenhouse effect".</example>
                <example>Several armored units of the modern United States Army retain the designation of "Armoured cavalry".</example>
                <example>The United States Navy, the Russian Navy, and the Peruvian Navy are the only remaining navies which operate cruisers.</example>
                <example>Although the waters surrounding the Dominican Republic abound with fish, the fishing industry is comparatively undeveloped, and fish for local consumption are imported.</example>
            </rule>
            <rule>
                <antipattern><!-- #2948 Are he and -->
                    <token regexp="yes">Have|Are</token>
                    <token regexp="yes">s?he</token>
                    <token>and</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token regexp="yes">Have|Are|Am</token>
                    </marker>
                    <token regexp="yes">s?he|(?:any|no|some)(?:one|body)</token>
                </pattern>
                <message>The pronoun '<match no="3"/>' must be used with <suggestion><match no="2" postag="VBZ"/></suggestion>.</message>
                <example correction="Has"><marker>Have</marker> she bought a ticket?</example>
                <example correction="Is"><marker>Are</marker> he or Tom really happy?</example><!-- #2948 -->
                <example>Has anyone done this?</example>
                <example>Are he and Tom really happy?</example><!-- #2948 -->
            </rule>
            <rule>
                <antipattern><!-- #2122 -->
                    <token regexp="yes">Have|Are</token>
                    <token chunk="B-NP-plural" postag="NNP"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #3048 Are NASA publicity test images -->
                    <token regexp="yes">Have|Are</token>
                    <token chunk="B-NP-plural" postag="NNP"/>
                    <token chunk="I-NP-plural"/>
                </antipattern>
                <antipattern><!-- #3048 chunker error: Are NASA publicity images -->
                    <token chunk="B-NP-plural" regexp="yes">Have|Are</token>
                    <token chunk="I-NP-plural" postag="NNP"/>
                    <token chunk="I-NP-plural"/>
                </antipattern>
                <antipattern>
                    <token>have</token>
                    <token>faith</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Have|Are</token>
                    <token postag="JJ|NNP?|NN:UN?" postag_regexp="yes" />
                    <token postag="NN|NN:UN?" min="0" postag_regexp="yes" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="VBN" chunk_re="B-PP|B-VP" />
                </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token regexp="yes">Have|Are|Am</token>
                    </marker>
                    <token postag="NNP" regexp="yes">.{2,30}
                        <exception postag="JJ|CC|RP|DT|PRP\$|NNP?S|IN|RB|WRB" postag_regexp="yes"/>
                        <exception scope="next" regexp="yes">and|or|&amp;</exception>
                        </token>
                </pattern>
                <message>The singular proper name '<match no="3"/>' must be used with <suggestion><match no="2" postag="VBZ"/></suggestion>.</message>
                <example correction="Has"><marker>Have</marker> Mary bought a ticket?</example>
                <example><marker>Has</marker> Jack done this?</example>
                <example>Are NASA images really taken from space?</example><!-- #2122 -->
                <example>Are Adrian and John related to each other?</example><!-- #3048 -->
                <example>Have Mary or John been to Darmstadt?</example><!-- #3048 -->
                <example>Have Mary &amp; Jane finished the work?</example><!-- #3048 -->
                <example>Are NASA publicity test images really taken from space?</example><!-- #3048 -->
                <example>Have Faith in God.</example>
                <example>Have US export restrictions catalysed a new wave of investment in self-sufficiency?</example>
            </rule>
            <rule>
                <pattern case_sensitive="no">
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <marker>
                        <token regexp="yes">Have|Are|Am</token>
                    </marker>
                    <token regexp="yes">s?he|(?:any|no|some)(?:one|body)</token>
                </pattern>
                <message>The pronoun '<match no="4"/>' must be used with <suggestion><match no="3" postag="VBZ"/></suggestion>.</message>
                <example correction="has">When <marker>have</marker> he bought a ticket?</example>
                <example>Why has anyone done this?</example>
            </rule>
            <rule>
                <antipattern case_sensitive="no"><!-- Which are Taro's? -->
                    <token>Which</token>
                    <token>are</token>
                    <token postag="NNP"/>
                    <token spacebefore="no">'s</token>
                </antipattern>
                <antipattern case_sensitive="no"><!-- #2225 How are Victor and Carl related? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP" />
                    <token regexp="yes">and|or</token>
                    <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                </antipattern>
                <antipattern case_sensitive="no"><!-- #2663 What are TCS competitors? -->
                    <token regexp="yes">have|are</token>
                    <token chunk="B-NP-plural" postag="NNP"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2948 What are Albert’s options? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2948 Why have Albert’s real options been restricted? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token chunk="I-NP-plural"/>
                </antipattern>
                <antipattern><!-- #2948 What are Polonius' and King Claudius' plans for spying? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token regexp="yes">and|or</token>
                    <token chunk="B-NP-plural"/>
                    <token min="0" max="1" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                    <token spacebefore="no" regexp="yes">'s|'</token>
                    <token chunk="E-NP-plural"/>
                </antipattern>
                <antipattern><!-- #2948 What are Polonius' and King Claudius' usual plans for spying? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token regexp="yes">and|or</token>
                    <token chunk="B-NP-plural"/>
                    <token min="0" max="1" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token chunk="I-NP-plural"/>
                </antipattern>
                <antipattern><!-- #2948 How have Polonius and the team's tests helped up? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP"/>
                    <token regexp="yes">and|or</token>
                    <token chunk="B-NP-plural"/>
                    <token min="0" max="1" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token chunk="E-NP-plural"/>
                </antipattern>
                <antipattern><!-- #2948 How have Polonius and the team's unnecessary tests helped up? -->
                    <token regexp="yes">have|are</token>
                    <token postag="NNP"/>
                    <token regexp="yes">and|or</token>
                    <token chunk="B-NP-plural"/>
                    <token min="0" max="1" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                    <token spacebefore="no" regexp="yes">'s|&apostrophe;</token>
                    <token chunk="I-NP-plural"/>
                </antipattern>
                <antipattern><!-- #3048 How are DNA sequence and DNA material -->
                    <token regexp="yes">have|are</token>
                    <token chunk="B-NP-singular" postag="NNP"/>
                    <token chunk="I-NP-singular"/><!-- min/max does not work -->
                    <token chunk="I-NP-singular" regexp="yes">and|or|&amp;</token>
                    <token chunk="I-NP-singular"/>
                </antipattern>
                <antipattern><!-- #3048 How are DNA test sequences -->
                    <token regexp="yes">have|are</token>
                    <token chunk="B-NP-plural" postag="NNP"/>
                    <token chunk="I-NP-plural"/>
                </antipattern>
                <antipattern><!-- What are MP's? -->
                    <token>are</token>
                    <token />
                    <token>'s</token>
                    <token postag="CC|PCT" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- What are Simon and his girlfriend doing? -->
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <token regexp="yes">have|are|am</token>
                    <token postag="NNP" />
                    <token regexp="yes">and|&amp;|or</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" chunk_re="[IB]-NP.*" />
                </antipattern>
                <pattern case_sensitive="no">
                    <token postag="SENT_START"/>
                    <token postag="W(RB|P)" postag_regexp="yes"/>
                    <marker>
                        <token regexp="yes">have|are|am</token>
                    </marker>
                    <token postag="NNP" regexp="yes">.{2,30}<exception postag="JJ|CC|RP|DT|PRP\$|NNP?S|IN|RB|WRB" postag_regexp="yes"/></token>
                </pattern>
                <message>The singular proper name '<match no="4"/>' must be used with <suggestion><match no="3" postag="VBZ"/></suggestion>.</message>
                <example correction="has">When <marker>have</marker> Mary bought a ticket?</example>
                <example correction="is">What <marker>are</marker> Albert’s option?</example>
                <example>Why has Mary done this?</example>
                <example>Which are Taro's?</example>
                <example>What are Simon and his girlfriend doing?</example>
                <example>How are Victor and Carl related?</example><!-- #2225 -->
                <example>Why have Janet and John gone to Hull?</example><!-- #2225 -->
                <example>What are TCS competitors?</example><!-- #2663 -->
                <example>How are Theodore and Jimbo related?</example><!-- #2663 -->
                <example>What are Albert’s options?</example><!-- #2948 -->
                <example>What are Polonius’ options?</example><!-- #2948 -->
                <example>Why have Albert’s real options been restricted?</example><!-- #2948 -->
                <example>How have Polonius’ important tests been compromised?</example><!-- #2948 -->
                <example>What are Polonius' and King Claudius' plans for spying?</example><!-- #2948 -->
                <example>What are Polonius' and King Claudius' usual plans for spying?</example><!-- #2948 -->
                <example>What have Polonius' and the team's plans for spying got to do with me?</example><!-- #2948 -->
                <example>How have Polonius and the team's unnecessary tests helped us?</example><!-- #2948 -->
                <example>How are DNA sequence and DNA material working?</example><!-- #3048 -->
                <example>How are Chris Evans &amp; Jennifer Aniston?</example><!-- #3048 -->
                <example>How are DNA test sequences important?</example><!-- #3048 -->
                <example type="triggers_error">How are DNA  test sequence or DNA material working?</example><!-- #3048. After the min/max problem is fixed, this should not trigger an error. -->
                <example type="triggers_error">How are Chris John Jones &amp; Jennifer Aniston related?</example><!-- #3048 -->
            </rule>
        </rulegroup>

        <rulegroup id="I_BORN" name="I (was) born in the USA">
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="PRP" />
                <token>born</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>n't</token>
                <token postag="PRP" />
                <token>born</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">I|s?he|it</token>
                    <token>born</token>
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\1 was born</suggestion>?</message>
                <example correction="I was born"><marker>I born</marker> in Ukraine.</example>
                <example>Where was she born?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|they|we</token>
                    <token>born</token>
                </pattern>
                <message>A verb may be missing. Did you mean <suggestion>\1 were born</suggestion>?</message>
                <example correction="They were born"><marker>They born</marker> in the United States.</example>
                <example>Were they born in Australia?</example>
                <example>Where were they born?</example>
            </rule>
        </rulegroup>

        <rulegroup id="PRP_PAST_PART" name="Agreement error: past participle without 'have'">
            <short>Possible grammatical error</short>
            <antipattern>
                <token>call</token>
                <token>it</token>
                <token>done</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token regexp="yes">it|you</token>
                <token postag="RB" min="0" />
                <token postag="VBN"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">-(haven?|hasn?|hadn?|isn?|ain|aren?|wasn?|weren?)</token><!-- hyphen with no space in front -->
                <token regexp="yes">we|they|you|s?he|it|I</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">'ve|'s</token>
                <token regexp="yes">we|they|you|s?he|it|I</token>
            </antipattern>
            <antipattern><!-- Have I done enough? -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token regexp="yes">we|they|you|s?he|it|I</token>
            </antipattern>
            <antipattern><!-- Have I done enough? -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token>n't</token>
                <token regexp="yes">we|they|you|s?he|it|I</token>
            </antipattern>
            <antipattern><!-- Have Tom and I done enough? -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token postag="NNP|UNKNOWN|PRP" postag_regexp="yes" />
                <token regexp="yes">,|and|or|&amp;</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token postag="VBN" />
            </antipattern>
            <antipattern><!-- Have Tom Peter and I done enough? -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token postag="NNP|UNKNOWN|PRP" postag_regexp="yes" />
                <token postag="NNP|UNKNOWN|PRP" postag_regexp="yes" />
                <token regexp="yes">,|and|or|&amp;</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token postag="VBN" />
            </antipattern>
            <antipattern><!-- Have Tom, Peter and I done enough? -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token postag="NNP|UNKNOWN|PRP" postag_regexp="yes" />
                <token>,</token>
                <token postag="NNP|UNKNOWN|PRP" postag_regexp="yes" />
                <token regexp="yes">,|and|or|&amp;</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token postag="VBN" />
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_i;</token>
                <token>I</token>
                <token min="0">also</token>
                <token>known</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                        <token postag="VBN">done</token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>\1's \2</suggestion>
                <suggestion>\1 has \2</suggestion>
                <example correction="it's done|it has done">Okay, <marker>it done</marker> by the end of the month.</example>
                <example>Consider it done.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB[DP]" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>has \2</suggestion>
                <suggestion><match no="2" postag="VBD" /></suggestion>
                <example correction="has done|did">He <marker>done</marker> it.</example>
                <example correction="has been|was|were">He <marker>been</marker> there.</example>
                <example correction="has begun|began">... and then it <marker>begun</marker> to rain.</example>
                <example correction="has gone|went">It is rumored that he <marker>gone</marker> bankrupt.</example>
                <example>It was done by him.</example>
                <example>"Haven't you seen it?"</example>
                <example>“Haven't you seen it?”</example>
                <example>Haven't you seen it?</example>
                <example>Hasn't he seen it?</example>
                <example>But honestly, hasn't he seen it?</example>
                <example>“Hasn't he seen it?”</example>
                <example>Call it done.</example>
                <example>Push the job and get it done this week.</example>
                <example>"How would you like it done?"</example>
                <example>I want to see it done right.</example>
                <example>I need it done sooner than that.</example>
                <example>The prince made it known all over the land that he would ...</example>
                <example>It was there she spent the winters.</example>
                <example>How long's it been since Tom died?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>not</token>
                        <token postag="VBN"><exception postag="VBP?" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>is \2 \3</suggestion>
                <example correction="is not required">It <marker>not required</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token postag="RB" />
                        <token postag="VBN"><exception postag="VB[DP]" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>has \2 \3</suggestion>
                <suggestion>\2 <match no="3" postag="VBD" /></suggestion>
                <example correction="has correctly done|correctly did">It <marker>correctly done</marker> that.</example>
                <example correction="has never been|never was|never were">I think it <marker>never been</marker> there.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>I</token>
                        <token postag="VBN">done</token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>I'm \2</suggestion>
                <suggestion>I have \2</suggestion>
                <example correction="I'm done|I have done">Okay, <marker>I done</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">you|we|they</token>
                        <token postag="VBN">done</token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>\1're \2</suggestion>
                <suggestion>\1 have \2</suggestion>
                <example correction="they're done|they have done">Okay, <marker>they done</marker> by the end of the month.</example>
                <example>Consider it done.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB[DP]" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>have \2</suggestion>
                <suggestion><match no="2" postag="VBD" /></suggestion>
                <example correction="have seen|saw">When I <marker>seen</marker> your note ...</example>
                <example correction="have done|did">They don't honor you like that OU unless they <marker>done</marker> taken a real liking to you.</example>
                <example>I was surprised by him.</example>
                <example>Ma'am I got the wrong one.</example>
                <example>Does it only take the smell to make you drunk?</example>
                <example>Where've you been?</example>
                <example>Have Tom and I done enough?</example>
                <example>We had an excellent technology shop and while I was there I built the EDS later to be ETC trading floor infrastructure.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|we|they</token>
                    <marker>
                        <token>not</token>
                        <token postag="VBN"><exception postag="VBP?" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>are \2 \3</suggestion>
                <suggestion>have \2 \3</suggestion>
                <example correction="are not required|have not required">You <marker>not required</marker> to do that.</example>
            </rule>
            <rule>
                <antipattern><!-- May I not seemed to... [may expressing a hope: www.lexico.com/definition/may] -->
                    <token>may</token>
                    <token>I</token>
                    <token>not</token>
                    <token postag="VBD"/>
                </antipattern>
                <pattern>
                    <token>I</token>
                    <marker>
                        <token>not</token>
                        <token postag="VBN"><exception postag="VBP?" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>am \2 \3</suggestion>
                <suggestion>have \2 \3</suggestion>
                <example correction="am not required|have not required">I <marker>not required</marker> to do that.</example>
                <example>I <marker>am not required</marker> to do that.</example>
                <example>His last words, "Ne frusta vixisse vidar" (May I not seemed to have lived in vain") were recorded ...</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <marker>
                        <token postag="RB" />
                        <token postag="VBN"><exception postag="VB[DP]" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>A verb ('be' or 'have') is missing before the past participle.</message>
                <suggestion>have \2 \3</suggestion>
                <suggestion>\2 <match no="3" postag="VBD" /></suggestion>
                <example correction="have never seen|never saw">Well I <marker>never seen</marker> something like that.</example>
                <example>Zog I also known as Skenderbeg III, (1895–1961), king of Albanians We don't know how to get around that right now.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">([wc]|sh)ould|might|must</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB[PD]" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>have <match no="2"/></suggestion> or <suggestion><match no="2" postag="VB"/></suggestion>?</message>
                <example correction="have been|be">You could <marker>been</marker> from Russia.</example>
                <example>They should break away from Russia.</example>
            </rule>
            <rule>
                <antipattern><!-- #3527 having their sinful will broken. -->
                    <token postag_regexp="yes" postag="VB.*" inflected="yes">have</token>
                    <token postag="PRP$"/>
                    <token min="1" max="4" postag="JJ"/>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/><!-- will/B-VP -->
                    <token postag="VBN"/>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="MD">can|may|shall|will</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB[PD]" postag_regexp="yes"/><exception>been</exception></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" postag="VB"/></suggestion> or <suggestion>be <match no="2"/></suggestion>?</message>
                <example correction="go|be gone">You can <marker>gone</marker> from Russia.</example>
                <example>They shall break away from Russia.</example>
                <example>I knew almost exactly what the will had said.</example>
                <example>The Bible is clear that humans do not achieve greatness without having their sinful will broken.</example><!-- #3527 -->
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">can|may|shall|will</token>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>\1 be</suggestion>?</message>
                <example correction="can be">You <marker>can been</marker> gone from Russia.</example>
                <example correction="can be">It <marker>can been</marker> seen at night.</example>
                <example>They shall break away from Russia.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ought|need|used</token>
                    <token>to</token>
                    <marker>
                        <token postag="VBN"><exception postag="VB[PD]" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="VB"/></suggestion>?</message>
                <example correction="be">You used to <marker>been</marker> stupid.</example>
                <example>They need to do this.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HAS_OUGHT" name="has ought (ought)">
            <antipattern>
                <token regexp="yes">that|which|what</token>
                <token />
                <token regexp="yes">have|has|had</token>
                <token regexp="yes">oughts?</token>
            </antipattern>
            <antipattern>
                <token postag="NN.*|UNKNOWN" postag_regexp="yes" />
                <token />
                <token regexp="yes">have|has|had</token>
                <token regexp="yes">oughts?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>has</token>
                    <token>ought</token>
                    <token>to</token>
                </pattern>
                <message>The expression '\1 \2' is nonstandard. To correct it, simply remove '\1'.</message>
                <suggestion>\2s \3</suggestion>
                <example>I often feel that these thoughts I have ought to be properly expanded in a much more formal way.</example>
                <example>The reasons that I have ought to guide me in my motivations</example>
                <example correction="oughts to">He <marker>has ought to</marker> consider that.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">have|had</token>
                    <token>ought</token>
                    <token>to</token>
                </pattern>
                <message>The expression '\1 \2' is nonstandard. To correct it, simply remove '\1'.</message>
                <suggestion>\2 to</suggestion>
                <example>I often feel that these thoughts I have ought to be properly expanded in a much more formal way.</example>
                <example>The reasons that I have ought to guide me in my motivations</example>
                <example correction="ought to">If I <marker>have ought to</marker> know by now, then maybe it's too late.</example>
            </rule>
        </rulegroup>
        <rule id="EQUALLY_AS" name="equally as (equally)">
            <pattern>
                <token>equally</token>
                <token>as</token>
            </pattern>
            <message>Use either <suggestion>equally</suggestion> or <suggestion>as</suggestion> on its own. When comparing two nouns, use <suggestion>just as</suggestion>.</message>
            <short>Grammatical problem: equally as</short>
            <example correction="equally|as|just as">This model is <marker>equally as</marker> effective.</example>
            <example>This model is <marker>equally</marker> effective.</example>
            <example>My new grammar checker is just as slow as the old one.</example>
        </rule>
        <rulegroup default="off" id="CANT_HELP_BUT" name="can't help but (can't help + gerund)">
            <url>http://english.stackexchange.com/questions/69212/cannot-help-but-think-vs-cannot-but-think-vs-cannot-help-thinking</url>
            <rule>
                <pattern>
                    <token>cannot</token>
                    <token>help</token>
                    <marker>
                        <token>but</token>
                        <token postag="VB"/>
                    </marker>
                </pattern>
                <message>This is sometimes considered a nonstandard phrase. Use <suggestion><match no="4" postag="VBG"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="falling">I cannot help <marker>but fall</marker> in love with you.</example>
                <example>I cannot help <marker>falling</marker> in love with you.</example>
            </rule>
            <rule>
                <pattern>
                    <token>ca</token>
                    <token>n't</token>
                    <token>help</token>
                    <marker>
                        <token>but</token>
                        <token postag="VB"/>
                    </marker>
                </pattern>
                <message>This is sometimes considered a nonstandard phrase. Use <suggestion><match no="5" postag="VBG"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="falling">I can't help <marker>but fall</marker> in love with you.</example>
                <example>I <marker>can't help falling</marker> in love with you.</example>
            </rule>
        </rulegroup>
        <rule id="IF_OR_NOT" name="if or not (whether or not)">
            <pattern>
                <token>if</token>
                <token>or</token>
                <token>not</token>
            </pattern>
            <message>This is a non-standard phrase. Did you mean <suggestion>whether or not</suggestion>?</message>
            <short>Grammatical problem</short>
            <example correction="whether or not">It's not certain whether communication with the site's customer service has led it to be clear <marker>if or not</marker> this is true.</example>
        </rule>
        <rule id="KIND_OF_A" name="'kind/type/sort of a/an'">
            <antipattern>
                <token postag="VB.*|SENT_START" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token regexp="yes">kind|sort</token>
                <token>of</token>
                <token regexp="yes">an?</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>hurry</token>
            </antipattern>
            <antipattern>
                <token>device</token>
                <token>type</token>
            </antipattern>
            <pattern>
                <token regexp="yes">kind|sort|type</token>
                <token>of</token>
                <token regexp="yes">an?</token>
            </pattern>
            <message>If '\1' is a classification term, '\3' is not necessary. Use <suggestion>\1 \2</suggestion>. (The phrases 'kind of' and 'sort of' are informal if they mean 'to some extent'.)</message>
            <short>Grammatical problem: possible unnecessary 'a/an'</short>
            <example correction="kind of">What <marker>kind of a</marker> man is Bush?</example>
            <example correction="kind of">Do you have any <marker>kind of an</marker> alibi?</example>
            <example>What <marker>kind of</marker> man is Bush?</example>
            <example>It became <marker>kind of</marker> a last minute decision.</example><!-- https://www.lexico.com/definition/kind_of  -->
            <example>I was <marker>sort of</marker> a mascot; I would get them coffee or tea ...</example><!-- https://www.lexico.com/definition/sort_of -->
        </rule>
        <rule id="BECAUSE_OF_I" name="because of we (because we)">
            <pattern>
                <token>because</token>
                <token>of</token>
                <token regexp="yes">I|s?he|we|they</token>
            </pattern>
            <message>Probable usage error. Use <suggestion>\1 \3</suggestion> instead.</message>
            <short>Grammatical problem: remove 'of'</short>
            <example correction="Because we"><marker>Because of we</marker> didn't want a big train, but we want a fast train.</example>
        </rule>
        <rulegroup id="CAUSE_BECAUSE" name="confusion of cause vs. because">
            <url>https://dictionary.cambridge.org/grammar/british-grammar/because-because-of-and-cos-cos-of</url>
            <antipattern><!-- informal 'cause -->
                <token regexp="yes">&apostrophe;</token>
                <token spacebefore="no">cause</token>
            </antipattern>
            <antipattern>
                <token postag="MD|TO" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>cause</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token>n't</token>
                <token>cause</token>
            </antipattern>
            <antipattern>
                <token>cause</token>
                <token case_sensitive="yes" regexp="yes">Will|May</token>
            </antipattern>
            <antipattern>
                <token>cause</token>
                <token regexp="yes">cans|wills</token>
            </antipattern>
            <antipattern><!-- the root cause-->
                <token regexp="yes">the|an?|my|y?our|their|his</token>
                <token regexp="yes" min="0">root|main|exact|common|first</token>
                <token>cause</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>cause</token>
                    </marker>
                    <token regexp="yes">I|we|they|s?he</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">I guess they did it <marker>cause</marker> they need money.</example>
                <example correction="because">I'm happy, <marker>cause</marker> I'm learning some Dutch.</example>
                <example>The bug cause it to fail.</example>
                <example>I'm sorry to cause you all this trouble.</example>
                <example>It's the root cause I will find.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>cause</token>
                    </marker>
                    <token>it</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">is|'s|was|has|had</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">I think it's great <marker>cause</marker> it's finally running.</example>
                <example>This is currently hard to see because the only way to cause it is via troops that cause random effects.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>cause</token>
                    </marker>
                    <token>you</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">are|'re|were|have|'ve|had</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">I think it's great <marker>cause</marker> you're doing it.</example>
                <example>This is currently hard to see because the only way to cause it is via troops that cause random effects.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>you</token>
                    <token>does</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">it|this|that|(no|any|some|every)(body|thing|one)</token>
                    <token>do</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>cause</token>
                    </marker>
                    <token regexp="yes">it|you|I|we|they|s?he|this|that|(no|any|some|every)(body|thing|one)</token>
                    <token postag="RB" min="0" />
                    <token inflected="yes" regexp="yes">do|will|can|should|have|shall|need|want|must|may|might</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">Please don’t just ignore it <marker>cause</marker> it can cause bigger problems.</example>
                <example>The things that cause it do not matter.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJ.*|SENT_START|PCT|VB.*" postag_regexp="yes" />
                    <marker>
                        <token>cause</token>
                    </marker>
                    <token postag="DT|PRP\$|JJ.*|CD" postag_regexp="yes" chunk_re=".-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="MD|VB[DZP]" chunk_re=".-VP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">It happened <marker>cause</marker> our teacher didn't pay attention.</example>
            </rule>
        </rulegroup>
        <rule id="PAYED" name="payed (paid)">
            <antipattern>
                <token>payed</token>
                <token>up</token>
            </antipattern>
            <antipattern>
                <token skip="10">payed</token>
                <token inflected="yes" regexp="yes">deck|line|pitch|rope|tar</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">payed</token>
            </pattern>
            <message>Only in a nautical context 'payed' is an acceptable past tense form of 'pay'. Please check.</message>
            <suggestion>paid</suggestion>
            <url>https://writingexplained.org/payed-or-paid-difference</url>
            <short>Probable usage error.</short>
            <example correction="paid">She <marker>payed</marker> her debts.</example>
            <example>Have you <marker>payed</marker> the deck?</example>
            <example>He <marker>payed</marker> the deck with tar.</example>
        </rule>
        <rule id="BOTH_AS_WELL_AS" name="both... as well as (and)">
            <antipattern><!-- The phrases X and Y as well as -->
                <token skip="-1" postag="NNS" regexp="yes">phrases|words</token>
                <token>and</token>
                <token skip="-1"/>
                <token skip="-1">both</token>
                <token skip="-1" postag='PCT'/>
                <token>as</token>
                <token>well</token>
                <token>as</token>
            </antipattern>
            <pattern>
                <token skip="-1">both<exception scope="next">and</exception></token>
                <marker>
                    <token>as</token>
                    <token>well</token>
                    <token>as</token>
                </marker>
            </pattern>
            <message>Probable usage error. Use <suggestion>and</suggestion> after 'both'.</message>
            <short>Grammatical problem</short>
            <example>He is both rich and handsome.</example>
            <example>He is both rich and smart <marker>as well as</marker> handsome.</example>
            <example>He is both very rich and smart <marker>as well as</marker> handsome.</example>
            <example correction="and">He is both very rich <marker>as well as</marker> handsome.</example>
            <example>The phrases "eyeball kick" and "hydrogen jukebox" both show up in "Howl", as well as a direct quote from Cézanne:</example>
        </rule>
        <rule id="ACCORDING_TO_ME" name="according to me (in my opinion)">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token>according</token>
                    <token>to</token>
                    <token>me</token>
                </marker>
            </pattern>
            <message>This phrase can sound awkward in English. Consider using <suggestion>in my opinion</suggestion> or <suggestion>I think</suggestion>.</message>
            <short>Grammatical problem</short>
            <example correction="In my opinion|I think"><marker>According to me</marker>, this is a great movie.</example>
        </rule>
        <rulegroup id="AFRAID_OF_HEIGHT" name="'afraid of' + singular">
            <rule>
                <antipattern>
                    <token>of</token>
                    <token>one</token>
                    <token>another</token>
                </antipattern>
                <pattern>
                    <token>afraid</token>
                    <token>of</token>
                    <marker>
                        <token postag="NN"><exception postag="NNP?S|NNP|NN:U.*|IN" postag_regexp="yes"/><exception regexp="yes">dark|wind|rain</exception></token>
                    </marker>
                    <token><exception postag="JJ.*|NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The noun should be probably in the plural form.</message>
                <suggestion><match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <short>Grammatical problem: use a plural noun</short>
                <example correction="spiders">I'm afraid of <marker>spider</marker>.</example>
                <example>I'm afraid of <marker>spiders</marker>.</example>
                <example>I'm afraid of <marker>heights</marker>.</example>
                <example>Why would I be afraid of Tom?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>due</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token>afraid</token>
                    <token>of</token>
                    <token postag="JJ.*" postag_regexp="yes"><exception postag="NNP?S|VBG" postag_regexp="yes"/></token>
                    <marker>
                        <token postag="NN"><exception postag="NNP?S|IN" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="JJ.*|NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The noun should be probably in the plural form.</message>
                <suggestion><match no="4" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <short>Grammatical problem: use a plural noun</short>
                <example correction="spiders">I'm even afraid of small <marker>spider</marker>.</example>
                <example>I'm even afraid of small <marker>spiders</marker>.</example>
                <example>Jim was afraid of physical <marker>labor</marker>.</example>
                <example>I'm not afraid of hard work.</example>
                <example>I'm afraid of dirty water.</example>
                <example>He is afraid of becoming sick.</example>
                <example>I'm afraid of <marker>open space</marker>.</example><!-- Can parse as JJ + NN:U, but is probably countable: www.lexico.com/en/definition/open_space. Refer to rule 4. -->
                <example>That, and I'm humbled by grandchildren who aren't afraid of pointing out my shortcomings.</example>
            </rule>
            <rule>
                <pattern>
                    <token>afraid</token>
                    <token>of</token>
                    <marker>
                        <token regexp="yes">dark|wind|rain</token>
                    </marker>
                    <token><exception postag="JJ.*|NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>You probably should use this form here.</message>
                <suggestion>the \3</suggestion>
                <short>Grammatical problem: missing 'the'</short>
                <example correction="the dark">I'm afraid of <marker>dark</marker>.</example>
            </rule>
            <rule><!-- open space -->
                <pattern>
                    <token>afraid</token>
                    <token>of</token>
                    <marker>
                        <token>open</token>
                        <token chunk="E-NP-singular">space</token>
                    </marker>
                </pattern>
                <message>The noun should be probably in the plural form.</message>
                <suggestion>\3 <match no="4" postag="NNS"/></suggestion>
                <url>https://www.lexico.com/en/definition/open_space</url>
                <short>Grammatical problem: use a plural noun</short>
                <example correction="open spaces">I'm afraid of <marker>open space</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="I_AFRAID" name="'I afraid of' (I'm afraid of)">
            <antipattern>
                <token inflected="yes">be</token>
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="PRP" />
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>afraid</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>I</token>
                        <token min="0" regexp="yes">very|really|totally</token>
                        <token>afraid</token>
                    </marker>
                    <token regexp="yes">of|to|that|because|we|s?he|they|I</token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\1'm \2 \3</suggestion>
                <short>Grammatical problem</short>
                <example correction="I'm afraid"><marker>I afraid</marker> of the dark.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token>you</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">you|we|they</token>
                        <token min="0" regexp="yes">very|really|totally</token>
                        <token>afraid</token>
                    </marker>
                    <token regexp="yes">of|to|that|because</token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\1're \2 \3</suggestion>
                <short>Grammatical problem</short>
                <example correction="You're afraid"><marker>You afraid</marker> of the dark.</example>
                <example>They make you afraid of the dark.</example>
                <example>Aren't you afraid that you'll be left behind?</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token>it</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                        <token min="0" regexp="yes">very|really|totally</token>
                        <token>afraid</token>
                    </marker>
                    <token regexp="yes">of|to|that|because</token>
                </pattern>
                <message>A verb may be missing.</message>
                <suggestion>\1's \2 \3</suggestion>
                <short>Grammatical problem</short>
                <example correction="He's afraid"><marker>He afraid</marker> of the dark.</example>
                <example>They do it afraid of the dark.</example>
                <example>Is he afraid of that?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">you|we|they</token>
                        <token>do</token>
                        <token>n't</token>
                        <token>afraid</token>
                    </marker>
                    <token regexp="yes">of|to|that|because</token>
                </pattern>
                <message>'\5' is not a verb. Did you mean <suggestion>\1're not \4</suggestion>?</message>
                <short>Grammatical problem</short>
                <example>You're afraid of the dark.</example>
                <example correction="You're not afraid"><marker>You don't afraid</marker> of the dark.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>I</token>
                        <token>do</token>
                        <token>n't</token>
                        <token>afraid</token>
                    </marker>
                    <token regexp="yes">of|to|that|because</token>
                </pattern>
                <message>'\5' is not a verb. Did you mean <suggestion>\1'm not \4</suggestion>?</message>
                <short>Grammatical problem</short>
                <example>I'm afraid of the dark.</example>
                <example correction="I'm not afraid"><marker>I don't afraid</marker> of the dark.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he|it</token>
                        <token>does</token>
                        <token>n't</token>
                        <token>afraid</token>
                    </marker>
                    <token regexp="yes">of|to|that|because</token>
                </pattern>
                <message>'\5' is not a verb. Did you mean <suggestion>\1's not \4</suggestion>?</message>
                <short>Grammatical problem</short>
                <example>He's afraid of the dark.</example>
                <example correction="She's not afraid"><marker>She doesn't afraid</marker> of the dark.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>afraid</token>
                        <token>the</token>
                        <token regexp="yes">dark|wind|rain</token>
                    </marker>
                    <token postag="SENT_END|[,;:]" postag_regexp="yes"/>
                </pattern>
                <message>The adjective '\1' is used with 'of'.</message>
                <suggestion>\1 of \2 \3</suggestion>
                <short>Grammatical problem</short>
                <example>I'm afraid of the dark.</example>
                <example>From the look of the sky I'm afraid the rain won't let up for a while.</example>
                <example correction="afraid of the rain">I'm <marker>afraid the rain</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>afraid</token>
                    <token postag="NNS"/>
                </pattern>
                <message>The adjective '\1' is used with 'of'.</message>
                <suggestion>\1 of \2</suggestion>
                <short>Grammatical problem</short>
                <example correction="afraid of spiders">I'm <marker>afraid spiders</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>afraid</token>
                    <token postag="VB"><exception regexp="yes">wind|rain</exception></token>
                </pattern>
                <message>The adjective '\1' is used with 'to'.</message>
                <suggestion>\1 to \2</suggestion>
                <short>Grammatical problem</short>
                <example correction="afraid to eat">I'm <marker>afraid eat</marker> spiders.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOES_XX_CAN" name="Wrong usage of modal verbs in questions">
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token regexp="yes">Do(es)?</token>
                        <token postag="NN:U|PRP" postag_regexp="yes"/>
                        <token postag="MD"><exception regexp="yes">need|dare</exception></token>
                    </marker>
                </pattern>
                <message>Possibly wrong usage of '\2' in the question. Did you mean: <suggestion>\4 \3</suggestion>?</message>
                <short>Grammatical problem: incorrect modal verb</short>
                <example correction="Can someone"><marker>Does someone can</marker> reproduce what I described before?</example>
                <example><marker>Can someone</marker> reproduce what I described before?</example>
                <example>Do you need anything?</example>
                <example>Do you dare to voice them?</example>
            </rule>
            <rule tags="picky">
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token regexp="yes">Do(es)?</token>
                        <token postag="NN:U|PRP" postag_regexp="yes"/>
                        <token>dare</token>
                        <token min="0">to</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Even though this usage of 'dare' is common and correct, 'dare' is sometimes still considered a modal verb. Would you like to rephrase this sentence?</message>
                <suggestion>\4 \3</suggestion>
                <short>Grammatical problem: incorrect modal verb</short>
                <example correction="Dare I"><marker>Do I dare</marker> disturb the universe?</example>
                <example correction="Dare she"><marker>Does she dare to</marker> go into the forest?</example>
                <example correction="Dare you"><marker>Do you dare to</marker> ask him that?</example>
            </rule>
        </rulegroup>

        <rulegroup id="THERE_S_MANY" name="Possible agreement error 'there's' + plural noun">
            <antipattern><!-- #2922 There is a logs folder -->
                <token skip="1" regexp="yes">t?here</token>
                <token regexp="yes">is|'s</token>
                <token regexp="yes">an?|one|another</token>
                <token chunk="I-NP-plural" postag="NNS"/>
                <token chunk_re="[IE]-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural">lots</token>
            </antipattern>
            <antipattern>
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural" />
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" chunk_re="E-NP-plural" />
                <token regexp="yes">ago|earlier|later</token>
            </antipattern>
            <antipattern><!-- The guide who took us there was only ten years old. -->
                <token skip="8">the</token>
                <token inflected="yes" regexp="yes" chunk_re=".-VP" skip="2">take|go|send|beam</token>
                <token>there</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>there</token>
                    <token spacebefore="no">'s</token>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural">
                        <exception postag="NN:.*|NNP?|JJ.*|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 are \3</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="There are problems"><marker>There's problems</marker> in Iraq but it is not a terrible situation.</example>
                <example>There are problems in Iraq.</example>
                <example>There's lots of time left.</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk="I-NP-plural" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-plural" />
                    <token chunk="I-NP-plural" postag="NN|NN:UN?" postag_regexp="yes" />
                    <token regexp="yes">and|&amp;|n?or</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="[EI]-NP-plural" />
                    <token regexp="yes">&apostrophe;|'s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">t?here</token>
                    <token spacebefore="no">'s</token>
                    <token postag="CD|DT|JJ.*" postag_regexp="yes" chunk_re="[BI]-NP.*">
                        <exception postag="NN:.*|NNP?" postag_regexp="yes"/>
                    </token>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="[IE]-NP-plural">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 are \3 \4</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="There are many problems"><marker>There's many problems</marker> in Iraq but it is not a terrible situation.</example>
                <example correction="There are 3 women"><marker>There's 3 women</marker> waiting for you.</example>
                <example correction="Here are many women"><marker>Here's many women</marker> waiting for you.</example>
                <example correction="There are jet skis"><marker>There's jet skis</marker> and boats right there.</example>
                <example correction="There are some things"><marker>There's some things</marker> (Kenneth Lay) wasn't told," Linda Lay said.</example>
                <example>There're many problems in Iraq.</example>
                <example>Here's the sports tourney link.</example>
                <example>Now there’s a munitions factory in the town.</example>
                <example>The method is very useful in countries where there's no stocks market, and where capital markets are not sufficiently large.</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk="I-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token chunk="E-NP-plural" postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token chunk="I-NP-plural" postag="NN|NN:UN?" postag_regexp="yes" />
                    <token regexp="yes">and|&amp;|n?or</token>
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-plural" postag="NNP?S" postag_regexp="yes" />
                    <token regexp="yes">&apostrophe;|'s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>there</token>
                    <token regexp="yes">is|was</token>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural">
                        <exception postag="NN:.*|NNP?|JJ.*|DT|RB" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 are \3</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="There are problems"><marker>There is problems</marker> in Iraq but it is not a terrible situation.</example>
                <!-- <example correction="there are heaps">On the other hand <marker>there is heaps</marker> of power contract work that I am not getting to as well and this is slowing down business (it is tough in a one person legal department).</example> -->
                <example>There are problems in Iraq.</example>
                <example>There is sometimes a problem with this rule.</example>
                <example>There is lots of competition.</example>
                <example>In addition to the power/gas exposure, there is metals exposure.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token/>
                    <token chunk="B-NP-singular">'s</token>
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-plural" />
                    <token chunk="I-NP-plural" min="0" />
                    <token chunk="E-NP-plural" postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token chunk="I-NP-plural" />
                    <token chunk="I-NP-plural" postag="NN|NN:UN?" postag_regexp="yes" />
                    <token regexp="yes">and|&amp;|n?or</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="[EI]-NP-plural" />
                    <token regexp="yes">&apostrophe;|'s</token>
                    <token postag="JJS?" postag_regexp="yes" min="0" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>is</token>
                    <token>little</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token postag="MD|VB.*" postag_regexp="yes" skip="8" />
                    <token postag="IN" />
                </antipattern>
                <pattern>
                    <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                    <token>is</token>
                    <token postag="CD|DT|JJ.*" postag_regexp="yes" chunk_re="[BI]-NP-plural">
                        <exception postag="NN:.*|NNP?" postag_regexp="yes"/>
                    </token>
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="[IE]-NP-plural">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 are \3 \4</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="There are many problems"><marker>There is many problems</marker> in Iraq but it is not a terrible situation.</example>
                <example correction="There are 5 men"><marker>There is 5 men</marker> sitting in the room.</example>
                <example correction="Here are 5 men"><marker>Here is 5 men</marker> sitting in the room.</example>
                <example correction="there are no restrictions">I also read the fuel contract and realized that <marker>there is no restrictions</marker> or requirements for the letter of credit except for its amount.</example>
                <example>There are many problems in Iraq.</example>
                <example>There is no mains electricity supply.</example>
                <example>There is little paramedics could do for Fadil.</example>
                <example>The house closest to here is two miles away.</example>
                <example>There is a logs folder.</example><!-- #2922 -->
                <example>... and here is a logs test for reference.</example><!-- #2922 -->
                <example>I think there is a books club in the town.</example><!-- #2922 -->
                <example>Per head of population, there is five times as much venture capital available in...</example><!-- #3118 -->
                <example>There is a men's and women's competition.</example>
                <example>Here is a directors' resolution for Peter.</example>
                <example>Here is the Citizens sheet for September.</example>
                <example>Pressure increase at constant volume I noted that there is no Notices section nor Counterparts section.</example>
                <example>What's happening here is that clients are being quoted one price, which is then undercut by the next provider they speak to," Sessions said, a phenomenon that has in turn led to an aggressively falling pricing policy, exacerbated by a lack of transparency in the market as a whole.</example>
                <example>Marc Phillips or Mike Taylor will check if there is any emissions penalty or devaluation for not declaring the shutdown immediately.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>was</token>
                    <token>little</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                    <token postag="MD|VB.*" postag_regexp="yes" skip="8" />
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- There was five days' worth of work on the line -->
                    <token regexp="yes">hours|days|weeks|months|years</token>
                    <token min="0" postag="POS"/>
                    <token>worth</token>
                    <token>of</token>
                    <token postag="NN(P|:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token>was</token>
                    <token>no</token>
                    <token regexp="yes">way|possibility</token>
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <pattern>
                    <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                    <token>was</token>
                    <token postag="NN|NN:UN?|CD|DT|JJ.*" postag_regexp="yes" chunk_re="[BI]-NP.*" min="0" />
                    <token postag="NN|NN:UN?|CD|DT|JJ.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 were \3 \4 \5</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="There were many problems"><marker>There was many problems</marker> in Iraq but it is not a terrible situation.</example>
                <example correction="There were some bad words"><marker>There was some bad words</marker> when I was looking for synonyms.</example>
                <example correction="there were only ten minutes">Tom was sad because he knew <marker>there was only ten minutes</marker> of sunshine left</example>
                <example correction="there were any other classes">On a similar note, we double checked all the other classes to see if <marker>there was any other classes</marker> with a similar issue.</example>
                <example>There was little paramedics could do for Fadil.</example>
                <example>The guide who took us there was only ten years old.</example>
                <example>I was under the impression there was multiple years worth of data.</example><!-- missing POS to be found by other rule -->
                <example>There was no way Californians could escape by flipping off lights, turning up thermostats.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">is|'s</token>
                    <token postag="CD" chunk_re="[BI]-NP.*">
                        <exception regexp="yes">1|one</exception>
                    </token>
                    <token postag="NN|NN:UN?|JJ.*" postag_regexp="yes" chunk_re="I-NP.*" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 are \4 \5 \6</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="there are 2 writing issues">It says that <marker>there is 2 writing issues</marker> in my text.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                    <token>was</token>
                    <token postag="CD" chunk_re="[BI]-NP.*">
                        <exception regexp="yes">1|one</exception>
                    </token>
                    <token postag="NN|NN:UN?|JJ.*" postag_regexp="yes" chunk_re="I-NP.*" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 were \3 \4 \5</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="there were 2 writing issues">It says that <marker>there was 2 writing issues</marker> in my text.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                        <token regexp="yes">'s|is</token>
                    </marker>
                    <token regexp="yes">some|many|numerous|plenty|other|similar|few|countless|several|multiple|various</token>
                    <token chunk_re="I-NP-plural" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>The plural noun "\5" requires a plural verb form.</message>
                <suggestion>\1 are</suggestion>
                <example correction="Here are"><marker>Here is</marker> some great alternatives.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                        <token>was</token>
                    </marker>
                    <token regexp="yes">some|many|numerous|plenty|other|similar|few|countless|several|multiple|various</token>
                    <token chunk_re="I-NP-plural" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>The plural noun "\5" requires a plural verb form.</message>
                <suggestion>\1 were</suggestion>
                <example correction="There were"><marker>There was</marker> some great alternatives.</example>
                <example>I remember there was some times ago a proposition to drop the email from the subscription fields.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                        <token>has</token>
                    </marker>
                    <token>been</token>
                    <token regexp="yes">some|many|numerous|plenty|other|similar|few|countless|several|multiple|various</token>
                    <token chunk_re="I-NP-plural" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*">
                        <exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/>
                    </token>
                </pattern>
                <message>The plural noun "\6" requires a plural verb form.</message>
                <suggestion>\1 have</suggestion>
                <example correction="There have"><marker>There has</marker> been some great alternatives.</example>
            </rule>
        </rulegroup>

        <rulegroup id="THERE_RE_MANY" name="Possible agreement error 'there're' + singular noun">
            <antipattern>
                <token>a</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">variety|number|couple|pair|kind|boatload|litany|lot|plenty|ton|bunch|total</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- #2787 proper nouns -->
                <token chunk="B-NP-singular" postag="NNP"/>
                <token chunk="E-NP-singular" postag="NNP"/>
            </antipattern>
            <rule>
                <pattern>
                    <token>there</token>
                    <token>'re</token>
                    <token chunk="B-NP-singular" min="0" max="1"/>
                    <marker>
                        <token chunk="E-NP-singular"><exception postag="NNPS"/></token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="4" postag="NNP?S" postag_regexp="yes"/></suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="problems">There're <marker>problem</marker> in Iraq but it is not a terrible situation.</example>
                <example>There're problems in Iraq.</example>
                <example>... there are Bahdja Rahal, Cheikh El Hadj Mohamed El Ghafour...</example><!-- #2787 -->
            </rule>
            <rule>
                <pattern>
                    <token>there</token>
                    <token>'re</token>
                    <token chunk="B-NP-singular" min="0" max="1"/>
                    <token chunk="I-NP-singular" min="0" max="-1"/>
                    <marker>
                        <token chunk="E-NP-singular">
                            <exception postag="NNPS"/>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error. Did you mean <suggestion><match no="5" postag="NNP?S" postag_regexp="yes"/></suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="problems">There're a lot <marker>problem</marker> in Iraq but it is not a terrible situation.</example>
                <example>There's a whole lot of problems in Iraq.</example>
                <example correction="problems">There're many <marker>problem</marker> in Iraq but it is not a terrible situation.</example>
                <example>There're many problems in Iraq.</example>
            </rule>
            <rule>
                <antipattern><!-- many Taxicab and Hackney carriage services [Taxicab/E-NP-singular, thus cannot use the chunker.] -->
                    <token regexp="yes">many|several|few</token>
                    <token/>
                    <token regexp="yes">and|or</token>
                    <token postag="JJ|NN(:UN?|P)?" postag_regexp="yes"/>
                    <token postag="JJ|NN(:UN?|P)?" postag_regexp="yes"/>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2597 many small to middle wounds -->
                    <token regexp="yes">many|several|few</token>
                    <token postag_regexp="yes" postag="JJR?|NN(:UN?)?"/>
                    <token regexp="yes">and|or|to</token>
                    <token postag_regexp="yes" postag="JJR?"/>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2597 glow up lights -->
                    <token regexp="yes">are|were</token>
                    <token>glow</token>
                    <token>up</token>
                    <token>lights</token>
                </antipattern>
                <antipattern><!-- #2897 very few left [=very few that are left] -->
                    <token chunk="E-NP-singular">few</token>
                    <token chunk="B-VP" postag="VBN"/>
                </antipattern>
                <antipattern><!-- #2897 a few of / a computer of / a couple in. In "a X", the suggestion "a Xs" is always incorrect. -->
                    <token regexp="yes">an?</token>
                    <token chunk="E-NP-singular"/>
                </antipattern>
                <antipattern><!-- #2897 a few letter sounds we -->
                    <token>a</token>
                    <token chunk="I-NP-singular">few</token>
                    <token postag_regexp="yes" postag="JJ|NN"/>
                    <token postag="NNS"/><!-- sounds/B-VP -->
                    <token regexp="yes">&subject_pronouns;</token>
                </antipattern>
                <antipattern><!-- #2966 only few who -->
                    <token postag="RB"/>
                    <token>few</token>
                    <token postag="WP"/>
                </antipattern>
                <antipattern><!-- #2966 few out there -->
                    <token chunk="I-NP-singular">few</token>
                    <token postag_regexp="yes" postag="JJ|RB"/>
                    <token postag="RB"/>
                </antipattern>
                <antipattern><!-- #2966 are several, -->
                    <token regexp="yes">are|were</token>
                    <token chunk="E-NP-singular" postag="JJ"/>
                    <token postag="PCT"/>
                </antipattern>
                <antipattern><!-- #2966 are just the two of -->
                    <token regexp="yes">are|were</token>
                    <token chunk="B-NP-singular" postag="RB"/>
                    <token>the</token>
                    <token chunk="E-NP-singular" regexp="yes">two|three|four|five|six|seven|eight|nine|ten</token><!-- Cannot use CD because of disambiguation DT_JJNN_IN_NN (which is correct for AmE: www.merriam-webster.com/dictionary/two) -->
                    <token>of</token>
                </antipattern>
                <antipattern><!-- #2966 101 file sharing services. Refer to #2968 -->
                    <token regexp="yes">are|were</token>
                    <token chunk="B-NP-singular" postag="CD"/>
                    <token chunk="E-NP-singular">file</token>
                    <token>sharing</token>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2966 are two inside -->
                    <token>are</token>
                    <token chunk="B-NP-singular" postag="CD"/>
                    <token chunk="E-NP-singular" postag="RB"/>
                </antipattern>
                <antipattern><!-- #2966 are no: -->
                    <token regexp="yes">are|were</token>
                    <token chunk="E-NP-singular" postag="DT"/>
                    <token>:</token>
                </antipattern>
                <antipattern><!-- #2966 www.merriam-webster.com/dictionary/good%20deal%20of -->
                    <token>a</token>
                    <token>good</token>
                    <token>deal</token>
                    <token>of</token>
                </antipattern>
                <antipattern><!-- Premium #1350 there are every year in Japan -->
                    <token>there</token>
                    <token regexp="yes">are|were</token>
                    <token regexp="yes">an?|1|one|another|n?either|every</token><!-- singular determiners. The rule must not give incorrect suggestions. -->
                    <token chunk="I-NP-singular" min="0">
                        <exception regexp="yes">few|lot|couple|bunch|number|ton</exception>
                    </token>
                    <token chunk="E-NP-singular" postag="NN"/>
                </antipattern>
                <antipattern><!-- #3275 very few tariff and non-tariff barriers / some large tariff/ a few tariff -->
                    <token regexp="yes">are|were</token>
                    <token postag_regexp="yes" postag="RB|DT"/>
                    <token chunk="I-NP-singular" postag="JJ"/>
                    <token chunk="E-NP-singular"/>
                    <token regexp="yes">and|or</token>
                    <token chunk="B-NP-plural"/>
                    <token chunk="E-NP-plural"/>
                </antipattern>
                <antipattern><!-- although there are airbag recalls -->
                    <token>there</token>
                    <token regexp="yes">are|were</token>
                    <token chunk="E-NP-singular" />
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>there</token>
                    <token regexp="yes">are|were</token>
                    <token>total</token>
                    <token>of</token>
                </antipattern>
                <antipattern><!-- Chunker error: there are several language shift processes currently -->
                    <token>there</token>
                    <token regexp="yes">are|were</token>
                    <token postag="DT"/>
                    <token chunk="I-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag="NNS"/>
                    <token postag="RB"/>
                </antipattern>
                <antipattern>
                    <token>there</token>
                    <token regexp="yes">are|were</token>
                    <token chunk="B-NP-singular" min="0" max="1"/>
                    <token chunk="I-NP-singular" min="0" max="1"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NNP?" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re=".-VP" /><!-- incorrect chunking -->
                </antipattern>
                <antipattern>
                    <token>some</token>
                    <token>more</token>
                    <token>like</token>
                    <token>:</token>
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NNP?" />
                    <token regexp="yes">and|&amp;|or</token>
                    <token chunk="B-NP-plural" />
                    <token chunk="I-NP-plural" min="1" max="2" />
                    <token chunk="E-NP-plural" />
                </antipattern>
                <antipattern><!-- There are temperate broadleaf, mixed and coniferous forests. -->
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NNP?" />
                    <token>,</token>
                    <token chunk_re="B-NP-singular" min="0" />
                    <token chunk_re="E-NP-singular" />
                    <token min="0">,</token>
                    <token regexp="yes">and|&amp;|or</token>
                    <token chunk="B-NP-plural" />
                    <token chunk="I-NP-plural" min="0" max="2" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- There are temperate broadleaf, mixed and coniferous forests. -->
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NNP?" />
                    <token>,</token>
                    <token chunk_re="B-NP-plural" />
                    <token chunk_re="I-NP-plural" min="0" />
                    <token min="0">,</token>
                    <token regexp="yes">and|&amp;|or</token>
                    <token chunk="I-NP-plural" />
                    <token chunk="I-NP-plural" min="0" max="2" />
                    <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">user|customer</token>
                    <token>facing</token>
                    <token chunk_re=".-NP-plural" />
                </antipattern>
                <pattern>
                    <token>there</token>
                    <token regexp="yes">are|were</token>
                    <token chunk="B-NP-singular" min="0" max="1"/>
                    <token chunk="I-NP-singular" min="0" max="1">
                        <exception>,</exception>
                    </token>
                    <marker>
                        <token chunk="E-NP-singular" postag_regexp="yes" postag="NNP?">
                            <exception postag_regexp="yes" postag="CD|NN(PS|:UN?)"/>
                            <exception regexp="yes">several|small|possible|none|total|top|max</exception>
                            <exception regexp="yes">two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</exception>
                            <exception scope="next">'s</exception>
                            <exception scope="next" regexp="yes">de</exception>
                            <exception regexp="yes" scope="next">&hyphen_modifier;</exception>
                            <exception>Jones</exception>
                        </token>
                    </marker>
                </pattern>
                <message suppress_misspelled="yes">Possible agreement error. Did you mean <suggestion suppress_misspelled="yes"><match no="5" postag="NNP?S" postag_regexp="yes"/></suggestion>?</message>
                <short>Grammatical problem</short>
                <example correction="problems">There are many <marker>problem</marker> in Iraq.</example>
                <example correction="problems">There are a lot <marker>problem</marker> in Iraq but it is not a terrible situation.</example>
                <example correction="glows">There are <marker>glow</marker> under lights; the reflections on the water are beautiful.</example><!-- #2597 Missing article before 'lights', but that is a different problem. -->
                <example correction="defects">There are few <marker>defect</marker> with this test.</example>
                <example correction="computers">There are a few <marker>computer</marker> to test.</example>
                <example correction="groups">There are many <marker>group</marker> that we can use.</example>
                <example correction="couples">There are <marker>couple</marker> in the corner.</example>
                <example correction="books">There are no <marker>book</marker> in this library.</example>
                <example correction="kinds">There are many <marker>kind</marker> of computer vision systems, nevertheless...</example><!-- #3275 -->
                <example correction="lobbyists">SCE is opposing the bill but there are several <marker>lobbyist</marker> who think this is all an ambush and SCE would love this bill.</example>
                <example correction="Analysts">There are 94 <marker>Analyst</marker> and 70 Associates that will be coming on board this summer.</example>
                <example correction="kinds">There are two <marker>kind</marker> of costs.</example>
                <example correction="adults">There were only three <marker>adult</marker> in the room.</example>
                <example>There are many <marker>problems</marker> in Iraq.</example>
                <example>Other than this, there are no known surviving texts.</example>
                <example>There are many other deliberately insulting terms.</example>
                <example>There are a variety of other types.</example><!-- common usage, see Google ngram -->
                <example>There are ten known isoforms of adenylate cyclases in mammals.</example>
                <example>Among them there are Rachid Boudjedra, Rachid Mimouni, Leila Sebbar, and Tahar Djaout.</example>
                <example>Though there are several volunteer and semi-professional organizations.</example><!-- Fixed with #2597 -->
                <example>There is a whole lot of problems in Iraq.</example>
                <example>There are never fewer than eight of them on stage.</example>
                <example>There are some even now.</example>
                <example>There were the two of them - the brother and the sister.</example>
                <example>There are some more like:</example><!-- missing comma -->
                <example>There are no recalls or complaints on the Civic airbag system, although there are airbag recalls on other vehicles.</example>
                <example>There are <marker>food</marker> and waterborne diseases, bacterial and protozoal diarrhea, ...</example>
                <example>There are many Taxicab and Hackney carriage services on the Island.</example>
                <example>There are a boatload of events to attend outside of the panel.</example>
                <example>There are many small to middle wounds.</example><!-- #2597 -->
                <example>There are glow up lights.</example><!-- #2597 -->
                <example>Among the most noted interpreters, there are Bahdja Rahal, Cheikh El Hadj Mohamed El Ghafour...</example><!-- #2787 -->
                <example>There are very few left by what I understand.</example><!-- #2897 -->
                <example>There are only a few of them.</example><!-- #2897 -->
                <example>There are Christmas, Easter and Mother's Day.</example><!-- #2897 -->
                <example>There are a few letter sounds we can use.</example><!-- #2897 -->
                <example>There are a group of people.</example><!-- #2897 -->
                <example>There are a computer of mine that needs repairing.</example><!-- #2897. Found by Premium. -->
                <example>There are only few who do this.</example><!-- #2966 -->
                <example>There are a few out there.</example><!-- #2966 -->
                <example>There are several, including one by Millais.</example><!-- #2966 -->
                <example>There are just the two of us here.</example><!-- #2966 -->
                <example>There are a large number of other dodecahedra.</example><!-- #2966 -->
                <example>There are an infinite number of numbers.</example><!-- #2966 -->
                <example>There are 101 file sharing services out there already.</example><!-- #2966. Should be 'file-sharing services' -->
                <example>However, there are a vast variety of metal discuses to choose from.</example><!-- #2966 -->
                <example>And there are two inside.</example><!-- #2966 -->
                <example>There are no:</example><!-- #2966 -->
                <example>There are a good deal of books you can buy</example><!-- #2966 -->
                <example>But there are other, far more compelling reasons.</example><!-- #2966 -->
                <example>How many suicides do you think there are every year in Japan?</example><!-- Premium #1350 -->
                <example>There are every book in this library.</example><!-- Not correct, but do not give an incorrect suggestion. -->
                <example>There are very few tariff or non-tariff barriers to trade with...</example><!-- #3275 -->
                <example>There are some large tariff and non-tariff barriers to deal with.</example><!-- #3275 -->
                <example>There are a few tariff and non-tariff barriers to deal with.</example><!-- #3275 -->
                <example>There are no IR moves during the week.</example>
                <example>There are total of 11 schools that I am applying.</example><!-- missing "a" found by AI rule -->
                <example>There are total of 11 schools that I am applying.</example><!-- MFU 2021-05-12: Not the same as the previous sentence, which has a non-standard space character after 'total' -->
                <example>On the other hand, there are several language shift processes currently taking place.</example><!-- processes/B-VP -->
                <example>Richards said he is "actively pursuing" offering games, but there are no firm plans.</example>
                <example>This would imply that his brother Gundomar was already dead, though there are no specific mentions of the event in the sources.</example>
                <example>I too think there are some good tech buys, but the outlook for many ...</example>
                <example>... and there are many, several of which I have posted earlier.</example>
                <example>There are 27 web and 0 usenet hits for her name as a string.</example>
                <example>There are API's within the Android and iOS SDKs for noticing errors.</example>
                <example>There were 47 Christian and 25 Jewish families on Malta.</example>
                <example>There are 2 Tim Jones, Timothy Jones at ET&amp;S and Tim R Jones</example>
                <example>There are also possible linguistic and even physical survivals to be considered.</example>
                <example>There are temperate broadleaf, mixed and coniferous forests.</example>
            </rule>
        </rulegroup>

        <rulegroup id="THERE_WAS_MANY" name="Possible agreement error 'there was' + plural noun"><!-- modified copy of THERE_S_MANY -->
            <rule>
                <pattern>
                    <token>there</token>
                    <token>was</token>
                    <token postag="NNP?S" postag_regexp="yes">
                        <exception postag="NN:.*|NNP?|JJ.*|DT|RB" postag_regexp="yes"/>
                        <exception>lots</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>\1 were \3</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="there were updates">For more than one year <marker>there was updates</marker> daily.</example>
                <example correction="There were discussions"><marker>There was discussions</marker> about the money that I owe.</example>
                <example correction="There were grounds"><marker>There was grounds</marker> for his dismissal.</example>
                <example correction="There were communications"><marker>There was communications</marker> department handling the affair.</example>
                <example correction="there were updates">For more than one year <marker>there was updates</marker> every day.</example><!-- Refer to disambiguation VBZNNS_DT_NN. -->
                <example>For more than one year <marker>there were updates</marker> to the software.</example>
            </rule>
            <rule>
                <antipattern><!-- A children's party -->
                    <token regexp="yes">an?</token>
                    <token/>
                    <token postag="POS" chunk="B-NP-singular"/>
                </antipattern>
                <pattern>
                    <token regexp="yes">t?here<exception scope="previous" postag="IN"/></token>
                    <token>was</token>
                    <token postag="CD|DT|JJ.*" postag_regexp="yes"><exception postag="NN:.*|NNP?" postag_regexp="yes"/></token>
                    <token postag="NNP?S" postag_regexp="yes"><exception postag="NN:.*|NNP?|DT" postag_regexp="yes"/><exception scope="next" postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>\1 were \3 \4</suggestion>?</message>
                <short>Possible agreement error</short>
                <example correction="there were no updates">For almost one year <marker>there was no updates</marker> to the software.</example>
                <example correction="There were some discussions"><marker>There was some discussions</marker> about the money that I owe.</example>
                <example correction="There were no grounds"><marker>There was no grounds</marker> for his dismissal.</example>
                <example>For almost one year <marker>there were no updates</marker> to the software.</example>
                <example>There was no <marker>communications department</marker> handling the affair.</example>
                <example>To prove that <marker>there was no theatrics</marker> involved, he sent a picture.</example>
                <example>There was a children's party.</example>
            </rule>
        </rulegroup>
        <rule id="A_LOT_OF_NN" name="Possible agreement error: 'a lot/bunch/couple of' + singular countable noun">
            <antipattern>
                <token inflected="yes">do</token>
                <token>a</token>
                <token regexp="yes">lot|bunch|couple|lack|number|pair|handful</token>
                <token>of</token>
                <token postag="NNP?" postag_regexp="yes"/>
                <token postag="VBG"/>
            </antipattern>
            <antipattern><!-- it is a lot of ... -->
                <token regexp="yes">is|'s</token>
                <token>a</token>
                <token>lot</token>
                <token>of</token>
                <token postag="NNP?" postag_regexp="yes" chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token postag="JJ" chunk="E-NP-singular" />
                <token regexp="yes">and|or|&amp;</token>
                <token chunk="B-NP-plural" />
            </antipattern>
            <antipattern><!-- He reminds me a lot of my dad. -->
                <token>a</token>
                <token>lot</token>
                <token>of</token>
                <token postag="PRP\$|DT" postag_regexp="yes" />
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern><!-- A lot of stop and go -->
                <token chunk="E-NP-singular">stop</token>
                <token regexp="yes">and|&amp;</token>
                <token>go</token>
            </antipattern>
            <antipattern><!-- A lot of eye contact -->
                <token chunk="E-NP-singular">eye</token>
                <token>contact</token>
            </antipattern>
            <antipattern><!-- A lot of internet traffic -->
                <token chunk="E-NP-singular">internet</token>
                <token>traffic</token>
            </antipattern>
            <antipattern><!-- A lot of Node.js services -->
                <token chunk="E-NP-singular" />
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\w+</token>
            </antipattern>
            <antipattern><!-- I have a lot of triangle like elements -->
                <token chunk="E-NP-singular" postag="NNP?" postag_regexp="yes" />
                <token regexp="yes">like|&hyphen_modifier;</token>
                <token chunk="B-NP-plural" />
            </antipattern>
            <antipattern><!-- I haven't seen a lot of Tom recently -->
                <token>a</token>
                <token>lot</token>
                <token>of</token>
                <token regexp="yes" chunk="E-NP-singular">karma|[GC]PU|UNO|UNESCO|Harry|Matt|Mike|Trump|Jack|Tom</token>
            </antipattern>
            <antipattern><!-- ... a number of Lincoln learning centers in Afghanistan. -->
                <token>of</token>
                <token postag="NNP?" postag_regexp="yes" chunk="E-NP-singular" />
                <token postag="VBG" />
                <token postag="NNS" chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern><!-- Functional average of a number of field operator is called correlation function or correlator. -->
                <token chunk_re="E-NP-singular" postag="NNP?|NN:UN?" postag_regexp="yes" />
                <token>of</token>
                <token regexp="yes" skip="5">an?</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">an?</token>
                    <token postag="JJR?" postag_regexp="yes" min="0" />
                    <token regexp="yes">lot|bunch|couple|lack|number|pair|handful</token>
                    <token>of</token>
                    <token min="0" chunk="B-NP-singular">
                        <exception regexp="yes">\p{P}|an?|each</exception>
                    </token>
                    <token postag="NNP?" postag_regexp="yes" chunk="E-NP-singular">
                        <exception postag="NN:U|NNP?S|IN" postag_regexp="yes"/>
                        <exception regexp="yes">mine|while|cushion</exception>
                        <exception scope="next" regexp="yes">&apostrophe;.*</exception>
                        <exception scope="next" postag="NNS" />
                    </token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">Possible agreement error. The noun <match no="6"/> seems to be countable; consider using: <suggestion>a <match no="2"/> \3 \4 \5 <match no="6" postag="NNP?S" postag_regexp="yes"/></suggestion>.</message>
            <short>Grammatical problem</short>
            <example correction="a lot of cars">I have <marker>a lot of car</marker>.</example>
            <example correction="a couple of anomalies">There are <marker>a couple of anomaly</marker>.</example>
            <example correction="a bunch of idiots">What <marker>a bunch of idiot</marker>.</example>
            <example correction="a lot of things">There a are <marker>a lot of thing</marker> to do.</example>
            <example correction="a lot of things">There a are <marker>a lot of thing</marker> to do.</example>
            <example correction="a number of anomalies">There are <marker>a number of anomaly</marker>.</example>
            <example correction='A great number of problems'><marker>A great number of problem</marker> can be prevented.</example>
            <example>I have <marker>a lot of wine</marker>.</example>
            <example>I did <marker>a lot of rat</marker> killing.</example>
            <example>It steals a lot of <marker>CPU power</marker> just like Facebook...</example><!-- https://forum.languagetool.org/t/en-possible-false-positive-2019-08-27/4662 -->
            <example type="triggers_error">A lack of vowel marking (often with ambiguity between no vowel an...</example>
            <example type="triggers_error">Some of that MPG drop is more so due to a lack of highway driving lately.</example>
            <example type="triggers_error">There are a number of the SEC why we're inserting it now.</example>
            <example>...e of the state banks, a weak financial market and a lack of bank transparency.</example>
            <example>I have a lot of time.</example>
            <example>We need a lot of fuel.</example>
            <example>Tom reminds me a lot of my dad.</example>
            <example>I don’t mean hot rodding, but a lot of stop and go with a lot of turns.</example>
            <example>Thankfully, a lot of mine are past the 8 issue and 14 is a long way off.</example>
            <example>I put on a lot of sunscreen, but I still got a bad sunburn.</example>
            <example>A number of different chemical and physical processes and mechanisms can be involved in the process of emulsification.</example>
            <example>So you have to be prepared for a lot of churn.</example>
            <example>It can cause a lot of damage.</example>
            <example>It has a lot of CPU power.</example>
            <example>I have a lot of triangle like elements.</example>
            <example>A lot of California used to be under water.</example>
            <example>She has a lot of book work to do.</example>
            <example>There is a lot of tear gas going to the floor.</example>
            <example>I am receiving a lot of invalid URL hits to our server.</example>
            <example>This actually could save a lot of space while also looking good.</example>
            <example>There’s a lot of upside to leaving it in.</example>
            <example>I have read a lot of Kate Atkinson so far.</example>
            <example>I played a lot of UNO with her.</example>
            <example>There are a lot of Middle Eastern countries.</example>
            <example>The virus spread to a lot of East Africa.</example>
            <example>I've seen a lot of Tom recently.</example>
            <example>A great number of <marker>problems</marker> can be prevented.</example>
            <example>The effective temperatures of a great number of peculiar (Ap) and metallic line (Am) stars are reduced to one system.</example><!-- #2676 -->
            <example>A great number of problem conditions can arise.</example><!-- #2676 -->
            <example>A nearby pair of a vacancy and an interstitial is often called a Frenkel defect or Frenkel pair.</example>
            <example>A decent number of out of the money $19 calls were exercised last night, we haven't seen that play in some time.</example>
            <example>I’ve got a bunch of Node.js services hooked up to new relic.</example>
            <example>It appears that my evil twin went out last night and proceeded to get in peoples faces and talk a lot of smack, as well as leave messages on answering machines.</example>
            <example>I hope to open a bunch of the investor owned utilities for general trading.</example>
            <example>I think by fixing the rate like this we are leaving a lot of money behind.</example>
            <example>He thinks the best person is probably someone from KJ who does a lot of stuff up there.</example>
            <example>I've got a bunch of volunteer work that I've been doing, and I'm booked up through the 17th.</example>
            <example>Many languages have <marker>a lot of inconsistency</marker>.</example><!-- www.lexico.com/definition/inconsistency -->
            <example>We've lost a lot of cushion and I predict that the fourth quarter will be even worse.</example>
            <example>EPower is taking a lot of Mark's time.</example>
            <example>In 2010, the United States began establishing a number of Lincoln learning centers in Afghanistan.</example>
            <example>Functional average of a number of field operator is called correlation function or correlator.</example>
            <example type="triggers_error">A bytecode-compiling implementation, portable and runs on a number of Unix and Unix-like systems (including Mac OS X), as well as Microsoft Windows and several other systems.</example>
        </rule>
        <rulegroup id="A_COLLECTIVE_OF_NN" name="Possible agreement error: 'a + collective noun + of' + singular countable noun"><!-- #2141 -->
            <short>Grammatical problem</short>
            <rule>
            <!-- Created by Tiago F. Santos, 2019-11-10. Changes by MFU 2019-11-27 and later -->
                <antipattern><!-- Usually hyphenated, but www.lexico.com/en/definition/polka_dot shows many unhyphenated examples -->
                    <token>of</token>
                    <token>polka</token>
                    <token>dot</token>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern>
                    <token>chief</token>
                    <token>of</token>
                    <token>staff</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">&collective_nouns;</token>
                        <token>of</token>
                        <token chunk="E-NP-singular" postag="NN">
                            <exception postag="NN:U|NNP?S|JJ.*|PRP\$" postag_regexp="yes"/>
                            <exception>int</exception>
                        </token>
                    </marker>
                    <token>
                        <exception postag="NNP?S" postag_regexp="yes"/>
                        <exception>'s</exception>
                    </token>
                </pattern>
                <message suppress_misspelled="yes">Possible agreement error. The noun '<match no="3"/>' seems to be countable; consider using: <suggestion><match no="1"/> of <match no="3" postag="N.*" postag_regexp="yes" postag_replace="NNS" /></suggestion>.</message>
                <example correction="collection of books">The library has a <marker>collection of book</marker>.</example>
                <example correction="multitude of birds">A <marker>multitude of bird</marker> exist.</example>
                <example correction="glossary of terms">This <marker>glossary of term</marker> is not correct.</example>
                <example>The library has a <marker>collection of books</marker>.</example>
                <example>The library has a range of <marker>book and gift tokens</marker>.</example>
                <example>... pottery (including the stunning terracotta army of Emperor Qin), poetry, calligraphy, music,...</example>
                <example>This range of engine capacity allowed for both fuel economy and power...</example>
                <example>Their range of server software includes the operating system OS X Serve...</example>
                <example>A large collection of archive material, including scanned screenplays, photos a...</example>
                <example>... was a stop-gap collection of Sketch magazine stories, for money when her husband left...</example>
                <example>Here are a bunch of mine:</example><!-- Ambiguous. Can parse 'mine' as PRPS or NN. Found by A_LOT_OF_NN -->
                <example>She bought two pairs of polka dot stockings.</example>
                <example>He is chief of staff of army.</example>
                <example>It could easily exceed the range of int.</example><!-- https://en.wiktionary.org/wiki/int#Noun -->
                <example type="triggers_error">The William Burges collection of armoury was bequeathed to the museum in 1881.</example><!-- I did not find 'armoury' as NN:U -->
                <example>A small army of IoT and IT professionals.</example>
            </rule>
            <rule><!-- Glossary of term and acronyms -->
                <antipattern><!-- range of [book and gift] tokens -->
                     <token>of</token>
                     <token chunk="B-NP-plural" postag="NN"/>
                     <token regexp="yes">and|or</token>
                     <token/>
                     <token postag="NNS"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">&collective_nouns;</token>
                        <token>of</token>
                        <token chunk="B-NP-plural" postag="NN">
                            <exception postag="NN:U|NNP?S|JJ.*" postag_regexp="yes"/>
                            <exception>int</exception>
                        </token>
                     </marker>
                     <token regexp="yes">and|or</token>
                     <token/>
                </pattern>
                <message>Possible agreement error. The noun '<match no="3"/>' seems to be countable; consider using: <suggestion><match no="1"/> of <match no="3" postag="NNS"/></suggestion>.</message>
                <example correction="Glossary of terms"><marker>Glossary of term</marker> and acronyms</example><!-- term/B-NP-plural -->
                <example correction="range of books">The library has a <marker>range of book</marker> and gifts</example>
                <example><marker>Glossary of terms</marker> and acronyms</example>
                <example>The library has a range of book and gift tokens.</example>
            </rule>
        </rulegroup>
        <rule id="LOTS_OF_NN" name="Possible agreement error: 'lots/plenty of' + singular countable noun">
            <antipattern>
                <token>of</token>
                <token postag="NNP?" postag_regexp="yes" chunk_re="E-NP-singular" />
                <token regexp="yes">&hyphen_modifier;</token>
                <token chunk_re=".-NP.*" postag="UNKNOWN|JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">lots|plenty</token>
                    <token>of</token>
                    <token postag="NNP?" postag_regexp="yes" chunk_re="E-NP-singular"><exception postag="NN:.*|NNP?S|JJ.*" postag_regexp="yes"/></token>
                </marker>
                <token><exception postag="NNP?S|NN:U.*" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
            </pattern>
            <message suppress_misspelled="yes">Possible agreement error. The noun <match no="3"/> seems to be countable; consider using: <suggestion><match no="1"/> of <match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>.</message>
            <short>Grammatical problem</short>
            <example correction="lots of books">I have got <marker>lots of book</marker>.</example>
            <example>I have got <marker>lots of wine</marker>.</example>
            <example>There are lots of Internet based foreign exchanges, and none that I have actually seen support buyer to buyer transactions.</example>
        </rule>
        <rule id="STARS_AND_STEPS" name="Missing hyphen: number + page/step/star">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token regexp="yes">star|page|slide|step</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="JJ.*|RB.*|CC|DT|PRP.*" postag_regexp="yes" />
                    <exception regexp="yes">sons?|daughters?|fathers?|mothers?|famil(ies|y)|dads?|m[ou]ms?|edits|views|visits</exception>
                </token>
            </pattern>
            <message>'<match no="1" /> <match no="2" />' is missing a hyphen.</message>
            <suggestion><match no="1" />-<match no="2" /></suggestion>
            <example correction="4-page">Please check my <marker>4 page</marker> survey.</example>
            <example correction="five-star">I spend my vacation only in <marker>five star</marker> hotels.</example>
            <example>I would recommend this <marker>5-star</marker> restaurant.</example>
            <example>My 2 step daughters hate me.</example>
            <example>I received 5 stars on GitHub.</example>
            <example>On 6 July 2017, the Spanish Wikipedia exceeded 100,000,000 page edits.</example>
            <example>Facebook reached one trillion page views in the month of June 2011.</example>
            <example type="triggers_error">Let Q be a set enclosed between two <marker>step regions</marker> S and T. A step region is formed from a ...</example><!-- 'step region' is a 2-word technical term www.cambridge.org/core/journals/robotica/article/increase-the-feasible-step-region-of-biped-robots-through-active-vertical-flexion-and-extension-motions/063AF130B5E3F0A1BA689FF18321C3A0 -->
        </rule>
        <rule id="HAD_TOO" name="confusion of 'too' and 'to'">
            <antipattern>
                <token skip="1">too</token>
                <token regexp="yes">many|much</token>
            </antipattern>
            <pattern>
                <token regexp="yes">had|want(ed)?|need(ed)?|have|has</token>
                <token min="0">not</token>
                <marker>
                    <token>too</token>
                </marker>
                <token postag="VB" />
            </pattern>
            <message>Did you mean <suggestion>to</suggestion>?</message>
            <example correction="to">They wanted <marker>too</marker> have more.</example>
            <example correction="to">They had <marker>too</marker> short it.</example>
            <example correction="to">Democrats would have <marker>too</marker> narrow a majority and each senator's individual power in the legislative process is too great for that.</example>
            <example>Sorry, between @CJK, @ccstone and @commanderclif, this thread has too darn many c-names!</example>
        </rule>
        <rulegroup id="HAD_TWO" name="confusion of 'two' and 'to'">
            <rule>
                <antipattern>
                    <token skip="4">two</token>
                    <token postag="UNKNOWN|NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token skip="4">two</token>
                    <token>ups</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">had|want(ed)?|need(ed)?|have</token>
                    <token min="0">not</token>
                    <marker>
                        <token>two</token>
                        <token postag="VB">
                            <exception postag="VBD" />
                            <exception postag="IN" />
                            <exception regexp="yes">factor|setup</exception><!-- "two factor" (FACTOR_HYPHEN handles this) -->
                        </token>
                    </marker>
                </pattern>
                <message>The expression '\3 \4' seems incorrect in this context.</message>
                <suggestion>to \4</suggestion>
                <suggestion suppress_misspelled="yes">two <match no="4" postag_regexp="yes" postag="NN(P?).*" postag_replace="NN$1S" /></suggestion>
                <example correction="to reason|two reasons">Now I have <marker>two reason</marker> to do this</example>
                <example correction="to question|two questions">I have <marker>two question</marker>.</example>
                <example>I have two Garage doors</example>
                <example>They may even have two out.</example>
                <example>I would think that the central books should have two set up, one for P/B/I and one for GD.</example>
                <example>I only had two screw ups this week.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TEN_FOLD" name="'ten fold' written as one word">
            <antipattern>
                <token>two</token>
                <token>fold</token>
                <token regexp="yes">clothing|pt|album</token>
            </antipattern>
            <antipattern>
                <token>ten</token>
                <token>fold</token>
                <token regexp="yes">engineering|units?|tech(nology|nologies)?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>ten</token>
                    <token>fold</token>
                </pattern>
                <message>The adjective, adverb or verb 'tenfold' needs to be written as one word.</message>
                <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/tenfold</url>
                <example>Ten Fold Technology is a company from the UK.</example>
                <example correction="tenfold">After he returned to his normal self, the nausea had returned <marker>ten fold</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>two</token>
                    <token>fold</token>
                </pattern>
                <message>The adjective or adverb 'twofold' needs to be written as one word.</message>
                <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/en/definition/twofold</url>
                <example>Two Fold Clothing.</example>
                <example>Two Fold Pt. 1 is the fifth studio album by Martin Vogt.</example>
                <example correction="twofold">It's a <marker>two fold</marker> increase in the risk.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CD">
                        <exception>one</exception>
                    </token>
                    <token>fold</token>
                </pattern>
                <message>It appears that a hyphen is missing in the adjective or adverb <suggestion>\1-\2</suggestion>?</message>
                <example correction="3-fold">The US sees a <marker>3 fold</marker> increase of deaths due to corona.</example>
            </rule>
        </rulegroup>
        <rule id="FACTOR_HYPHEN" name="missing hyphen in 'two factor auth'">
            <pattern>
                <marker>
                    <token regexp="yes">1|2|3|one|two|three|multi</token>
                    <token>factor</token>
                </marker>
                <token regexp="yes">auth|authentications?|authori[sz]ations?|theory|graph|models?|app|pcc|logins?|accounts?|theorem|codes?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://en.wikipedia.org/wiki/Multi-factor_authentication</url>
            <example correction="2-factor">He enabled <marker>2 factor</marker> auth to protect his Facebook account.</example>
        </rule>
        <rule id="EASY_GOING_HYPHEN" name="missing hyphen in 'easy going'">
            <pattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ.*|RB" postag_regexp="yes" min="0" />
                <marker>
                    <token>easy</token>
                    <token>going</token>
                </marker>
            </pattern>
            <message>The adjective <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
            <example correction="easy-going">He is an <marker>easy going</marker> person.</example>
        </rule>
        <rule id="RED_LIGHT_HYPHEN" name="missing hyphen in 'red light district'">
            <pattern>
                <token>red</token>
                <token>light</token>
                <token regexp="yes">districts?|streets?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2 \3</suggestion>
            <url>https://www.merriam-webster.com/dictionary/red-light</url>
            <example correction="red-light district">A <marker>red light district</marker> is a part of an urban area where a concentration of prostitution and sex-oriented businesses are found.</example>
        </rule>
        <rule id="MONEY_BACK_HYPHEN" name="missing hyphen in 'money back guarantee'"><!-- needs higher prio than A_UNCOUNTABLE -->
            <pattern>
                <token>money</token>
                <token>back</token>
                <token regexp="yes">guarantees?|polic(y|ies)|warrant(y|ies)|deals?|offers?</token>
            </pattern>
            <message>In this phrase "money-back" is an adjective and needs to be spelled with a hyphen.</message>
            <suggestion>\1-\2 \3</suggestion>
            <url>https://www.merriam-webster.com/dictionary/money-back</url>
            <example correction="money-back guarantee">We offer a 14-day <marker>money back guarantee</marker>.</example>
        </rule>
        <rule id="WEEK_LONG_HYPHEN" name="A week long (week-long) vacation">
            <pattern>
                <token regexp="yes">an?|the|this|th[oe]se|my|y?our|their|his|her|s|of</token>
                <token postag="JJ.*" postag_regexp="yes" min="0">
                    <exception postag="CD" />
                    <exception regexp="yes">several|few|.*dozen</exception>
                </token>
                <marker>
                    <token regexp="yes">hour|day|week|month|year</token>
                    <token regexp="yes">long|old</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="IN|PRP.*|MD|RB" postag_regexp="yes" />
                </token>
            </pattern>
            <message>It appears that a hyphen is missing in the adjective <suggestion>\3-\4</suggestion>.</message>
            <example correction="week-long">He's going on a <marker>week long</marker> vacation.</example>
            <example>It is about a year old now.</example>
        </rule>
        <rule id="HANDS_FREE_HYPHEN" name="hands free (hands-free)">
            <pattern>
                <marker>
                    <token>hands</token>
                    <token>free</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="IN|PRP\$?|CC" postag_regexp="yes" />
                </token>
            </pattern>
            <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
            <url>https://www.merriam-webster.com/dictionary/hands-free</url>
            <example correction="hands-free">He is using a <marker>hands free</marker> device.</example>
            <example correction="hands-free">A <marker>hands free</marker> cell phone.</example>
        </rule>
        <rule id="BARE_BONES_HYPHEN" name="bare bones (bare-bones)">
            <pattern>
                <marker>
                    <token>bare</token>
                    <token regexp="yes">bones?</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="IN|PRP\$?|CC" postag_regexp="yes" />
                </token>
            </pattern>
            <message>This adjective is spelled <suggestion>bare-bones</suggestion>.</message>
            <url>https://www.merriam-webster.com/dictionary/bare-bones</url>
            <example correction="bare-bones">Meals on early space flights were <marker>bare bones</marker> affairs.</example>
            <example correction="bare-bones">I had a 1986 <marker>bare bones</marker> Toyota that left the factory without a radio and speakers.</example>
            <example>He had only been taught the bare bones of the system, but carried on regardless.</example>
        </rule>
        <rulegroup id="GUEST_EDIT_HYPHEN" name="guest edit (guest-edit)">
            <url>https://www.lexico.com/definition/guest-edit</url>
            <rule>
                <pattern>
                    <token postag="NNP|PRP|MD" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guest</token>
                        <token inflected="yes">edit</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guest-edited">He <marker>guest edited</marker> this issue.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="VB.*" />
                    <token postag="TO" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guest</token>
                        <token>edit</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="guest-edit">He was invited to <marker>guest edit</marker> the latest issue.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guest</token>
                        <token>editing</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guest-editing">He has been <marker>guest editing</marker> this article.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guest</token>
                        <token>edited</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guest-edited">He has <marker>guest edited</marker> this article.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>guest</token>
                        <token inflected="yes">edit</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="guest-edited">He hasn't yet <marker>guest edited</marker> this article.</example>
            </rule>
        </rulegroup>
        <rule id="LIFE_CHANGING_HYPHEN" name="missing hyphen in 'life changing moments'">
            <pattern>
                <marker>
                    <token>life</token>
                    <token>changing</token>
                </marker>
                <token regexp="yes">decisions?|experiences?|moments?|events?|lessons?|moves?|conversations?|therap(y|ies)|journeys?|opportunit(y|ies)|books?|stor(y|ies)|magic|powers?|steps?|medicines?</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>\1-\2</suggestion> (spelled with a hyphen)?</message>
            <url>https://www.lexico.com/definition/life-changing</url>
            <example correction="life-changing">He really taught me a <marker>life changing</marker> lesson.</example>
        </rule>
        <rulegroup id="POST_IT_NOTE_HYPHEN" name="The post it (post-it) note">
            <url>https://www.merriam-webster.com/dictionary/Post-it</url>
            <rule>
                <pattern>
                    <marker>
                        <token>post</token>
                        <token>it</token>
                        <token regexp="yes">notes?</token>
                    </marker>
                </pattern>
                <message>The brand name '\1-\2' is spelled with a hyphen.</message>
                <suggestion>\1-\2 \3</suggestion>
                <example correction="post-it note">He wrote it on a <marker>post it note</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>post</token>
                        <token>it</token>
                    </marker>
                    <token postag="PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>It appears that a hyphen is missing if you mean the sticky note.</message>
                <suggestion>\3-\4</suggestion>
                <example correction="post-it">He wrote it on a <marker>post it</marker>.</example>
                <example correction="post-it">Please put a <marker>post it</marker> on my table.</example>
            </rule>
        </rulegroup>
        <rule id="BIT_HYPHEN" name="missing hyphen in 'a 32 bit processor'">
            <pattern>
                <marker>
                    <token regexp="yes">8|16|32|64|128|256|512|1024|2048|4096</token>
                    <token>bit</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">systems?|platforms?|computers?|processors?|tokens?|hand\-?helds?|games?|apple|windows|intel|crc|arm|rsa|ssh|ssl|aes|sha|cpus?|ids?|gpus?|pcs?|monitors?|hash(es)?|music|arts?|floats?|pixels?|wep|decimal|random|keys?|encryption|encrypted|signed|memory|operating|os|data|personal|audio|address|graphics?|colou?rs?|coin|integers?|units?|java|jre|jdk|microprocessors?|microcontrollers?|linux|kernels?|arch(itectures)?s?|check|android|numbers?|intervals?|parallel|serials?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="2048-bit">The website had a <marker>2048 bit</marker> encryption.</example>
            <example correction="16-bit">He was playing <marker>16 bit</marker> games on his old video console.</example>
            <example>The encryption strength was only <marker>512 bit</marker>.</example>
        </rule>
        <rule id="ROOM_APARTMENT_HYPHEN" name="missing hyphen in '2 room apartment'">
            <pattern>
                <marker>
                    <token regexp="yes">[1-8]|one|two|three|four|five|six|seven|eight</token>
                    <token regexp="yes">bed|(bed|bath)?room|bath</token>
                </marker>
                <token min="0">dormer</token>
                <token regexp="yes">apartments?|tents?|bungalows?|flats?|flexis?|houses?|condos?|cabins?|villas?|hotel|suites?|schoolhouse|rental|accommodations?|cottages?|basement|mansions?|hospitals?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="2-room">He lives in a small <marker>2 room</marker> apartment.</example>
            <example correction="3-bedroom">The old woman lived in a <marker>3 bedroom</marker> house by herself.</example>
            <example correction="2-bath">A <marker>2 bath</marker> apartment.</example>
        </rule>
        <rule id="DOOR_HYPHEN" name="missing hyphen in '2 door coupe'">
            <pattern>
                <marker>
                    <token regexp="yes">2|3|4|5|6|7|8|two|three|four|five|six|seven|eight</token>
                    <token>door</token>
                </marker>
                <token regexp="yes">coup[eé]s?|cars?|vans?|jeeps?|sports|honda|toyota|sedans?|mustang|porsche|camaro|refrigerators?|convertibles?|suv|hatchbacks?|pickups?|trucks?|wardrobes?|ford|bmw|benz|mercedes|audi|vw|tesla|challenger</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="2-door">He drives a <marker>2 door</marker> coupé.</example>
        </rule>
        <rulegroup id="STORY_HYPHEN" name="missing hyphen in '10 story window'">
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token regexp="yes">story|floor</token>
                    </marker>
                    <token min="0" />
                    <token regexp="yes">window|plan|rentals?|unit|(tree|town|ware)?houses?|duplex|garages?|houses?|advertisement|ad|buildings?|bldgs?|porch|skyscrapers?|slide|mansions?|apartments?|airplanes?|towers?|sheds?|office|homes?|bookstores?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="10-story">Violent Affair guitarist falls out of <marker>10 story</marker> building.</example>
            </rule>
        </rulegroup>
        <rule id="FOUR_SEASON_HYPHEN" name="missing hyphen in '4 season tent'">
            <pattern>
                <marker>
                    <token regexp="yes">4|four|all</token>
                    <token>season</token>
                </marker>
                <token min="0" />
                <token regexp="yes">porch(es)?|rooms?|tents?|gloves?|tires?|storage|tickets?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="4-season">He has <marker>4 season</marker> tires on his car.</example>
        </rule>
        <rule id="HOUR_HYPHEN" name="missing hyphen in '24 hour motel'">
            <antipattern>
                <token>response</token>
                <token>time</token>
            </antipattern>
            <antipattern><!-- 5:33 minute -->
                <token>:</token>
                <token regexp="yes" spacebefore="no">\d+</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token regexp="yes">hour|minute|min|(milli)?second</token>
                </marker>
                <token min="0">
                    <exception postag="DT|IN|CD" postag_regexp="yes" />
                    <exception regexp="yes">'s|per|\p{P}</exception>
                </token>
                <token regexp="yes">halt|ad|dose|advertisements?|demo|pitch(es)?|commercials?|civics|show-?down|strategy|quiz|videos?|riddles?|scrubs?|walmarts?|runoffs?|pharmac(y|ies)|motels?|hotels?|convenience|walgreens|fitness|gyms?|laundromats?|autozones?|mcdonalds?|forecasts?|myster(y|ies)|weather|lag|jobs?|shifts?|workouts?|clock|desks?|drive|events?|lessons?|call|days?|timestamps?|timer|sessions?|services?|journeys?|hikes?|trainings?|sleep|meeting|deal|period|patrols|panic|operation|level|update|rule|standoffs?|response|timeframe|format|cycles?|surger(y|ies)|walk|delays?|notice|difference|countdown|battery|conversations?|naps?|projects?|ride|rescue|block|trips?|rest|visit|breaks?|delivery|queue|marathons?|window|contractors?|controllers?|workweeks?|workdays?|moment|plank|sprint|transcript|average|avg|movies?|film|episodes?|performance</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="24-hour">The <marker>24 hour</marker> walmart never closes down.</example>
            <example correction="12-hour">He was working six <marker>12 hour</marker> days.</example>
            <example correction="15-minute"><marker>15 minute</marker> workout, starting at 6:30pm.</example>
            <example>I bet you play one hour a day.</example>
            <example>I exercise for 1 hour every day.</example>
            <example>5 hour per day gambling trip.</example>
            <example>One hour of sleep before midnight is worth two hours after.</example>
            <example>Conditioning: treadmill 10 minutes @ 3% incline - sprint @ 7 mph for 1 minute, walk @ 3 mph for 1 minute</example>
            <example>If one assumes 24 hour/day operation for 360 days/year.</example>
            <example>It is located one hour's drive from Barcelona.</example>
        </rule>
        <rule id="WEEK_HYPHEN" name="missing hyphen in '8 week semester'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>week</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">pause|semesters?|pandemi[ac]|vacation|holiday|notice|diets?|periods?|moving|streak|cycles?|arrangements?|routine|gym|plan|work\-?out|project|pregnancy|fetus|trip|training|program|courses?|highs?|lows?|trial|rotation|intervals?|warranty|delivery|median|lock-?down|shut-?down|decline|sprints?|average|avg</token>
            </pattern>
            <message>When a time span like '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="two-week">He's going on a <marker>two week</marker> vacation.</example>
        </rule>
        <rule id="MONTH_HYPHEN" name="missing hyphen in '2 month cycle'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>month</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">pause|semesters?|routine|periods?|intervals?|cycles?|diets?|notice|plan|project|warranty|median|vacation|holiday|trip|milestone|pandemi[ac]|lockdown|shutdown|term|contract|decline|sentence|calendar|intern(ships?)?|training|traineeships?|loans?|forecasts?|hibernation|delivery|lock-?down|shut-?down|decline|sprints?|average|avg</token>
            </pattern>
            <message>When a time span like '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="two-month">He's going on a <marker>two month</marker> vacation.</example>
        </rule>
        <rule id="YEAR_HYPHEN" name="missing hyphen in '2 month cycle'">
            <antipattern><!-- "the two hundred year history" (TODO: needs different rule) -->
                <token postag="CD" />
                <token postag="CD" />
                <token>year</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>year</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">halts?|routine|periods?|intervals?|cycles?|notice|plan|project|warranty|median|reign|span|sentences?|mortgages?|anniversar(y|ies)|refinance|milestones?|loans?|treat(y|ies)|history|battle|lease|hibernation|average|avg</token>
            </pattern>
            <message>When a time span like '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="two-year">The <marker>two year</marker> cycle.</example>
        </rule>
        <rule id="FIGURE_HYPHEN" name="missing hyphen in '7 figure salary'">
            <antipattern>
                <token>more</token>
                <token regexp="yes">th[ea]n</token>
                <token>one</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>figure</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">salar(ies|y)|jobs?|business|revenues?|sum|developer|compensation|income|earner|number|profits?|deals?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="6-figure">He earns a <marker>6 figure</marker> salary.</example>
        </rule>
        <rule id="CYLINDER_HYPHEN" name="missing hyphen in '8 cylinder engine'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>cylinder</token>
                </marker>
                <token regexp="yes">motor|engines?|cars?|truck|pick\-?up|jeeps?|diesel|suvs?|turbos?|mustangs?|hatchbacks?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="8-cylinder">His car has a <marker>8 cylinder</marker> engine.</example>
        </rule>
        <rule id="CAR_HYPHEN" name="missing hyphen in 'four car garage'">
            <pattern>
                <marker>
                    <token regexp="yes">2|two|3|three|4|four|5|five|6|six</token>
                    <token>car</token>
                </marker>
                <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                <token>garage</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="4-car">He parks his van in a <marker>4 car</marker> basement garage.</example>
        </rule>
        <rule id="DEGREE_HYPHEN" name="missing hyphen in '10 degree angle'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>degree</token>
                </marker>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">angle|rotation|photos?|panoramas?|cameras?|circles?|marketing|evaluation|videos?|assessments?|appraisals?|system|feedback|turn|elbow|surface|drill|corners?|tilt|ovens?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="10-degree">He looked at it from a <marker>10 degree</marker> angle.</example>
        </rule>
        <rule id="PIECE_HYPHEN" name="missing hyphen in '125 piece puzzle'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>piece</token>
                </marker>
                <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                <token regexp="yes">puzzles?|jigsaw|wardrobe|canvas|set|outfit|suit|luggage|bands?|quantit(y|ies)|orchestra|units?|kits?|constructions?|systems?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="100-piece">He wanted to finish the <marker>100 piece</marker> puzzle before dawn.</example>
        </rule>
        <rulegroup id="CARAT_HYPHEN" name="missing hyphen in '30 carat gold'">
            <url>https://www.lexico.com/definition/carat</url>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token regexp="yes">[ck]arat</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">gold|emeralds?|bracelets?|diamonds?|rings?|tiffany|cut|asscher|chains?|wedding|earrings?|heart\-?shaped|necklaces?</token>
                </pattern>
                <message>A hyphen is missing if you mean the unit of fineness (gold, diamonds).</message>
                <suggestion>\1-\2</suggestion>
                <example correction="18-karat">She was wearing an <marker>18 karat</marker> gold bracelet.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token postag="CD" />
                        <token regexp="yes">[ck]arat</token>
                    </marker>
                </pattern>
                <message>A hyphen is missing if you mean the unit of fineness (gold).</message>
                <suggestion>\3-\4</suggestion>
                <example correction="18-karat">She wanted the <marker>18 karat</marker> for her birthday.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WHEEL_HYPHEN" name="missing hyphen in '4 wheel drive'">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">two|2|three|3|four|4|five|5|six|6|eight|8</token>
                        <token>wheel</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">drives?|driving|trucks?|cars?|(motor)?bikes?|bicycles?|atvs?|suvs?|jeeps?|doll(y|ies)|f1|mercedes(\-benz)?|scooters?|motion|rickshaws?|alignment|tractors?|skateboards?|trucks?|wagons?|rover|bmw|audi|vw|vehicles?|van|bus|tesla</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://www.lexico.com/definition/four-wheel_drive</url>
                <example correction="four-wheel">He owns a <marker>four wheel</marker> drive.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">two|2|three|3|four|4</token>
                        <token>wheeler</token>
                    </marker>
                </pattern>
                <message>When '\3-\4' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\3-\4</suggestion>
                <url>https://www.lexico.com/definition/two-wheeler</url>
                <example correction="two-wheeler">He owns a <marker>two wheeler</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COURSE_HYPHEN" name="missing hyphen in '3 course meal'">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">2|two|3|three|4|four|5|five|6|six|7|seven|8|eight|9|nine|10|ten|11|eleven|12|twelve|full</token>
                        <token>course</token>
                    </marker>
                    <token min="0" />
                    <token regexp="yes">menus?|dinners?|meals?|feast|lunch(es)?|breakfasts?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="4-course">He enjoyed the <marker>4 course</marker> dinner.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|\d{1,2}</token>
                        <token regexp="yes">course|string</token>
                    </marker>
                    <token min="0" />
                    <token regexp="yes">guitars?|instrument|bass|ukuleles?|lyres?|banjos?|violins?|mandolins?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="four-course">Over the past 85 years, the Renaissance <marker>four course</marker> guitar has been researched and written about sporadically</example>
                <example>Among national musical instruments there are 14 string instruments, eight percussion instruments and six...</example>
            </rule>
        </rulegroup>
        <rule id="INCH_HYPHEN" name="missing hyphen in '22 inch monitor'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>inch</token>
                </marker>
                <token min="0" />
                <token regexp="yes">monitors?|waists?|screens?|macbooks?|nails?|guns?|holes?|ipads?|drives?|tablets?|systems?|satellite|galaxy|laptops?|tvs?|projectors?|softballs?|tires?|bikes?|bicycles?|bmx|dishwashers?|rims?|wheels?|dell|samsung|hd|floppy|disks?|binders?|mac|heels|cakes?|subway|grinders?|cables?|records?|tft|led|howitzer|table|dildos?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="16-inch">He bought the all-new <marker>16 inch</marker> macbook.</example>
        </rule>
        <rule id="HEADED_HYPHEN" name="missing hyphen in 'two headed monster'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token regexp="yes">headed|tailed|armed</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes">
                        <exception postag="MD|IN|RB.*|JJR|CC|W.*|NNP?S" postag_regexp="yes" />
                        <exception regexp="yes">militia|troop|gun.*</exception>
                    </token>
                </marker>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2 \3</suggestion>
            <example correction="6-headed monster">A <marker>6 headed monster</marker> was part of my nightmare.</example>
        </rule>
        <rule id="SEAT_HYPHEN" name="missing hyphen in '2 seat convertible'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>seat</token>
                </marker>
                <token min="0" />
                <token regexp="yes">sofas?|sofa\-?beds?|cars?|(mini-?)?bus(es)?|suvs?|pick-?ups?|convertibles?|utvs?|tiguan|ford|vw|toyotas?|rovers?|teslas?|model|bmw|audi|nissan|jaguar|mercedes|vehicles?|tables?|(mini-?)?vans?|strollers?|quad|helicopters?|dodge|alhambra|mini|ferrari|golf|suburban|limos?|airplanes?|cessnas?|travellers?</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="2-seat">He drives a <marker>2 seat</marker> convertible.</example>
        </rule>
        <rule id="YARD_HYPHEN" name="missing hyphen in '100 yard house plan'">
            <pattern>
                <marker>
                    <token postag="CD" />
                    <token>yard</token>
                </marker>
                <token regexp="yes">houses?|lines?|challenges?|dumpsters?|shots?|field|fights?|sprints?|recycling|containers?|range|run|shooting|swim|scope|dash</token>
            </pattern>
            <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <example correction="200-yard">He ran the <marker>200 yard</marker> dash.</example>
            <example correction="1-yard">For instance, a rushing attempt "touch" from the Opponent's <marker>1 yard</marker> line has more potential value that a rushing attempt "touch" from the RBs own 20.</example>
        </rule>
        <rulegroup id="WORD_ESSAY_HYPHEN" name="missing hyphen in '1000 word essay'">
            <antipattern>
                <token postag="CD" />
                <token case_sensitive="yes">Word</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token>one</token>
                <token>word</token>
                <token regexp="yes">doc|document</token>
            </antipattern>
            <antipattern>
                <token>one</token>
                <token case_sensitive="yes">Word</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>paragraph</token>
                <token>paragraph</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">\d+</token>
                        <token spacebefore="no">,</token>
                        <token spacebefore="no" regexp="yes">\d+</token>
                        <token regexp="yes">word|character|paragraph|column</token>
                    </marker>
                    <token regexp="yes">limit|google|articles?|dissertations?|letters?|blog|thesis|doc(umentation)?|text|document|essays?|story|paragraphs?|page|poems?|abstract|papers?|sentences?|tweets|cv|message|description|memoir|biography|summary|vocabulary|manuscripts?</token>
                </pattern>
                <message>When '\1\2\3-4' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1\2\3-\4</suggestion>
                <example correction="10,000-word">He wrote a <marker>10,000 word</marker> essay.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token regexp="yes">word|character|paragraph|chapter</token>
                    </marker>
                    <token regexp="yes">limit|google|articles?|letters?|book|blog|thesis|doc(umentation)?|text|abbreviation|document|essays?|story|paragraphs?|poems?|abstract|papers?|sentences?|cv|message|description|memoir|biography|summary|vocabulary|manuscripts?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="2000-word">He wrote a <marker>2000 word</marker> blog article.</example>
                <example correction="140-character">Twitter has a <marker>140 character</marker> limit.</example>
                <example correction="2000-word">He prepared a <marker>2000 word</marker> Google doc.</example>
                <example correction="three-word">It's only a <marker>three word</marker> sentence.</example>
                <example>Similar behavior is noticed when copying from one Word doc to another Word doc.</example>
                <example>Four Word essays were stored in a separate folder.</example>
                <example>Please complete one Word document first.</example>
                <example correction="6-paragraph">He wrote a <marker>6 paragraph</marker> essay.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token>digit</token>
                    </marker>
                    <token regexp="yes">limit|numbers?|ids?|codes?|iso|phone|account|salary|salaries|zip|postal|month|tokens?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="6-digit">She earns a <marker>6 digit</marker> salary.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token>letter</token>
                    </marker>
                    <token regexp="yes">limit|words?|sentences?|codes?|iso|countr(y|ies)|scrabble|tokens?</token>
                </pattern>
                <message>When '\1-\2' is used as a modifier, it is usually spelled with a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="2-letter">He needed a <marker>2 letter</marker> scrabble word.</example>
                <example correction="2-letter">The <marker>2 letter</marker> iso code for Germany is 'DE'.</example>
            </rule>
        </rulegroup>
        <rule id="BUY_TWO_GET_ONE_FREE" name="missing comma in 'buy two get one free'">
            <pattern>
                <marker>
                    <token regexp="yes">buy|purchase|order</token>
                    <token postag="CD" />
                    <token regexp="yes">get|receive</token>
                    <token postag="CD" />
                </marker>
            </pattern>
            <message>It appears that a comma is missing.</message>
            <suggestion>\1 \2, \3 \4</suggestion>
            <example correction="Buy 2, Get 1"><marker>Buy 2 Get 1</marker> Free!</example>
            <example correction="Order five, receive one">New offer: <marker>Order five receive one</marker> for free</example>
        </rule>
        <rule id="AT_CD_CLOCK" name="At 7 clock (o'clock)">
            <pattern>
                <token>at</token>
                <token postag="CD" />
                <marker>
                    <token>clock</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>o'clock</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/o'clock</url>
            <example correction="o'clock">Let's meet at 7 <marker>clock</marker>.</example>
        </rule>
        <rule id="CD_NN" name="Possible agreement error: numeral + singular countable noun">
            <antipattern case_sensitive="yes">
                <token regexp="yes" skip="3">\d+<exception regexp="yes">[01]</exception></token>
                <token regexp="yes">AVE|Ave(nue)?|Street|BLVD|Blvd|blvd|Boulevard|Terrace|Square|St|ST|Center|Cove|Highway|Hwy|HWY|Circle|Drive|Parkway|Pkwy|PKWY|Northeast|Crescent|Trail|Alley|Loop|LOOP|Lane|LANE|Ln|Court</token>
            </antipattern>
            <antipattern><!-- The day 2 session -->
                <token>day</token>
                <token regexp="yes">\d+</token>
                <token>session</token>
            </antipattern>
            <antipattern><!-- GTA 5 download -->
                <token>gta</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token>VAC</token>
                <token>circuit</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">\d+</token>
                <token>lane</token>
            </antipattern>
            <antipattern>
                <token>magnitude</token>
                <token regexp="yes">\d+</token>
                <token>earthquake</token>
            </antipattern>
            <antipattern>
                <token postag="CD" skip="2" />
                <token>machine</token>
                <token>learning</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- the law 101 workshop -->
                <token postag="NN.*" postag_regexp="yes" />
                <token>101</token>
                <token regexp="yes">workshop|course|project|training|learning|guide</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token regexp="yes">step|page|pg|star|sold|slide|sept</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Let's meet on 08 sept. -->
                <token regexp="yes">\d+</token>
                <token regexp="yes">sept|version</token>
            </antipattern>
            <antipattern><!-- Five Six Two -->
                <token postag="CD" />
                <token postag="CD" />
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+0</token>
                <token>decade</token>
            </antipattern>
            <antipattern><!-- A 100,000 person lower bound has -->
                <token postag="CD" />
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">upper|lower</token>
                <token>bound</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">8|16|32|64|128|256|512|1024|2048|4096</token>
                <token>bit</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token>to</token>
                <token regexp="yes">\d+</token>
                <token>vote</token>
            </antipattern>
            <antipattern><!-- A 2 House Legislature for New York City -->
                <token postag="CD" />
                <token>house</token>
                <token regexp="yes">legislatures?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">s?he|you|I|we|they|it</token>
                <token inflected="yes">be</token>
                <token postag="CD"/>
            </antipattern>
            <antipattern>
                <token>top</token>
                <token postag="CD"/>
                <token regexp="yes">hit|all|spot</token>
            </antipattern>
            <antipattern><!-- A top 100 startup -->
                <token>top</token>
                <token regexp="yes">10|20|25|50|100|500|1000</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- two silver and black triangles -->
                <token postag="CD"/>
                <token postag="NN(:UN?)?" postag_regexp="yes"/>
                <token regexp="yes">and|or</token>
                <token postag="NN(:UN?)?" postag_regexp="yes"/>
                <token postag="NNS"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|another</token>
                <token>number</token>
                <token postag="CD"/>
            </antipattern>
            <antipattern><!-- http://www.822tutor.ca/ -->
                <token postag="CD" />
                <token>tutor</token>
                <token>squadron</token>
            </antipattern>
            <antipattern><!-- "a 10 min walk" / "45 min max" -->
                <token postag="CD" />
                <token>min</token>
                <token min="0">.</token>
                <token regexp="yes">walk|max</token>
            </antipattern>
            <antipattern>
                <token postag="CD"/>
                <token postag="RB|JJ" postag_regexp="yes" />
                <token regexp="yes">month|year|week|day|century|birthday</token>
            </antipattern>
            <antipattern><!-- Postal code + city, e.g. "22761 Hamburg" or "8004 Zurich" -->
                <token regexp="yes">\d{4,30}</token>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- two by two / 1 in 12 -->
                <token postag="CD"/>
                <token regexp="yes">by|in</token>
                <token postag="CD"/>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Billboard</token>
                <token min="0" max="1">Hot</token>
                <token regexp="yes">[12]00</token>
            </antipattern>
            <antipattern>
                <token>top</token>
                <token regexp="yes">ten|10|five|5|three|3</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">page?|pg|clause|stage|phase|paper|sect?</token>
                <token spacebefore="no" min="0">.</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">pg|ex|ch</token><!-- abbrev for page, example, chapter, ... -->
                <token spacebefore="no" min="0">.</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern><!-- love you 2 babe -->
                <token>love</token>
                <token regexp="yes">u|you</token>
                <token>2</token>
                <token min="0">my</token>
                <token regexp="yes">bab[ey]|darling|honey|sweetie|m[ao]mm?[ay]|daddy|papa</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">season|chapter|ch|unit|module|scene|sheet</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token regexp="yes">six|6</token>
                <token>sigma</token>
            </antipattern>
            <antipattern>
                <token>room</token>
                <token>51</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>mpg</token>
                <token>highway</token>
            </antipattern>
            <antipattern> <!-- "As a year 10 student, ..." -->
                <token regexp="yes">year|grade|class|gr|semester|lesson</token>
                <token postag="CD" />
                <token postag="JJ|NN.*" postag_regexp="yes" min="0" />
                <token regexp="yes">student|curriculum|bully|season|exam|book|birthday|syllabus|teacher|(work)?sheet|tab|intro|lesson|cohort|doc(ument)?|test|essay|pupil|transcript</token>
            </antipattern>
            <antipattern> <!-- "A level 7 diploma ..." -->
                <token regexp="yes">level|tier|unit|factor</token>
                <token postag="CD" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="CD"/>
                <token>page</token>
                <token>survey</token>
            </antipattern>
            <antipattern><!-- 404 error -->
                <token regexp="yes">\d{3}</token>
                <token>error</token>
            </antipattern>
            <antipattern>
                <token>door</token>
                <token>2</token>
                <token>door</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Root_canal_treatment -->
                <token>canal</token>
                <token postag="CD" />
                <token>treatment</token>
            </antipattern>
            <antipattern>
                <token>need</token>
                <token>4</token>
                <token>speed</token>
            </antipattern>
            <antipattern><!-- A four to five timeline -->
                <token postag="CD" />
                <token>to</token>
                <token postag="CD" />
                <token regexp="yes">timeline|schedule</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>right</token>
                <token>now</token>
            </antipattern>
            <antipattern> <!-- two week's time - there's another rule for this mistake: CD_WEEK_S -->
                <token postag="CD"><exception regexp="yes">one|1</exception></token>
                <token regexp="yes">week|month|hour</token>
                <token>'s</token>
                <token postag="NN.*" postag_regexp="yes"/>
            </antipattern>
            <antipattern> <!-- another mistake -->
                <token postag="CD"/>
                <token postag="NNP"/>
                <token>'s</token>
            </antipattern>
            <antipattern><!-- Fix for chunker: Where did you two first meet each other? -->
                <token regexp="yes">we|you</token>
                <token postag="CD"/>
                <token postag="RB"/><!-- Is not E-NP-singular -->
                <token postag_regexp="yes" postag="VBP?"/>
            </antipattern>
            <antipattern><!-- Mariner 9 probe / Hayabusa 2 space probe -->
                <token regexp="yes">\p{Lu}\p{L}+</token>
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token postag_regexp="yes" postag="JJ|NN.*"/>
            </antipattern>
            <antipattern><!-- 433 Eros -->
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token postag="NNP" regexp="yes">\p{Lu}\p{L}+</token>
            </antipattern>
            <antipattern><!-- 1556 book by Agricola -->
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token/>
                <token>by</token>
                <token postag="NNP"/>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">year|month</token>
                <token regexp="yes">guarantee|old</token>
            </antipattern>
            <antipattern><!-- #1903. slide 8 and click on -->
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token>and</token>
                <token postag="VB"/>
                <token postag="IN"/>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>acre</token>
                <token regexp="yes">park|field|garden|backyard</token>
            </antipattern>
            <antipattern><!-- 400 grad = 4 right angles. www.merriam-webster.com/dictionary/grad -->
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token>grad</token>
                <token>=</token><!-- Find: there are 400 grad in this college. -->
            </antipattern>
            <antipattern><!--  #2005. You two hurry up -->
                <token>you</token>
                <token/><!-- Usually only small numbers. Restrict if necessary. -->
                <token postag="VB"/>
                <token postag="RP"/>
            </antipattern>
            <antipattern><!--  Of those 1,839 buses 416 run on -->
                <token>of</token>
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token postag="CD"/>
                <token>,</token>
                <token postag="CD"/>
                <token postag="NNS"/>
                <token postag="CD"/>
            </antipattern>
            <antipattern><!-- rapper name -->
                <token>50</token>
                <token>cent</token>
            </antipattern>
            <antipattern>
                <token>vol</token>
                <token spacebefore="no">.</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">more|less</token>
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="IN|CC" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>and</token>
                <token>a</token>
                <token>half</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>wheeler</token>
            </antipattern>
            <antipattern>
                <token>half</token>
                <token>an</token>
                <token>hour</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>x</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!--  Of your 9 questions 8 show a -->
                <token>of</token>
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token postag="CD"/>
                <token postag="NNS"/>
                <token postag="CD"/>
            </antipattern>
            <antipattern><!--   2 sextillion (2×1021) atoms. LT loses the formatting of 10^21 -->
                <token postag="CD"/>
                <token postag="NN"/><!-- Assume that the entire fragment of text is correct. If that causes errors, specify the tokens (thousand, million etc) -->
                <token>(</token>
                <token postag="CD"/>
                <token regexp="yes">×|x</token>
                <token postag="CD"/>
                <token>)</token>
                <token postag="NNS"/>
            </antipattern>
            <antipattern><!-- #2167 He had 6 wrong pattern attempts. -->
                <token postag_regexp="yes" postag="VB.*"/>
                <token postag="CD"/>
                <token postag_regexp="yes" postag="JJR?"/>
                <token chunk="E-NP-singular"/>
                <token postag="NNS"/><!-- Chunker identifies some plural nouns as a verb. Example: attempt/B-VP -->
                <token postag_regexp="yes" postag="SENT_END|IN"/>
            </antipattern>
            <antipattern><!-- 212 Clear Lake (address) -->
                <token postag="CD" />
                <token>clear</token>
                <token>lake</token>
            </antipattern>
            <antipattern><!-- number -->
                <token>#</token>
                <token postag="CD" spacebefore="no" />
            </antipattern>
            <antipattern><!-- number 2 deal -->
                <token>number</token>
                <token postag="CD" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">(&currency_symbols;|US\$)\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(&currency_symbols;|US\$)\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(&currency_symbols;|US\$)\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d+</token>
            </antipattern>
            <antipattern><!-- #2440 £33 billion bid -->
                <token regexp="yes">(&currency_symbols;|US\$)\d+</token>
                <token chunk="I-NP-singular" postag="CD"/>
            </antipattern>
            <antipattern><!-- 50th ave apartment -->
                <token postag="CD" />
                <token regexp="yes">Ave(nue)?|Terrace|Square|Plaza|Parkway</token>
                <token>apartment</token>
            </antipattern>
            <antipattern><!-- 10 to 20 go to school -->
                <token postag="CD" />
                <token>to</token>
                <token postag="CD" />
                <token postag="VB.*" postag_regexp="yes" />
                <token>to</token>
                <token />
            </antipattern>
            <antipattern><!-- On Feb '20 -->
                <token regexp="yes">&months;|&abbrevMonths;</token>
                <token min="0" regexp="yes">&apostrophe;</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern><!-- two web 2.0 sites -->
                <token regexp="yes">web|industry</token>
                <token regexp="yes">\d</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">0</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token min="0" spacebefore="no">.</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern><!-- 12 yr old boy-->
                <token postag="CD" />
                <token regexp="yes">yr|year</token>
                <token>old</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">four|4|two|2</token>
                <token>wheel</token>
                <token regexp="yes">driv.+|cars?|suvs?|trucks?</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>for</token>
                <token postag="CD" />
                <token regexp="yes">offers?</token>
            </antipattern>
            <antipattern><!-- a two time winner -->
                <token postag="CD" />
                <token>time</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- a 5 caliber pistol -->
                <token postag="CD" />
                <token>caliber</token>
                <token regexp="yes">pistol|rifle</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(ms-)?windows|iphone|ipad|(mac)?os</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token>apple</token>
                <token>watch</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern><!-- A massive 2300 point drop. -->
                <token skip="1" regexp="yes">an?|the</token>
                <token postag="CD" />
                <token>point</token>
                <token>drop</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token regexp="yes">and|&amp;|or</token>
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Thousand_Island_dressing -->
                <token regexp="yes">1000|thousand</token>
                <token>island</token>
            </antipattern>
            <antipattern>
                <token>360</token>
                <token regexp="yes">mode|camera</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">litre|liter</token>
                <token regexp="yes">bucket|can</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>die</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token postag="CD" skip="3" />
                <token chunk="E-NP-singular" />
                <token>(</token>
                <token>s</token>
                <token>)</token>
            </antipattern>
            <antipattern><!-- ... of 8 most if not all -->
                <token postag="CD" skip="1" />
                <token chunk="E-NP-singular">if</token>
                <token postag="RB" />
            </antipattern>
            <antipattern>
                <token regexp="yes">9|nine</token>
                <token>to</token>
                <token regexp="yes">5|five</token>
            </antipattern>
            <antipattern>
                <token>how</token>
                <token>2</token><!-- to -->
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>two</token>
                <token postag="VB.*" postag_regexp="yes" chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>mile</token>
                <token>trip</token>
            </antipattern>
            <antipattern><!-- dev speech: http error code -->
                <token>502</token>
                <token>bad</token>
                <token>gateway</token>
            </antipattern>
            <antipattern><!-- dev speech -->
                <token skip="1" regexp="yes">30[1234]</token>
                <token>redirect</token>
            </antipattern>
            <antipattern><!-- dev speech: http error code -->
                <token>504</token>
                <token>Gateway</token>
                <token regexp="yes">Time-?out</token>
            </antipattern>
            <antipattern><!-- a 1,000 limit per person ... -->
                <token regexp="yes">an?|the</token>
                <token postag="JJ" min="0" />
                <token regexp="yes">v?\d+</token>
                <token regexp="yes">[,\.]</token>
                <token regexp="yes">\d+</token>
                <token regexp="yes">limit|version|update|software</token>
            </antipattern>
            <antipattern><!-- the .7 update works ... -->
                <token regexp="yes">an?|the</token>
                <token postag="JJ" min="0" />
                <token>.</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token regexp="yes">limit|version|update|software</token>
            </antipattern>
            <antipattern><!-- only 2 get caught -->
                <token postag="RB" />
                <token postag="CD" />
                <token>get</token>
            </antipattern>
            <antipattern><!-- #2652 the other two chase her -->
                <token>the</token>
                <token postag="JJ"/>
                <token postag="CD"/>
                <token postag="VBP"/>
                <token chunk="B-NP-singular"/>
            </antipattern>
            <antipattern><!-- '88 campaign -->
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes" spacebefore="no">\d{2}</token>
                <token>campaign</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token regexp="yes">word|sentence|paragraph</token>
                <token>essay</token>
            </antipattern>
            <antipattern><!-- A 5 year plan -->
                <token postag="CD" />
                <token regexp="yes">day|week|month|year</token>
                <token regexp="yes">plan|concept|project(ion)?|roadmap|(lock|shut)down</token>
            </antipattern>
            <antipattern><!-- 10 sit ups (needs different rule) -->
                <token postag="CD" />
                <token>sit</token>
                <token>ups</token>
            </antipattern>
            <antipattern><!-- #2787 fictional Hundred Acre Wood of -->
                <token postag="CD" regexp="yes">\p{Lu}.*</token>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- #2787 the first four form Greater Athens -->
                <token>the</token>
                <token postag="JJ"/>
                <token postag="CD"/>
                <token chunk="I-NP-singular" postag="VBP"/>
                <token chunk="I-NP-singular" regexp="yes">\p{Lu}.*</token>
                <token chunk="E-NP-singular" postag="NNP"/>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- #2787 two AM and 16 FM -->
                <token postag="CD"/>
                <token skip="-1">AM</token>
                <token>FM</token>
            </antipattern>
            <antipattern>
                <token>base</token>
                <token regexp="yes">10|ten</token>
                <token>model</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Section_504_of_the_Rehabilitation_Act -->
                <token>504</token>
                <token min="0">education</token>
                <token regexp="yes">plan|classroom</token>
            </antipattern>
            <antipattern>
                <token>covid</token>
                <token min="0">-</token>
                <token>19</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>degree</token>
                <token regexp="yes">rotation|tilt</token>
            </antipattern>
            <antipattern><!-- iphone 11 pro max-->
                <token regexp="yes">\d+</token>
                <token>pro</token>
                <token>max</token>
            </antipattern>
            <antipattern><!-- In Act 5 he ... -->
                <token>in</token>
                <token regexp="yes">act|episode|season</token>
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- #2599 20 gold medal wins since  -->
                <token postag="CD"/>
                <token postag_regexp="yes" postag="JJ|NN(:UN?)?"/>
                <token chunk="E-NP-singular" postag="NN"/>
                <token postag="NNS"/><!-- wins/B-VP -->
                <token postag="CC"/>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- name of a building in Allentown -->
                <token>Two</token>
                <token>City</token>
                <token>Center</token>
            </antipattern>
            <antipattern><!-- #2932 can earn 200 bonus bucks. -->
                <token chunk="I-VP" postag_regexp="yes" postag="VBP?"/>
                <token postag="CD"/>
                <token chunk="E-NP-singular" postag="NN"/>
                <token postag="NNS"/><!-- bucks/B-VP -->
                <token postag_regexp="yes" postag="SENT_END|PCT"/>
            </antipattern>
            <antipattern><!-- #2966 101 file sharing services. Refer to #2968 -->
                <token>are</token>
                <token chunk="B-NP-singular" postag="CD"/>
                <token chunk="E-NP-singular">file</token>
                <token>sharing</token>
                <token postag="NNS"/>
            </antipattern>
            <antipattern><!-- #3049 Eighty minus twenty is sixty / Premium #1648 two plus two -->
                <token postag="CD"/>
                <token regexp="yes">plus|and|minus|less</token>
                <token chunk="E-NP-singular" regexp="yes">one|two|three|four|five|six|seven|eight|nine|ten|twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety</token><!-- DT_JJ_NN correctly removes CD. Thus, this token is necessary. -->
            </antipattern>
            <antipattern>
                <token>at</token>
                <token>the</token>
                <token>age</token>
                <token>of</token>
                <token postag="CD" />
                <token chunk="E-NP-singular"><exception regexp="yes">year|month|day</exception></token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">the|an?</token>
                <token regexp="yes">\d+</token>
                <token>to</token>
                <token regexp="yes">\d+</token>
                <token>age</token>
                <token>group</token>
            </antipattern>
            <antipattern><!--  regarding a '01 interconnect at Plano. -->
                <token regexp="yes">an?|one</token>
                <token regexp="yes" spacebefore="yes">&apostrophe;</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="yes" chunk="E-NP-singular" />
            </antipattern>
            <antipattern><!-- the new 24 hour EOL product. -->
                <token>24</token>
                <token>hour</token>
                <token chunk="I-NP-singular" min="0" max="-1" />
                <token chunk="E-NP-singular" postag="NNP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- chunker error: stages three and four move on -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="CD"/>
                <token regexp="yes">and|or</token>
                <token chunk="I-NP-singular" postag="CD"/><!-- four/I-NP-singular -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="VB[PD]?"/><!-- move/E-NP-singular -->
            </antipattern>
            <antipattern><!-- He owns a 180,000 house. -->
                <token regexp="yes">an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">\d+</token>
                <token spacebefore="no">,</token>
                <token spacebefore="no" regexp="yes">\d+</token>
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern><!-- He owns a 2,000,000 house. -->
                <token regexp="yes">an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token regexp="yes">\d+</token>
                <token spacebefore="no">,</token>
                <token spacebefore="no" regexp="yes">\d+</token>
                <token spacebefore="no">,</token>
                <token spacebefore="no" regexp="yes">\d+</token>
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token>suite</token>
                <token>360</token>
            </antipattern>
            <antipattern>
                <token>44</token>
                <token>magnum</token>
                <token regexp="yes">gun|revolver|pistol</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token regexp="yes" spacebefore="no">\d{2}</token>
                <token regexp="yes">gun|revolver|pistol</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">bed|(bed|bath)?room|bath</token>
                <token regexp="yes">apartment|tent|bungalow|flat|flexi|house|condo|cabin|villa|hotel|suite|schoolhouse|rental|accommodation|cottage|basement|mansion</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">cat(egory)?</token>
                <token regexp="yes">[1-8]</token>
                <token regexp="yes">cable|product|ethernet|lan|network|socket|connection|hurricane</token>
            </antipattern>
            <antipattern>
                <token>face</token>
                <token>2</token>
                <token>face</token>
            </antipattern>
            <antipattern>
                <token>360</token>
                <token regexp="yes">turn|flip</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token regexp="yes">plus|minus</token>
                <token>half</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>year</token>
                <token regexp="yes" postag="CD">\d+</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Eight-ball -->
                <token>8</token>
                <token>ball</token>
            </antipattern>
            <antipattern>
                <token>#</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <antipattern><!-- incorrect chunking: "Fisher later received two Saturn Award nominations for Best Supporting Actress." -->
                <token chunk="E-NP-singular" postag="NNP?" postag_regexp="yes" />
                <token postag="NNS">
                    <exception negate_pos="yes" postag="NNS" />
                </token>
            </antipattern>
            <antipattern><!-- a 6 to 8 majority -->
                <token regexp="yes">an?|the</token>
                <token postag="JJ" min="0" />
                <token postag="CD" />
                <token>to</token>
                <token postag="CD" />
                <token chunk="E-NP-singular" postag="NNP?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- a 6.5 to 8 ratio -->
                <token regexp="yes">an?|the</token>
                <token postag="JJ" min="0" />
                <token regexp="yes">\d+</token>
                <token regexp="yes" min="0">[,.]</token>
                <token regexp="yes" min="0">\d+</token>
                <token>to</token>
                <token regexp="yes">\d+</token>
                <token regexp="yes" min="0">[,.]</token>
                <token regexp="yes" min="0">\d+</token>
                <token chunk="E-NP-singular" postag="NNP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>and</token>
                <token chunk="I-NP-singular" min="0" />
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern><!-- from grade 8 ... -->
                <token postag="IN" />
                <token>grade</token>
                <token regexp="yes">\d+</token>
                <token chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>piece</token>
                <token>puzzle</token>
            </antipattern>
            <antipattern><!-- It has completed 3 server builds. -->
                <token chunk_re=".-VP" />
                <token postag="CD" />
                <token chunk="I-NP-singular" min="0" />
                <token postag="NN" chunk="E-NP-singular" />
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token>volt</token>
                <token>starter</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">.*[a-z].*</token>
                <token spacebefore="yes">.</token>
                <token regexp="yes" spacebefore="no" postag="CD">\d+</token>
            </antipattern>
            <antipattern>
                <token>age</token>
                <token>of</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token>number</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token regexp="yes">&quote;</token>
                <token postag="CD" spacebefore="no" />
                <token postag="NN" />
            </antipattern>
            <antipattern><!-- Chunker error: 24 hour and weekend long events -->
                <token postag="CD"/>
                <token chunk="E-NP-singular"/>
                <token regexp="yes">and|or</token>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk="B-NP-plural" postag="JJ">long</token>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">interstate|route</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <pattern>
                <token postag="CD">
                    <exception scope="previous" spacebefore="no" regexp="yes">[^,]</exception>
                    <exception regexp="yes">one|thou|zero|1</exception>
                    <exception regexp="yes">1[789]\d\d</exception><!-- exclude, might be year -->
                    <exception regexp="yes">20[0123]\d</exception><!-- exclude, might be year -->
                    <exception postag="NNP"/>
                    <exception>911</exception>
                    <exception scope="previous" postag="DT|PRP\$|POS" postag_regexp="yes"/>
                    <exception regexp="yes" scope="previous">&months;|&abbrevMonths;|season|category|size|\$\d+</exception>
                    <exception spacebefore="no" scope="previous">.</exception>
                    <exception scope="previous" regexp="yes">×|x</exception>
                </token>
                <token chunk="I-NP-singular" min="0" max="-1">
                    <exception regexp="yes">Pound|Dollar|RUB|percent|month|year|week|day|hour|min(ute)?|megapixel|mp|oz|inch|bit|foot|[kcm]ms?|BC|CE|[KMGk]B|^[^a-zA-Z]+|cc|am|pm|p[tx]|r?em|mi|ft|mg|kg|lb|mpg|°C|(milli|kilo)?watt|kW|ml|sec|yo|yr|hr|year-old|rpm|bpm</exception>
                    <exception regexp="yes">one|thou|zero|1</exception>
                    <exception regexp="yes">[,;()×]</exception>
                    <exception postag="MD|PRP\$|UNKNOWN|CD" postag_regexp="yes" />
                    <exception regexp="yes">per|then|versus|whose|but</exception><!-- per minute -->
                    <exception>due</exception><!-- missing 'to': www.merriam-webster.com/dictionary/due%20to -->
                </token>
                <marker>
                    <token chunk="E-NP-singular" postag="NNP?" postag_regexp="yes">
                        <exception postag="NN:UN?|NNP?S|JJ.*|IN|CD" postag_regexp="yes"/>
                        <exception regexp="yes">will|year|so|pst|well|still|have|had|wether|max|oh|plus|wich|get</exception>
                        <exception>are</exception> <!-- chunker treats it as E-NP-singular at times... -->
                        <exception regexp="yes">cm|Msec|lux|mk|gram|stat|[ck]c|m[23]|pH|mcg|pax|cpu|[KMGk]B|DM|kelvin|saw|percent|baht|rub|grad|bounty|dollar|euro?|cent|mil|all|has|if|possible|yearly|dammit|yes</exception>
                        <exception regexp="yes">&months;|size|\$\d+|\d+|\)</exception>
                        <exception regexp="yes">&weekdays;</exception>
                        <exception regexp="yes" case_sensitive="yes">&uom_abbreviations_SI;|&uom_abbreviations_other;</exception>
                        <exception regexp="yes">Ave(nue)?|Street|Terrace|Square|Plaza|Parkway|Broadway</exception><!-- probably an address, "333 Grant Avenue" -->
                        <exception scope="next" regexp="yes">getters|soldiers|IDs</exception>
                        <exception regexp="yes">thousand|[mb]illion</exception>
                        <exception>yay</exception>
                    </token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">Possible agreement error. The noun '<match no="3"/>' seems to be countable.</message>
            <suggestion><match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>
            <short>Grammatical problem</short>
            <example correction="books">I have five <marker>book</marker>.</example>
            <example>I have five <marker>books</marker>.</example>
            <example correction="chapters">Additionally, there are over 500 college and university <marker>chapter</marker>.</example>
            <example correction="chapters">There are 500 college and university <marker>chapter</marker>.</example>
            <example correction="chapters">There are 400 College and university <marker>chapter</marker>.</example>
            <example correction="elements">... if we group 5 <marker>element</marker> in this manner.</example><!-- If the correct typography is used, the rule does not trigger an error. https://en.wikipedia.org/wiki/Group_5_element -->
            <example correction="pixels">The maximum allowed height is 32,000 <marker>pixel</marker>.</example>
            <example correction="weeks">The icon changed 2 <marker>week</marker> ago.</example>
            <example correction="bids">The servers crashed because the two billion <marker>bid</marker> were truly overwhelming.</example><!-- #2440 -->
            <example correction="bids">In a test of the auction website, the white-hat hackers showed that with a 2 billion <marker>bid</marker>, they could crash the servers.</example><!-- #2440. The corrected sentence is not correct: #2448 -->
            <example correction="computers">Five computers plus three <marker>computer</marker> is eight computers.</example>
            <example correction="pence|pennies">Three pounds forty and 340 <marker>penny</marker> are equivalent.</example>
            <example>Four piece with two hanging toms.</example><!-- TODO: not found because "four" is tagged as NNP -->
            <example>1777 American Revolutionary War: British forces abandon the Siege of Fort Stanwix...</example>
            <example>I have <marker>one bottle</marker> of wine.</example>
            <example>It has completed 3 server builds.</example>
            <example>Exactly 1 hour!</example>
            <example>I can carry 25 max</example>
            <example>We can use 11 pt font.</example>
            <example>This was despite the fact that Frankfurt already had most of the required facilities and using Bonn was estimated to be 95 million DM more expensive than using Frankfurt.</example>
            <example>A 6.5 to 8 ratio.</example>
            <example>A 2 House Legislature for New York City</example>
            <example>He suggested a $5,000,000 bond.</example>
            <example>Only six thousand.</example>
            <example>S&amp;P 500 index</example>
            <example>He owns a 180,000 house.</example>
            <example>A General Election held on 21 February 2013 returned the DLP to power with a 16 to 14 majority.</example>
            <example>300 to 400 being trained each year.</example>
            <example>They re-released the A1200 and A4000T, and introduced a new 68060 version of the A4000T.</example>
            <example>And 10 cannot name the president's daughter.</example>
            <example>A 100,000 person lower bound has been cited for ASL users.</example>
            <example>Of the 16 to 74 age group, 32.84% had no formal qualifications, 27.08% were educated to 'O' Grade/Standard Grade level, 14.38% to Higher level, 7.64% to HND or equivalent level and 18.06% to degree level.</example>
            <example>A 5,000 year old earthen bowl found in Iran in Shahr-i Sokhta has five images</example>
            <example>A list of assassination targets, with a "$5,000 bounty on his head.</example>
            <example>... in the middle of Silicon Valley, at 1–6 Infinite Loop, Cupertino, California.</example>
            <example>What time will we reach Akita if we take the 9:30 train?</example>
            <example>The Cichorioidea has only ray florets, with a 5+0 scheme – all five petals form the ligule.</example>
            <example>It was 30 cm long.</example>
            <example>Fisher later received two Saturn Award nominations for Best Supporting Actress.</example>
            <example>He's a father of three whose wife has passed away.</example>
            <example>They stood face 2 face.</example>
            <example>They expected a cat 3 hurricane.</example>
            <example>But mesage two said he is not available anymore.</example>
            <example>He gave over 1000 baht.</example><!-- baht and bahts (currency) is both plural -->
            <example>It's below 60 lux.</example>
            <example>Please make sure there is no P&amp;L or position effect in the crude books with the new 24 hour EOL product.</example>
            <example>The National Hockey League publishes the names of the top three vote getters for all awards, and then names the award winner during the NHL Awards Ceremony.</example>
            <example>The iphone 11 pro max.</example>
            <example>He had 10 ml cycloheximide</example>
            <example>He wears a 9 to 5 outfit.</example>
            <example>Learn now how 2 spell properly.</example>
            <example>In addition, ComEd has included a cover letter which indicates a significant level of uncertainty regarding a '01 interconnect at Plano.</example>
            <example>In the 1835–36 legislative session, he voted to expand suffrage to white males.</example>
            <example>The room 51 movie.</example>
            <example>I will meet you at 5 pm PST.</example>
            <example>5 year guarantee.</example>
            <example>Seven Nation Army</example>
            <example>140,000 died</example>
            <example>800 FOX RUN PKWY</example>
            <example>He received a $2,500 bonus.</example>
            <example>There are around 50 right now.</example>
            <example>One or two mentioned earlier.</example>
            <example>And at 11 my brother was born.</example>
            <example>By 700 BC war between the two Empires became inevitable.</example>
            <example>I have two book readers in my palmtop.</example>
            <example>They had two and half an hour to leave.</example><!-- weird sentence -->
            <example>US$10,000 for a single 25 minute episode.</example>
            <example>Thomas Watson at 333 Grant Avenue in San Francisco.</example>
            <example>The 16 year old Ahmad Shah Durrani.</example>
            <example>At its 1864 convention, the Republican Party selected Andrew Johnson.</example>
            <example>The 2007 ceremony was watched by more than 40 million Americans.</example>
            <example>The $6,100,000,000 measure, which was passed last Monday by the Senate...</example>
            <example>Friday's letters asked for a Nov. 15 meeting.</example>
            <example>It takes about 16 Msec. to traverse 25 mm. of tissue.</example>
            <example>He has 500 on the bank and 1,500 still on the side.</example>
            <example>$800 billion economy was envisioned for the 1970s</example>
            <example>Middle East peace after Israel's 1956 invasion of Egypt</example>
            <example>The Apollo 8 mission was well covered in the British documentary.</example>
            <example>Labour abstained in Monday’s ballot, meaning that despite 299 MPs voting in favour and only 70 voting against, the bill failed to get the required 434 votes to pass.</example>
            <example>This is 3 H2O.</example>
            <example>25 mpg highway</example>
            <example>1521 and Master.</example>
            <example>With two Machine Learning Accelerators on the CPU and a new Machine Learning Controller to balance performance and efficiency.</example>
            <example>It has sold for at least 160 euro.</example>
            <example>3 more die in the Indian wars</example>
            <example>2 x wall mounted TV screens</example>
            <example>The primary 911 responder.</example>
            <example>3910 Golf Park Loop, Bradenton, FL 34203</example>
            <example>The concept of six sigma has a simple goal.</example>
            <example>A dramatic series in 1956 saw a record that will probably never be beaten.</example>
            <example>Those with five or six are most common.</example>
            <example>I'll be in my office from ten tomorrow.</example>
            <example>Our #2 vote was Tom Cruise.</example>
            <example>Willard Olvey, 18, of 963 Ponce De Leon Ave., was there last year.</example>
            <example>The World War 2 German bomber rolled down a runway and took off.</example>
            <example>Volume dipped to 3.28 million shares from 3.98 million Monday.</example>
            <example>It is five and seventeen.</example>
            <example>He maintains two and so can the police.</example>
            <example>Last week the board, by a 4 to 3 vote, decided to ask voters.</example>
            <example>Before he was forty Griffith had created the art of the film.</example>
            <example>In the 1860 - 70 decade there are many poems like Revulsion.</example>
            <example>And also a twin 15 mm version based on the Light Tank Mk.</example>
            <example>The right half is split into two silver and black triangles.</example>
            <example>A couple of weeks on the show turned into a job from October to May working on season one specials and the start of season two.</example>
            <example>List of players to wear the number 14 shirt since Johan Cruyff's departure</example>
            <example>She said he would be sixteen next month.</example>
            <example>We can drink beer when you are 21 next month.</example>
            <example>The screen is fixed to the 640 × 400 1-bit mono mode, and no external video port was provided.</example>
            <example>We sleep in a 20 x 40 tent.</example>
            <example>Game board with 108 spaces arranged in a 12 by 9 array</example>
            <example>In the United States, the song peaked at number six on the Billboard Hot 100 chart, paving the way for their first album and their first trip as a group there.</example>
            <example>Since then the corporate headquarters have moved to New York City at 1 Park Avenue in Manhattan, before moving to the Financial District to the former JP Morgan Chase headquarters at 4 New York Plaza.</example>
            <example>It's ten past six.</example>
            <example>In act 5 Friar played the main role.</example>
            <example>The price of rice rose by three percent.</example>
            <example>The MOS Technology 6502 processor is an 8-bit microprocessor.</example>
            <example>Figure 1 shows a MOS 6502 processor in a DIP-40 plastic package.</example>
            <example>Where did you two <marker>first</marker> meet each other?</example>
            <example>I live in 22761 Hamburg</example>
            <example>He resides in 5 New Jersey Boulevard.</example>
            <example>He was introducing a 3,000 limit per transaction.</example>
            <example>He turns 80 next month.</example>
            <example>He was switching from 32 to 64 bit.</example>
            <example>120 VAC Circuit</example>
            <example>He has a 4 page summary.</example>
            <example>A canal 4 treatment.</example>
            <example>The Windows 10 update failed.</example>
            <example>He has a 5 slide presentation.</example>
            <example>You say the .711 update was working fine for a couple of months.</example>
            <example>Have you installed the iOS 10 version?</example>
            <example>He went to this 5 star restaurant.</example>
            <example>Let's meet on 08 sept.</example>
            <example>This 6 step guide helps you accomplish success.</example>
            <example>We had 200 participants this year and hopefully 300 next year.</example>
            <example>...objects were taken in 1971 when the <marker>Mariner 9 probe</marker> imaged Phobos and Deimos, the two small moons of ...</example>
            <example>... launch around 2015 the improved <marker>Hayabusa 2 space probe</marker> and to return asteroid samples by 2020.</example>
            <example>... was commissioned by BMW to paint a <marker>Group 4 race version</marker> of the then elite supercar BMW M1 for the fourth ...</example>
            <example>... in 1997, before entering into orbit around <marker>433 Eros</marker>, finally landing on its surface in 2001.</example>
            <example>... this predates the more famous 1556 book by Agricola...</example>
            <example>Bahamas was hit by a magnitude 6 earthquake.</example>
            <example>As a year 10 student, Ruby Muller, was one of 32 remaining players who participated in a match made up of squads representing the North and South of England.</example>
            <example>Go to slide 8 and click on the link.</example><!-- #1903 -->
            <example>1 turn = 360° = 2π rad = 400 grad = 4 right angles.</example>
            <example>You two hurry up.</example><!--  #2005 -->
            <example>Our new 404 error page</example>
            <example>As 2 of 3 issued</example>
            <example>We meet on the usual 9 pm slot.</example>
            <example>I'm transferring 150 pax to your account.</example><!-- pax is a crypto currency -->
            <example>A level 7 diploma is a vocational certification focused on professional skills.</example>
            <example>Of those 1,839 buses 416 run on compressed natural gas.</example><!-- Better to put a comma before 'run', but that is a different problem. -->
            <example>Of your 9 questions 8 show a complete lack of understanding.</example>
            <example>Earlier than 900 CE progressing past the 13th century, the population complexes ...</example><!-- Possible missing comma or 'and' before 'CE', but that is a different problem -->
            <example>... included production of a small but sturdy 125 cc motorcycle and a DKW delivery van.</example><!-- regression 2019-11-08 -->
            <example>A single drop of water contains about 2 sextillion (2×1021) atoms of oxygen, and twice the number of...</example><!-- regression 2019-11-08 -->
            <example>= 90° = π/2 rad = 1/4 turn = 100 grad.</example><!-- regression 2019-11-08 -->
            <example>He had 6 wrong <marker>pattern attempts</marker>.</example><!--  #2167 -->
            <example>There were 6 wrong <marker>pattern attempts</marker> during the test.</example><!--  #2167 -->
            <example>They discussed 3 newer <marker>pattern runs</marker> in the meeting.</example><!--  #2167 -->
            <example>Only 1 in 12 stay and are happy with our service.</example><!--  #2167 -->
            <example>When they came back with a £33 billion bid, CBS could not refuse.</example><!-- #2440 -->
            <example>But then he got 502 bad gateway.</example>
            <example>Verb: ... and the other two <marker>chase</marker> her.</example><!-- #2652 chase/E-NP-singular -->
            <example>The speedometer was indicating 95 mph.</example><!-- #2787 -->
            <example>Saltini Antonio, Storia delle scienze agrarie, 4 vols, Bologna 1984-89.</example><!-- #2787 -->
            <example>The fictional Hundred Acre Wood of the Pooh stories derives from...</example><!-- #2787 -->
            <example>+1 =16 versus Mikhail Tal, +10 −2 =13 versus Ljubojević.</example><!-- #2787 -->
            <example>... out of which the first four form Greater Athens, while the regional unit...</example><!-- #2787 -->
            <example>Aruba also has 18 radio stations (two AM and 16 FM) and three...</example><!-- #2787 -->
            <example>... which is 72 m2 per head.</example><!-- #2787 -->
            <example>... the 1997 (still) gets 30 highway mpg, the 2004 gets 26 mpg, and the...</example>
            <example>... Olympics with just 20 gold medal wins since first taking part in 1920.</example><!-- #2599 wins/B-VP -->
            <example>You can earn 200 bonus bucks.</example><!-- #2932 bucks/B-VP -->
            <example>There are 101 file sharing services out there already.</example><!-- #2966 -->
            <example>Eighty minus twenty is sixty.</example><!-- #3049 -->
            <example>What is two plus two?</example><!-- Premium #1648 -->
            <example>Is it the same as six minus two?</example><!-- Premium #1648 -->
            <example>Is six minus two the same as seven less three?</example><!-- Premium #1648 -->
            <example>Is six minus two the same as seven less three in your opinion?</example><!-- Premium #1648 -->
            <example>But three plus three was not considered in this context.</example><!-- Premium #1648 -->
            <example>Stages three and four move on to using technology for the...</example>
            <example>Steve McNair has been awesome lately and ranks as the # 2 QB in the league over the last 3 games.</example>
            <example>For example, three pound forty and twenty pound a week are both heard in British English.</example><!-- missing quote marks or possibly, italicized in the source. -->
            <example>That imbalance of 11,973 due Stingray is correct but is no longer on LRP's books.</example><!-- due to -->
            <example>The difference of approximately 10,000 due defect was caused by human error.</example><!-- due to -->
            <example>We always wanted to bring 24 hour and weekend long events, and this year we were finally able to!</example>
            <example>I believe EPMI ordered 292,500 MMBtu at an average price of ...</example>
            <example type="triggers_error">When Sony came back with a 2 billion bid, CBS could not refuse.</example><!-- #2440 -->
            <example type="triggers_error">England eventually faced a massive 707 run target for victory and failed, Australia winning the ...</example>
        </rule>

        <rulegroup id="TH_CENTURY" name="'19 century' (19th century)">
            <rule>
                <pattern>
                    <token regexp="yes">[3-9]10|1[2-9]|20</token>
                    <token>century</token>
                </pattern>
                <message>Did you mean <suggestion>\1th \2</suggestion>?</message>
                <example correction="19th century">Back then in the <marker>19 century</marker>…</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">1|21</token>
                    <token>century</token>
                </pattern>
                <message>Did you mean <suggestion>\1st \2</suggestion>?</message>
                <example correction="21st century">We're living in the <marker>21 century</marker>…</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">2|22</token>
                    <token>century</token>
                </pattern>
                <message>Did you mean <suggestion>\1nd \2</suggestion>?</message>
                <example correction="2nd century">The <marker>2 century</marker> is the period from 101 to 200 in accordance with the Julian calendar.</example>
            </rule>
        </rulegroup>
        <rule id="INCORRECT_POSSESSIVE_FORM_AFTER_A_NUMBER" name="Incorrect possessive form after a number">
        <antipattern> <!-- separate rule: CD_WEEK -->
               <token postag="CD"><exception regexp="yes">one|1</exception></token>
                <token regexp="yes">week|month|hour</token>
                <token>'s</token>
                <token postag="NN.*" postag_regexp="yes"/>
        </antipattern>
        <antipattern>
          <token postag="CD"/>
          <token postag="NN.*" postag_regexp="yes"><exception postag="NNS"/></token>
          <token>'s</token>
          <token postag="NNS"></token>
        </antipattern>
         <pattern>
              <token spacebefore="yes" postag="CD">
                    <exception regexp="yes">one|thou|zero|1</exception>
                    <exception regexp="yes">1[789]\d\d</exception><!-- exclude, might be year -->
                    <exception regexp="yes">20[0123]\d</exception><!-- exclude, might be year -->
                    <exception postag="NNP"/>
                    <exception scope="previous" postag="DT|PRP\$|POS" postag_regexp="yes"/>
                    <exception regexp="yes" scope="previous">&months;|season|category|size|\$\d+</exception>
                    <exception spacebefore="no" scope="previous">.</exception>
                    <exception scope="previous">×</exception>
              </token>
              <marker>
                  <token postag='NN.*' postag_regexp='yes'><exception postag="NNS"/><exception regexp="yes">^[\p{L}&amp;&amp;[^aeiuo]]+$</exception></token>
                  <token>'s</token>
              </marker>
         </pattern>
         <message>Incorrect singular possessive form after the number (\1). Did you mean <suggestion><match no="2"/>s</suggestion> or <suggestion><match no="2"/>s'</suggestion>?</message>
         <short>Agreement error</short>
         <example correction="days|days'">At the time, Guider was working just two <marker>day's</marker> drive from Narooma, in a Canberra suburb.</example>
         <example correction="Suzukis|Suzukis'">I was surprised to find five <marker>Suzuki's</marker> in my class.</example>
         <example>1933 World's Fair</example>
         <example>He is puzzled as to why three women's names were there.</example>
         <example>A total of 387 schools, 7 teacher's houses, and several vocational buildings had been built.</example>
         <example>I have 5 CD's.</example>
        </rule>
        <rule id="CD_DOZENS_OF" name="Plural form of numbers in 'two dozens of' (two dozen)">
            <pattern>
                <token postag="CD"/>
                <token regexp="yes">dozens|hundreds|thousands|[bm]illions</token>
                <token>of</token>
            </pattern>
            <message>Use a singular form of the numeral here.</message>
            <suggestion><match no="1"/> <match no="2" postag="NN"/></suggestion>
            <short>Grammatical problem</short>
            <example correction="two dozen">You need <marker>two dozens of</marker> eggs.</example>
        </rule>

        <rule id="NODT_DOZEN" name="Numeral (dozen, hundred, thousand, million) without a determiner or a number">
            <antipattern case_sensitive="yes"><!-- city in California -->
                <token>Thousand</token>
                <token>Oaks</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- #2439 https://en.wikipedia.org/wiki/The_Six_Million_Dollar_Man -->
                <token>Six</token>
                <token>Million</token>
                <token>Dollar</token>
                <token>Man</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Million_Dollar_Baby -->
                <token>Million</token>
                <token>Dollar</token>
                <token>Baby</token>
            </antipattern>
            <pattern>
                <token regexp="yes">dozen|hundred|thousand|[bm]illion
                    <exception scope="previous" postag_regexp="yes" postag="UNKNOWN|CD|W?DT|PRP\$|JJ"/>
                    <exception scope="previous" regexp="yes">&currency_symbols;|\p{Lu}+\d+|per|'s|of|few|several|'|couple</exception>
                </token>
            </pattern>
            <message>Use <suggestion>a <match no="1"/></suggestion>, or use a number before '<match no="1"/>'.</message>
            <short>Grammatical problem: missing determiner</short>
            <!-- <example correction="a hundred">You need almost <marker>hundred</marker> examples.</example> -->
            <example correction="a thousand">There are about <marker>thousand</marker> oaks in this park.</example>
            <example correction="a thousand">They say that one look is worth more than <marker>thousand</marker> words.</example>
            <example>You need almost <marker>a hundred</marker> examples.</example>
            <example>The U.S. government gave USD250 million to UNITA between 1986 to 1991.</example>
            <example>It was selected as the first of Life magazine's 'hundred photos that changed the world'.</example>
            <example>a couple dozen</example>
            <example>At a peak of 6 <!--note: non-breaking space --><marker>million</marker>.</example>
            <example>... which inspired the television series The Six Million Dollar Man.</example><!-- #2439 -->
            <example>In U.S. bakeries, a baker's dozen is 13, not 12.</example>
        </rule>

        <rulegroup id="MUCH_COUNTABLE" name="'much' + countable noun, e.g. 'much (many) children'">
            <antipattern><!-- How much does it cost? [No chunk for 'does'] / #3162 How much does that change over time? -->
                <token>how</token>
                <token>much</token>
                <token>does</token>
                <token min="0">n't</token>
                <token postag_regexp="yes" postag="PRP|DT|NN:U|NNP|UNKNOWN"/>
            </antipattern>
            <antipattern><!--  #2541 Drinking too much makes -->
                <token regexp="yes">how|too|very</token>
                <token>much</token>
                <token chunk="B-VP" postag="VB.*" postag_regexp="yes"/>
            </antipattern>
            <antipattern><!-- #2541 www.lexico.com/definition/pretty_much -->
                <token>pretty</token>
                <token regexp="yes">much|well</token>
            </antipattern>
            <antipattern><!-- #2541 See how much muffins usually cost. -->
                <token>how</token>
                <token>much</token>
                <token postag="NNS"/>
                <token min="0" max="2" postag="RB"/>
                <token>cost</token><!-- Seems to be some semantics. Refer to the 'break' example. -->
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- #2541 The supply of a good or service is how much -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token postag="DT"/>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token regexp="yes">and|or</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag_regexp="yes" postag="VB[ZD]"/>
                <token>how</token>
                <token>much</token>
            </antipattern>
            <antipattern><!-- #2541 understand how much humans love themselves -->
                <token postag_regexp="yes" postag="VB.*"/>
                <token>how</token>
                <token>much</token>
                <token chunk="E-NP-plural" postag="NNS">
                    <exception>does</exception>
                    </token>
                <token skip="-1" postag_regexp="yes" postag="VB[PD]">
                    <exception scope="next">?</exception>
                    </token>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!--  #2828 depending on how much firms know www.lexico.com/definition/depending_on-->
                <token>depending</token>
                <token>on</token>
                <token>how</token>
                <token>much</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token min="0" max="1" postag="RB"/>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/>
            </antipattern>
            <antipattern><!--  #2828 depending on (a) ... (b) how much firms know -->
                <token>depending</token>
                <token>on</token>
                <token>(</token>
                <token regexp="yes">a|1</token>
                <token skip="-1">)</token>
                <token>(</token>
                <token regexp="yes">[b-z]|[2-9]</token>
                <token>)</token>
                <token>how</token>
                <token>much</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token min="0" max="1" postag="RB"/>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">pretty|so|very|really</token>
                <token min="0">well</token>
                <token>much</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="3">thanks?</token>
                <token>much</token>
            </antipattern>
            <antipattern>
                <token>how</token>
                <token skip="6">much</token>
                <token regexp="yes" inflected="yes">
                    pay|salary|wage|re-?pay|cost|fund
                </token>
            </antipattern>
            <antipattern>
                <token>much</token>
                <token>remains</token>
            </antipattern>
            <antipattern><!-- He hasn't got much upstairs. -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>much</token>
                <token postag="RB" />
                <token postag="CC|PCT|TO" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- He hasn't got much upstairs. -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>much</token>
                <token postag="RB" />
                <token>that</token>
            </antipattern>
            <antipattern>
                <token>much</token>
                <token>does</token>
                <token>
                    <exception regexp="yes">are|have</exception>
                    <exception postag="MD" />
                </token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token>much</token>
                <token postag="VBZ" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="IN|PCT|CC" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>much</token>
                <token>needs</token>
                <token>to</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token>much</token>
                <token postag="NNS" />
                <token regexp="yes" spacebefore="no">&apostrophe;|'s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">s?he</token>
                <token>who</token>
                <token>has</token>
                <token>much</token>
                <token postag="VBZ" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- It is unclear how much things have improved -->
                <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                <token postag="RB" min="0" />
                <token postag="JJ" chunk="B-ADJP" />
                <token>how</token>
                <token>much</token>
                <token>things</token>
            </antipattern>
            <antipattern><!-- We'll see how much things change.  -->
                <token inflected="yes">see</token>
                <token>how</token>
                <token>much</token>
                <token>things</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token>much</token>
                <token>changes</token>
                <token postag="DT|PRP\$|PCT|IN" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>much</token>
                <token regexp="yes">less|more|needed|deserved|else|all|time|power|later|earlier</token>
            </antipattern>
            <antipattern>
                <token>much</token>
                <token chunk="I-NP-plural" />
                <token regexp="yes">indoors|outdoors|needs</token>
            </antipattern>
            <antipattern><!-- Much weather derivatives use is occurring in the natural gas, propane and electricity markets. -->
                <token>much</token>
                <token chunk="I-NP-plural" />
                <token chunk="E-NP-plural" />
                <token postag="NN:UN?" postag_regexp="yes" />
                <token postag="VB[DZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- Their worry isn't so much luxury goods from the West -->
                <token regexp="yes">'s|is</token>
                <token postag="RB" min="0" />
                <token inflected="yes">not</token>
                <token>so</token>
                <token>much</token>
            </antipattern>
            <antipattern>
                <token>its</token><!-- should be "it's" -->
                <token postag="RB" min="0" />
                <token>not</token>
                <token>so</token>
                <token>much</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">see|learn|confirm|ask|tell|show</token>
                <token postag="RB" min="0" />
                <token>how</token>
                <token skip="10">much</token>
                <token chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token>nothing</token>
                <token>much</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token regexp="yes">of|about|by</token>
                <token>how</token>
                <token skip="10">much</token>
                <token chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token>how</token>
                <token skip="10">much</token>
                <token inflected="yes" regexp="yes">earn|deserve</token>
            </antipattern>
            <antipattern>
                <token>how</token>
                <token>much</token>
                <token postag="JJ" min="0" />
                <token postag="NNS" />
                <token postag="RB" min="0" />
                <token regexp="yes">matter|weigh</token>
            </antipattern>
            <rule>
                <pattern><!-- But… well… not much stops you from creating a REST-API endpoint that takes a shell command as input. -->
                    <marker>
                        <token>much</token>
                    </marker>
                    <token postag="NNS">
                        <exception postag_regexp="yes" postag="NN:UN?|NN"/>
                        <exception regexp="yes">wants|makes|goes|puts|does</exception>
                        <exception>his</exception>
                        <exception>others</exception><!-- Possible incorrect postag NNS for 'others': www.merriam-webster.com/dictionary/others, www.lexico.com/en/definition/other, www.ldoceonline.com/dictionary/other -->
                    </token>
                </pattern>
                <message>Use <suggestion>many</suggestion> with countable plural nouns like '\2'.</message>
                <short>Grammatical problem with countable noun</short>
                <example correction="many">There are <marker>much</marker> children.</example>
                <!-- <example correction="many">How <marker>much</marker> muffins usually cost more than 10 euros each?</example> #2541 -->
                <!-- <example correction="many">See how <marker>much</marker> muffins actually cost less than 10 euros each.</example> #2541 -->
                <example correction="many">How <marker>much</marker> cats love milk?</example><!-- #2541 -->
                <example correction="many">It varies depending on how <marker>much</marker> computers you want to test.</example><!--  #2828 -->
                <example correction="many">It's so rare, that there aren't even <marker>much</marker> videos of it.</example>
                <example correction="many">I'd top it off with a “top tier” gas to get as <marker>much</marker> detergents as possible</example>
                <example correction="many">As Mark said, your elbows might not like so <marker>much</marker> pull-ups</example>
                <example correction="many">I live in a small town, not <marker>much</marker> coaches around here.</example>
                <example correction="many">Sami has never taken this <marker>much</marker> drugs.</example>
                <example correction="Many"><marker>Much</marker> thanks and a big high 5!</example>
                <example>How much does it cost?</example>
                <example>We kindly ask you to provide as much data as possible.</example><!-- #1822 -->
                <example>...about people receiving an income according to how much others subjectively value their labor or what...</example>
                <example>Drinking too much makes us dizzy.</example><!-- #2541 -->
                <example>See how much muffins usually cost.</example><!-- #2541 -->
                <example>Then he pretty much escapes that prison.</example><!-- #2541 -->
                <example>The supply of a good or service is how much producers are willing to make at a given price.</example><!-- #2541 -->
                <example>Everyone can understand how much humans love themselves.</example><!-- #2541 -->
                <example>Everyone can see how much cats love themselves.</example><!-- #2541 -->
                <example>Everyone can understand how much humans love beer.</example><!-- #2541 Possibly an error. -->
                <example>... depending on how much firms actually know about the law.</example><!--  #2828 -->
                <example>Consumers get good or bad deals from sellers depending on how much firms know about consumer preferences.</example><!--  #2828 -->
                <example>Consumers get good or bad deals from sellers depending on (a) how much they know about the offerings of different firms and, conversely, (b) how much firms know about consumer preferences.</example><!--  #2828 -->
                <example>How much does that change over time?</example><!-- #3162 -->
                <example type="triggers_error">Whether measured as how much citizens worry about climate change or whether climate change poses a threat to them or their way of life.</example><!-- #2541 Possibly correct. -->
                <example>How much did marketing cost?</example>
                <example>How much does a kilo of onions cost?</example>
                <example>How much does that cost?</example>
                <example>That pretty much leaves these two as possibilities</example>
                <example>Thank you so much guys for all</example>
                <example>He who has much wants even more.</example>
                <example>However, critics said it is unclear how much things have improved without PG&amp;E's participation in a statewide accord.</example>
                <example>How much does Tom owe you?</example>
                <example>Brilliant, Thank you so much guys!</example>
                <example>How much does bear spray cost?</example>
                <example>However, much remains to be done.</example>
                <example>Not sure about how much media it got.</example>
                <example>How much plumbers get paid is a matter of supply and demand.</example>
                <example>He hasn't got much upstairs.</example>
                <example>Tom refused to tell me how much his new motorcycle cost.</example>
                <example>But… well… not much stops you from creating a REST-API endpoint that takes a shell command as input.</example>
                <example>While much remains to be seen, Langevoort said Enron's action "seems to be a set of efforts that goes very much in the direction" of satisfying the SEC's guidelines.</example>
                <example>The consensus among potential investors is that much needs to be done on the regulatory system, the financial framework, and on tariffs before IPPs become feasible.</example>
                <example>A source close to the PUC said state regulators would be ready to take up the matter of the rate freeze whenever a deal was reached with the utilities on how much customers' bills would go up.</example>
                <example>But no one here says that the United States has been asked to leave, and they say the president very much values the U.S. presence in the region.</example>
                <example>Do you know how much strawberries cost right now?</example>
                <example>It pretty well much puts you in poverty.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>
                        <exception regexp="yes">too|as</exception>
                        <exception postag="SENT_START|PCT" postag_regexp="yes" />
                    </token>
                    <token>much</token>
                    <token postag="VBN" />
                    <token postag="NNS" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>much</token>
                    </marker>
                    <token postag="JJ" chunk_re="[BI]-NP-plural" />
                    <token postag="NNS" chunk_re="E-NP-plural">
                        <exception postag_regexp="yes" postag="NN:UN?|NN"/>
                        <exception regexp="yes">wants|makes|goes|puts|needs</exception>
                        <exception>his</exception>
                        <exception>others</exception><!-- Possible incorrect postag NNS for 'others': www.merriam-webster.com/dictionary/others, www.lexico.com/en/definition/other, www.ldoceonline.com/dictionary/other -->
                    </token>
                </pattern>
                <message>Use <suggestion>many</suggestion> with countable plural nouns like '\3'.</message>
                <short>Grammatical problem with countable noun</short>
                <example correction="many">There are <marker>much</marker> young children.</example>
                <example correction="many">Too <marker>much</marker> failed orders.</example>
                <example correction="many">I think that there are too <marker>much</marker> active processes on this server.</example>
                <example correction="many">Still have too <marker>much</marker> business meetings and suffer from lack of sleep.</example>
                <example correction="many">I'm going to start to learn as <marker>much</marker> foreign languages as possible before I die.</example>
                <example>You spend too much time indoors.</example>
                <example>On one occasion Aristotle was asked how much educated men were superior to those uneducated.</example>
                <example>The size of electric bills will depend on how hot it gets and how much power customers use for air conditioning.</example>
                <example>Much weather derivatives use is occurring in the natural gas, propane and electricity markets.</example>
                <example>It is not confirmed how much other features of its skeleton reflect adaptation to bipedalism on the ground as well.</example>
            </rule>
        </rulegroup>

        <rule id="MANY_NN" name="Possible agreement error: 'many/several/few' + singular countable noun">
            <antipattern case_sensitive="yes">
                <token>Many</token>
                <token postag="VBP"/>
            </antipattern>
            <antipattern>
                <token>many</token>
                <token>regard</token>
                <token regexp="yes">h(?:i[ms]|er)|its?|th(is|em)</token>
            </antipattern>
            <antipattern>
                <token>a</token>
                <token>few</token>
                <token/>
                <token>as</token>
            </antipattern>
            <antipattern>
                <token chunk="B-NP-plural" regexp="yes">many|several|few</token>
            </antipattern>
            <antipattern><!-- Many spring- and summer-flowering bulbs -->
                <token regexp="yes">many|several|few</token>
                <token/>
                <token spacebefore="no">-</token>
                <token regexp="yes">and|or</token>
            </antipattern>
            <antipattern><!-- many turn to -->
                <token regexp="yes">many|several|few</token>
                <token postag="VB"/>
                <token>to</token>
            </antipattern>
            <antipattern><!-- many Taxicab and Hackney carriage services [Taxicab/E-NP-singular, thus cannot use the chunker.] -->
                <token regexp="yes">many|several|few</token>
                <token/>
                <token regexp="yes">and|or|&amp;</token>
                <token postag="JJ|NN(:UN?|P)?" postag_regexp="yes"/>
                <token postag="JJ|NN(:UN?|P)?" postag_regexp="yes"/>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!--  #2673 several volunteer and semi-professional organizations / #3137 so many product and brand names -->
                <token regexp="yes">many|several|few</token>
                <token postag_regexp="yes" postag="JJR?|NNP?(:UN?)?"/>
                <token regexp="yes">and|or|to|&amp;</token>
                <token postag_regexp="yes" postag="JJR?|NNP?(:UN?)?"/>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!--  many other church and political leaders -->
                <token regexp="yes">many|several|few</token>
                <token postag_regexp="yes" postag="JJR?|NNP?(:UN?)?"/>
                <token postag_regexp="yes" postag="NNP?(:UN?)?"/>
                <token regexp="yes">and|or|&amp;</token>
                <token postag_regexp="yes" postag="JJR?|NNP?(:UN?)?" min="0" max="3" />
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- #2787 several Twitter and Facebook accounts -->
                <token regexp="yes">many|several|few</token>
                <token postag="NNP"/>
                <token regexp="yes">and|or|&amp;</token>
                <token postag="NNP"/>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- #2787 many think-->
                <token regexp="yes">many|several|few</token>
                <token chunk="B-VP" postag_regexp="yes" postag="VBD?"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token chunk="I-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token>follow</token>
                <token>up</token>
            </antipattern>
            <antipattern><!-- Many Volkswagen XYZs -->
                <token regexp="yes">many|several|few</token>
                <token />
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token>many</token>
                <token>to</token>
                <token>many</token>
            </antipattern>
            <antipattern><!-- #3271 [copy #3275] very few tariff and non-tariff barriers / a few tariff -->
                <token>are</token>
                <token postag_regexp="yes" postag="RB|DT"/>
                <token chunk="I-NP-singular" postag="JJ"/>
                <token chunk="E-NP-singular"/>
                <token regexp="yes">and|or</token>
                <token chunk="B-NP-plural"/>
                <token chunk="E-NP-plural"/>
            </antipattern>
            <antipattern><!-- #3271 a few affect both / a few affect my -->
                <token>a</token>
                <token>few</token>
                <token postag_regexp="yes" postag="VB[PD]?"/>
                <token postag_regexp="yes" postag="DT|PRP\$"/>
            </antipattern>
            <antipattern><!--  then a few US power majors are waiting in the wings -->
                <token regexp="yes">many|several|few</token>
                <token postag="NN:UN|NNP?" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>many</token>
                <token>care</token>
                <token>for</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token min="0">that</token>
                <token>many</token>
                <token>care</token>
                <token regexp="yes">,|but|because|since|\.|\!</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|which|who|what</token>
                <token>many</token>
                <token>fear</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token postag="RB" regexp="yes">(?!(extra|fast|little)$).+</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token regexp="yes">more|less|other</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token regexp="yes">more|less|other</token>
                <token chunk_re="[BI]-VP" />
            </antipattern>
            <antipattern><!-- just a few more follow up questions  / just a few other spin off games -->
                <token regexp="yes">add|plug|follow|spin|walk</token>
                <token postag="IN" />
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- A few low budget "Lost World" pictures were made in the 1970s, such as 1975's The Land That Time Forgot. -->
                <token regexp="yes">many|several|few</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token postag="NN:UN?|NNP?" postag_regexp="yes" />
                <token regexp="yes" spacebefore="yes">&quote;</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern><!-- However, there is a several second delay that I don’t know how to eliminate. -->
                <token>a</token>
                <token>several</token>
                <token regexp="yes">second|minute|hour</token>
                <token postag="NN:UN?|NNP?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN:UN?|NNP?" postag_regexp="yes" />
                <token regexp="yes">&hyphen_modifier;|like</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- many American Institute of Electrical Engineers papers -->
                <token regexp="yes">many|several|few</token>
                <token postag="JJ.*" postag_regexp="yes"/>
                <token postag="NN:UN?|NNP?" postag_regexp="yes" regexp="yes" case_sensitive="yes">[A-Z].+</token>
                <token>of</token>
                <token chunk="B-NP-plural" postag="JJ|NN.*|UNKNOWN" postag_regexp="yes" regexp="yes" case_sensitive="yes">[A-Z].+</token>
            </antipattern>
            <antipattern><!-- many hall of famers -->
                <token>hall</token>
                <token>of</token>
                <token>famers</token>
            </antipattern>
            <antipattern><!-- Thanks to all those people and many more space is limited. -->
                <token regexp="yes">and|or|&amp;</token>
                <token regexp="yes">many|several|few</token>
                <token regexp="yes">other|more|less</token>
                <token postag="NN:UN?|NNP?" postag_regexp="yes" />
                <token regexp="yes">was|is</token>
            </antipattern>
            <antipattern><!-- I am few million short of the daring dynamo who now runs the fucking world from Houston. -->
                <token>few</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token>short</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>stay</token>
                <token>at</token>
                <token>home</token>
            </antipattern>
            <antipattern><!-- I wonder how many go -->
                <token inflected="yes">wonder</token>
                <token>how</token>
                <token>many</token>
                <token postag="VBP">
                    <exception regexp="yes">&uncommon_verbs;</exception>
                </token>
                <token postag="PCT" />
            </antipattern>
            <antipattern><!-- I understand that many charge the same fee -->
                <token postag="VB.*" postag_regexp="yes" />
                <token>that</token>
                <token>many</token>
                <token postag="VBP">
                    <exception regexp="yes">&uncommon_verbs;</exception>
                </token>
                <token regexp="yes">the|an?|my|y?our|his|her|their|its|th[eo]se|this</token>
            </antipattern>
            <antipattern><!-- many exit the ... -->
                <token>many</token>
                <token postag="VB" />
                <token regexp="yes">the|an?|my|y?our|his|her|their</token>
            </antipattern>
            <antipattern>
                <token>many</token>
                <token>wonder</token>
                <token>if</token>
                <token regexp="yes">this|that|there|the|an?</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                <token>many</token>
                <token>hope</token>
                <token min="0">that</token>
                <token>there</token>
            </antipattern>
            <antipattern><!-- chunker fails for this -->
                <token>many</token>
                <token>miss</token>
                <token>out</token>
            </antipattern>
            <antipattern><!-- chunker fails for this -->
                <token>many</token>
                <token>debate</token>
                <token>on</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[tw]hat|who</token>
                <token>many</token>
                <token postag="VBP">
                    <exception regexp="yes">&uncommon_verbs;</exception>
                </token>
                <token postag="RP" />
            </antipattern>
            <antipattern>
                <token>few</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token>many</token>
                <token>know</token>
                <token>,</token>
            </antipattern>
            <antipattern><!-- And it only takes a few mouse clicks to subscribe. -->
                <token regexp="yes" skip="1">many|several|few</token>
                <token postag="NN:UN|NNP?" postag_regexp="yes" chunk_re="E-NP-.*" />
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Weka, a free implementation of many machine learning algorithms in Java. -->
                <token regexp="yes" skip="1">many|several|few</token>
                <token postag="NN:UN|NNP?" postag_regexp="yes" chunk_re="E-NP.*" />
                <token postag="NN:UN?|NNP?|VBG" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="1">many|several|few</token>
                <token postag="NN:UN|NNP?" postag_regexp="yes" chunk_re="E-NP-.*" />
                <token postag="UNKNOWN" regexp="yes">.+s</token>
            </antipattern>
            <antipattern><!-- ... a warning that many face bankruptcy following the terrorist attacks ... -->
                <token regexp="yes">many|few|several</token>
                <token postag="VBP" />
                <token postag="NN:UN" chunk_re="E-NP-singular" />
            </antipattern>
            <antipattern><!-- Many fall by the ... -->
                <token regexp="yes">many|few|several</token>
                <token postag="VBP">
                    <exception regexp="yes">&uncommon_verbs;</exception>
                </token>
                <token postag="IN" />
                <token chunk_re="B-NP.*" />
            </antipattern>
            <antipattern><!-- Many claim that the ... -->
                <token regexp="yes">many|few|several</token>
                <token postag="VBP">
                    <exception regexp="yes">&uncommon_verbs;</exception>
                </token>
                <token chunk="B-SBAR">that</token>
                <token chunk_re="B-NP.*" />
            </antipattern>
            <antipattern><!-- ... distinguishing between several visual and some acoustic discrimination pairs. -->
                <token regexp="yes">few|many|several</token>
                <token min="0">other</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
                <token regexp="yes">and|n?or|&amp;</token>
                <token postag="JJ.*|DT" postag_regexp="yes" chunk_re="B-NP-plural" />
            </antipattern>
            <antipattern><!-- incorrect chunking: between 1965 and 1982 many Choctaw Native Americans renewed their commitments -->
                <token regexp="yes">few|many|several</token>
                <token postag="NNP" />
                <token postag="NNP" min="0" />
                <token postag="NNPS" />
            </antipattern>
            <antipattern><!-- Accordingly, there will be a several month lag before the utilities receive any cash. -->
                <token>a</token>
                <token>several</token>
                <token postag="NN|NN:UN?" postag_regexp="yes" />
                <token postag="NN|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- A dozen major probes are afoot, many overlap, and more loom. -->
                <token>many</token>
                <token postag="VBP" />
                <token min="0">,</token>
                <token regexp="yes">and|&amp;</token>
                <token>more</token>
                <token postag="VBP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token regexp="yes">many|several|few</token>
                <token postag="NN:UN|NNP?" postag_regexp="yes" chunk_re="E-NP-.*" />
                <token regexp="yes">&quote;</token>
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-.*" />
            </antipattern>
            <antipattern><!-- ... been memorialized in many town, city, and county names, including the capital of Nebraska. -->
                <token regexp="yes">many|several|few</token>
                <token postag="NN:UN|NNP?" postag_regexp="yes" chunk_re="E-NP-.*" />
                <token>,</token>
                <token postag="NN:UN?|NNP?" postag_regexp="yes" chunk_re="E-NP-.*" />
                <token min="0">,</token>
                <token regexp="yes">and|&amp;|or</token>
                <token chunk_re=".-NP-plural" />
            </antipattern>
            <antipattern><!-- incorrect chunking -->
                <token>reality</token>
                <token>show</token>
                <token>contestants</token>
            </antipattern>
            <antipattern>
                <token>familiar</token>
                <token>with</token>
            </antipattern>
            <antipattern>
                <token>due</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- Chunker error: a few have remained -->
                <token regexp="yes">few|many</token>
                <token>have</token>
                <token chunk="B-VP" postag="VBN" />
            </antipattern>
            <antipattern case_sensitive="yes"><!-- #4862 few War of Independence veterans -->
                <token regexp="yes">many|several|few</token>
                <token regexp="yes">\p{Lu}\p{Ll}+</token>
                <token>of</token>
                <token chunk_re="B-NP-plural" postag_regexp="yes" postag="NN.*" regexp="yes">\p{Lu}\p{Ll}+</token>
                <token chunk_re="E-NP-plural"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">many|several|few</token>
                <token postag="VB" />
                <token postag="VBG" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- ... of many Nazi, Fascist Italian, and Japanese officials -->
                <token>many</token>
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token>,</token>
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token min="0">,</token>
                <token regexp="yes">and|or|&amp;</token>
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern><!-- ... of many Nazi, Italian, and Japanese officials -->
                <token>many</token>
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token>,</token>
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token min="0">,</token>
                <token regexp="yes">and|or|&amp;</token>
                <token postag="JJ|NNP" postag_regexp="yes" />
                <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">many|several|few</token>
                    <token postag="NNP?|NN:UN?|JJ.*" postag_regexp="yes" min="0" chunk_re="I-NP-.*">
                        <exception postag="NNP?S|IN|VBD" postag_regexp="yes" />
                        <exception regexp="yes">second|all|get|know|make</exception>
                    </token>
                    <token postag="NN:UN|NNP?" postag_regexp="yes" chunk_re="E-NP-.*">
                        <exception postag="NN:U|NNP?S|MD|CC|VB[DG]|IN|RB|PRP.*" postag_regexp="yes"/>
                        <exception inflected="yes">be</exception>
                        <exception regexp="yes">are|have</exception>
                        <exception regexp="yes" scope="next">(&apostrophe;).*</exception>
                        <exception scope="next" regexp="yes">/|\-|–</exception>
                        <exception regexp="yes">thousand|hundred|million|trillion|billion</exception>
                        <exception regexp="yes" case_sensitive="yes">&uom_abbreviations_SI;|&uom_abbreviations_other;</exception>
                    </token>
                </marker>
            </pattern>
            <message suppress_misspelled="yes">Possible agreement error. The noun '<match no="3"/>' seems to be countable; consider using: <suggestion>\1 \2 <match no="3" postag="NNP?S" postag_regexp="yes" case_conversion="preserve"/></suggestion>.</message>
            <short>Grammatical problem</short>
            <example correction="several books">I have <marker>several book</marker>.</example>
            <example>I have <marker>many books</marker>.</example>
            <example>I have <marker>much wine</marker>.</example>
            <example correction="many ways">... which is right in <marker>many way</marker>.</example>
            <example correction="many third-party applications">It also integrates with <marker>many third-party application</marker>.</example>
            <example correction="few questions">As you will see I have a <marker>few question</marker> noted on the TA.</example>
            <example correction="many 18-year-olds">How <marker>many 18-year-old</marker> are coming?</example>
            <example correction="many other users">I suspect <marker>many other user</marker> would also find this helpful.</example>
            <example correction="Many children"><marker>Many child</marker> are unhappy.</example>
            <example correction="Many animals"><marker>Many animal</marker></example>
            <example correction="many fans">There are <marker>many fan</marker> in the stadium.</example>
            <example correction="few extra pairs">Perhaps a <marker>few extra pair</marker> of eyes on the Pipeline Exception Summary and the Bridge Back Pipeline Summary in Unify this month would help.</example>
            <example correction="Many interesting Books"><marker>Many interesting Book</marker> are on the table.</example><!-- #4862 capitalization -->
            <example correction="many college entrances">On <marker>many college entrance</marker>, standardized tests and grades, African Americans have historically lagged behind whites, but some studies suggest that the achievement gap has been closing.</example>
            <example correction="several years">We think most of these amounts are likely to be recoverable, although a significant (perhaps <marker>several year</marker>) delay is possible as these claimants work their way through the bankruptcy process.</example>
            <example correction="few months">A <marker>few month</marker> ago, we discussed this situation and as shown below, not much progress has been made.</example>
            <example correction="Many cars"><marker>Many car</marker></example>
            <example>The state legislature gerrymandered the few Birmingham legislative seats.</example>
            <example>However, many support putting these 2 arguments.</example>
            <example>A few work as technical writers, others don't.</example>
<!-- False negative --><example><marker>Many cares</marker> for her.</example><!-- Refer to http://forum.languagetool.org/t/en-false-positive-aggreement-error/1210 -->
<!-- False negative --><example>Not that <marker>many cares</marker>, but it started as a dare.</example>
            <example><marker>Many care</marker> for her.</example>
            <example>Not that <marker>many care</marker>, but it started as a dare.</example>
            <example>She never seemed to have <marker>many cares</marker> in the world.</example>
            <example>Although she seemed to have a life of luxury with very <marker>few cares</marker>, the reality was different.</example>
            <example>The Society released a few in 1900 and was...</example>
            <example>How many cm are needed?</example>
            <example>Its cars became the first choice of many Nazi, Fascist Italian, and Japanese officials.</example>
            <example>It is what many search for.</example>
            <example>LanguageTool finds <marker>many style and grammar issues</marker>.</example>
            <example>Many spring- and summer-flowering bulbs grown in gardens in...</example>
            <example>In exploring Warhol's biography, many turn to this period — the late 1950s and early 1960s —...</example>
            <example>...lanthanum and actinium compounds differ by only a few percent.</example>
            <example>There are many Taxicab and Hackney carriage services on the Island.</example>
            <example>Are there many taxi and hackney carriage services here?</example>
            <example>A few go to Brasília.</example><!-- #3330 -->
            <example>But how many just work?</example>
            <example>A few low budget "Lost World" pictures were made in the 1970s, such as 1975's The Land That Time Forgot.</example>
            <example>After many subsequent playback and cooling cycles, the complete transmission back to Earth of all recorded Amalthea flyby data was successful.</example>
            <example>On the 11-day voyage, the pandemic influenza virus struck and killed many on board.</example>
            <example>I’ve seen squats pass with it, and I’ve seen many more get red lights.</example>
            <example>It also seems a needless complexity in what many already find to be a painful daily task.</example>
            <example>January 1st is the day when many Japanese go to shrines.</example>
            <example>However, until the Revolution, many considered whiskey to be a coarse alcohol.</example>
            <example>The Internetes Szinkron Adatbázis (ISzDB) is the largest Hungarian database for film dubs, with information for many live action and animated films.</example>
            <example>It was powerful in medieval and Renaissance Rome, supplying one Pope (Martin V) and many other Church and political leaders.</example>
            <example>In his short life, Basquiat produced around 1500 drawings, as well as around 600 paintings and many other sculpture and mixed media works.</example>
            <example>Dain Rauscher Wessels joined several late stage and crossover fund investors to invest in this round.</example>
            <example>Our relocation to the new building is fast approaching and there are several important move related items that I would like to stress at this time.</example>
            <example>The device is just on my coffee table at the moment for testing in the lounge next to a few other plug in devices.</example>
            <example>I’m not a body man but I have done quite a few automotive body and paint repairs along with a lot of motorcycle repairs and paint.</example>
            <example>Many 19th century and early 20th century bassists considered these compositions unplayable, but in the 2000s, they are frequently performed.</example>
            <example>Many Volkswagen XYZs.</example><!-- ignore unknown tokens (most likely proper nouns we don't have a POS for) -->
            <example>Adjective. ... sites may have housed up to 600 individuals in a few <marker>separate</marker> but closely spaced settlement clusters.</example>
            <example>Many Labour MPs remain adamantly opposed to an election in any circumstances.</example><!-- #2074 -->
            <example>Though there are several volunteer and semi-professional organizations, ...</example><!-- #2673 -->
            <example>The expectations of Africans were great, but many think that the second term of President Obama will...</example><!-- #2787 -->
            <example>... news immediately triggered online outrage; many think the university has violated student privacy ...</example><!-- #2787 -->
            <example>Today he has several Twitter and Facebook accounts managed by three Cabin...</example><!-- #2787 -->
            <example>... perpetrators of the cold-blooded murders of several Roma in Hungary.</example><!-- #2787 -->
            <example>Many Tuscarora and Oneida sided with the colonists.</example><!-- regression 2020-04-24-->
            <example>There are so many product and brand names.</example><!-- #3137 -->
            <example>I have left her several phone messages and she has not returned my call.</example>
            <example>I received your invoice for the last few model / paper reviews.</example>
            <example>In 1959, the team won its first pennant in 40 years, thanks to the efforts of several eventual Hall of Famers.</example>
            <example>His seminal books and many American Institute of Electrical Engineers papers "taught a whole generation of engineers how to deal with AC phenomena.</example>
            <example>Allentown is a several minute walk north to Allen Street.</example>
            <example>Without your guidance and direction and the many employee based programs you have initiated, I would not be where I am financially today.</example>
            <example>Thanks to all those people and many more space is limited.</example>
            <example>Now that many stay at home.</example>
            <example>I wonder how many go.</example>
            <example>I understand that many charge the same fee.</example>
            <example>I have a few follow up questions.</example>
            <example>Al-Qaeda is believed to be operating a clandestine aviation network including “ several Boeing 727 aircraft”, turboprops and executive jets, according to a Reuters story.</example>
            <example>Barbara, I spoke, through a few voicemail messages, with Robert Rose earlier today regarding the status of the easement we discussed a few weeks ago.</example>
            <example>However, this is actually matched by several Leeds - London Class 91-operated East Coast trains if their 2 minute recovery allowance for this section was excluded from the public timetable.</example>
            <example>These include poetry by Ovid, the Bible in one of the many vulgate versions it was available in at the time.</example>
            <example>We move to a many to many model.</example>
            <example>Beaux and her art friends defended the old order, and many thought (and hoped) the new movement to be a passing fad.</example>
            <example>Sami sent Layla many text messages.</example>
            <example>There are very few tariff or non-tariff barriers to trade with...</example><!-- #3271 -->
            <example>There are a few tariff and non-tariff barriers to deal with.</example><!-- #3271 -->
            <example>And a few affect both.</example><!-- #3271 -->
            <example>There were many wounded.</example>
            <example>Although quite a few affect these rules, we must be careful about the changes we make.</example><!-- #3271 -->
            <example>I told you that a few affect my rules!</example><!-- #3271, #3276 -->
            <example>And it only takes a few mouse clicks to subscribe.</example>
            <example>Weka, a free implementation of many machine learning algorithms in Java.</example>
            <example>In order to enhance economic growth, the government set up several export processing zones to attract foreign investment.</example>
            <example>It took many torpedo hits to send the battleship Bismarck to Davy Jones's locker.</example>
            <example>There are still a few Heddle Bead Looms being manufactured today.</example>
            <example>In case Enron decides to pull the plug, then a few US power majors are waiting in the wings to step in.</example>
            <example>In addition, several OASIS audit logs actually erased historical data.</example>
            <example>Although there were many IRA men—both Official and Provisional—present at the protest, it is claimed they were all unarmed, apparently because it was anticipated that the paratroopers would attempt to "draw them out".</example>
            <example>Many doubt OPEC's ability to maintain its modest level of quota discipline after it and rival exporters agreed to cut almost 2 million bpd from the worlds supplies.</example>
            <example>During the 2006 season, return specialist Devin Hester set several kick return records.</example>
            <example>Seattle Passing Game vs San Diego Defense Matt Hasselbeck hasn't carried many FF Teams this season and I doubt it'll start now.</example>
            <example>You can find many date palm groves in southern Algeria.</example>
            <example>Many microcomputer BASICs did not support this data type; matrix operations were still possible, but had to be programmed explicitly on array elements.</example>
            <example>That's why I've given you so many user IDs.</example>
            <example>See " Military the United States called on the U.S. Government for help after a warning that many face bankruptcy following the terrorist attacks of September 11, 2001.</example>
            <example>Sami created many cartoon characters.</example>
            <example>While many view planning and flexibility as mutually exclusive terms, planning is very important in maximizing savings while the flexibility aspect ensures readiness to take advantage of an offer when it appears.</example>
            <example>It has a few dB.</example><!-- #3313 -->
            <example>The best ones succeed, but many fall by the wayside of the Information superhighway.</example><!-- #3255 -->
            <example>I still have a few left.</example><!-- #3256 -->
            <example>I still have many left.</example><!-- #3257 -->
            <example>There were not many present.</example><!-- #3257 -->
            <example>The financial crisis has left many unemployed.</example><!-- #3257 -->
            <example>His center fielder let very few get by.</example><!-- #3258 -->
            <example>So how many more need to be replaced and do I need both the bottom and top mattresses?</example><!-- #3565 -->
            <example>They lock them in before too many exit the zoo.</example>
            <example>Many look quite a bit like American campaign logos.</example>
            <example>The first few are:</example>
            <example>A dozen major probes are afoot, many overlap, and more loom.</example>
            <example>In sum, though many claim that the Legislature will bring justice.</example>
            <example>Accordingly, there will be a several month lag before the utilities receive any cash.</example>
            <example>In the social changes around the civil rights era, between 1965 and 1982 many Choctaw Native Americans renewed their commitments to the value of their ancient heritage.</example>
            <example>One study of a captive female Asian elephant suggested the animal was capable of learning and distinguishing between several visual and some acoustic discrimination pairs.</example>
            <example>Reuters said Lucent would offer buyouts to "several thousand" managers.</example>
            <example>His likeness also appears on many postage stamps and has been memorialized in many town, city, and county names, including the capital of Nebraska.</example>
            <example>But like many familiar with the terms, he hopes that some deals can be renegotiated.</example>
            <example>Many remain curiosities — only a few have remained in use: He knows he ought to do that soon.</example>
            <example>He found himself at a disadvantage at Hamilton College with many due to his intellectual attitude.</example>
            <example>Many remain curiosities — only a few have remained in use:</example><!-- have/E-NP-singular -->
            <example>In 1862, he was one of the few War of Independence veterans that helped in...</example><!-- #4862 -->
            <example type="triggers_error">Earlier, at the AGM he said a few other US power producing majors have shown interest in stepping into Enron's shoes in case the main promoter decides to get out of the project.</example>
            <example type="triggers_error">As there were many items discussed, but only a very few requiring insertion into the BETA and FA, I hope that I covered them all.</example>
            <example type="triggers_error">A few buzz at the highest levels in certain fixtures.</example>
            <example type="triggers_error">GDP growth, which many regard as inflated by statistical quirks anyway, has declined from 6.6% in the fiscal year ending March 2000 to an estimated 6% in fiscal 2001.</example>
            <example type="triggers_error">The term Duhkha also appears in many other middle and later post-Buddhist Upanishads.</example>
            <example type="triggers_error">I think Bob has made a few flush mount recessed mounts, but that would probably be a custom request for him.</example>
        </rule>

        <rulegroup id="DT_JJ_NO_NOUN" name="Missing noun after an adjective">
            <!-- TODO "a back-log/time-lapse/white-collar/end-user/part-time/entry-level/long-term."-->
            <antipattern>
                <token regexp="yes">an?</token>
                <token regexp="yes">\d{1,3}(st|nd|rd|th)</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token regexp="yes" case_sensitive="yes">[A-Z]{2,4}</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">an?</token>
                <token regexp="yes">.*-.*</token>
            </antipattern>
            <rule tags="picky">
                <pattern>
                    <token>
                        <exception regexp="yes">&apostrophe;</exception>
                        <exception inflected="yes">call</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">an?</token>
                        <token postag="JJ">
                            <exception postag="NN.*" postag_regexp="yes"/>
                            <exception regexp="yes">(\d+|one|two|three|four|five|six|seven|eight|nine|ten)-(figure|pack)</exception>
                            <exception regexp="yes">antivirus|approximate|cappella|definite|failsafe|.*fold|nonterminal|prim|rockstar|.*sexual|transgender</exception>
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                        </token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>A noun may be missing here.</message>
                <example correction="">This is <marker>an absurd</marker>.</example>
                <example>This is an absurd opinion.</example>
                <example>Harry hit an impressive 80%</example>
                <example>Have a nice WE</example>
                <example>It is a no-go.</example>
                <example>Michael Moulton has done a swap with a Korean entity that will be confirmed under a confirmation with Annex A attached.</example>
                <example>Their compensation will most likely be equal or better and they will be working for a going concern that is A rated.</example>
                <example>The exterior derivative of a 1-form is therefore a 2-form, and that of a 2-form is a 3-form.</example>
                <example>There have been three editions, and the publisher wants her to do a 4th.</example>
                <example>Regards, Hollis Val Artman Hi Hollis, this request came to me as a FAR.</example>
                <example>He's a metrosexual.</example>
                <example>The least initial deviation from the truth is multiplied later a thousandfold.</example>
                <example>He teaches the Qur'an online.</example>
                <example>The point where they meet is called a convergent.</example>
            </rule>
            <rule>
                <antipattern><!-- #4509 -->
                    <token regexp="yes">an?</token>
                    <token/>
                    <token chunk_re="[BI]-NP-singular">'s</token>
                    <token chunk_re="[EI]-NP-singular" postag="NN(:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="JJ" chunk_re="I-NP.*" />
                    <token max="4" chunk_re="I-NP.*" />
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">an?</token>
                        <token postag="JJ">
                            <exception postag="NN.*" postag_regexp="yes"/>
                            <exception regexp="yes">antivirus|approximate|cappella|definite|failsafe|.*fold|nonterminal|prim|rockstar|.*sexual|transgender</exception>
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                        </token>
                    </marker>
                    <token postag="VBZ"><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>A noun may be missing here.</message>
                <example correction=""><marker>An absurd</marker> is making my existence meaningless.</example>
                <example><marker>An absurd existence</marker> is meaningless.</example>
                <example>He became a civil rights attorney and an academic.</example><!-- #2378 -->
                <example>It will be a nine-day's wonder.</example><!-- #4509. See also 4528 -->
                <example>This is a new's test by Mike.</example><!-- #4509 -->
                <example>ENA provides certain administrative services to LVC II pursuant to an Administrative Services Agreement.</example><!-- #4509 -->
                <example>We could agree to enter into a Consulting Services Agreement with Kevin.</example><!-- #4509 -->
                <example>I have also asked Mike McConnell to provide a global markets perspective.</example><!-- #4509 -->
                <example>The affiliation permits the two schools to share some academic resources; for example, only Barnard has an urban studies department, and only Columbia has a computer science department.</example><!-- #4509 -->
                <example>I will issue a revised transitions issues list tomorrow afternoon, after my energy ops meeting.</example>
                <example>This was a setback, but the meetings provided an opportunity to meet some new service industry players, such as the brand new Japan Services Network (established Oct. 15, 1999), a new services industry group in Hong Kong, and the European Services Forum.</example>
                <example>For the professional creative market, there is Aperture for professional RAW-format photo processing; Final Cut Pro, a video production suite; Logic Pro, a comprehensive music toolkit; and Motion, an advanced effects composition program.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MANY_NN_U" name="Possible agreement error: 'many/several/few' + uncountable noun">
            <rule>
                <antipattern>
                    <token>many</token>
                    <token chunk="I-NP-plural" postag="NN:U"/>
                    <token chunk="I-NP-plural" postag="JJ|NN:UN?" postag_regexp="yes"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token><exception postag="NNP?S|CC" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </antipattern>
                <antipattern>
                    <token>jelly</token>
                    <token>beans</token>
                </antipattern>
                <antipattern><!-- many IT/telecommunications -->
                    <token>many</token>
                    <token case_sensitive="yes">IT</token>
                    <token>/</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern>
                    <token>many</token>
                    <token postag="NN:U" />
                    <token regexp="yes">&apostrophe;</token>
                </antipattern>
                <antipattern>
                    <token>many</token>
                    <token postag="NN:U" />
                    <token postag="NNP?S|CC" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token>many</token>
                        <token postag="NN:U">
                            <exception postag="NN:UN|NN[PS]?|NNPS|JJ.*|VBG|RB|MD" postag_regexp="yes"/>
                            <exception>felt</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Possible agreement error. The noun <match no="2"/> seems to be uncountable; consider using: <suggestion>much <match no="2"/></suggestion>, <suggestion>a good deal of <match no="2"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="much wine|a good deal of wine">I have <marker>many wine</marker>.</example>
                <example correction="much money|a good deal of money">I have <marker>many money</marker></example>
                <example>How many wine bars are there in Cheshire?</example>
                <example>This ended in death-like trances with many lying exhausted and panting on chair and floor.</example>
                <example>... Amsterdam Museum, its red-light district, and its <marker>many cannabis coffee shops</marker> draw more than 3.66 million ...</example>
                <example>Many once large and international communities have been...</example>
                <example>... as many may think that this is the real one.</example>
                <example>In many IT/telecommunications companies, this position is organically higher than the chief technical officer.</example>
                <example>With many IT budgets being frozen or reduced...</example><!-- #3898 -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>many</token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*|VBG" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="CC"/>
                    <token><exception postag="NNP?S" postag_regexp="yes"/></token>
                    <token><exception postag="NNP?S" postag_regexp="yes"/></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="2"/> seems to be uncountable; consider using: <suggestion>much <match no="2"/></suggestion>, <suggestion>a good deal of <match no="2"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="much wine|a good deal of wine">There are <marker>many wine</marker> and a lot is happening this spring.</example>
                <example>There are many wine and food festivals this spring.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>many</token>
                        <token postag="JJ"><exception postag="NN:UN|NNP?|NNS|NNPS" postag_regexp="yes"/></token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NNP?S|CC" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="3"/> seems to be uncountable; consider using: <suggestion>much <match no="2"/> <match no="3"/></suggestion>, <suggestion>a good deal of <match no="2"/> <match no="3"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="much red wine|a good deal of red wine">I have <marker>many red wine</marker>.</example>
                <example>I have <marker>much wine</marker>.</example>
                <example>How many wine bars are there in Cheshire?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>many</token>
                        <token postag="JJ"><exception postag="NN:UN|NNP?|NNS|NNPS" postag_regexp="yes"/></token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="CC"/>
                    <token><exception postag="NNP?S" postag_regexp="yes"/></token>
                    <token><exception postag="NNP?S" postag_regexp="yes"/></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="3"/> seems to be uncountable; consider using: <suggestion>much <match no="2"/> <match no="3"/></suggestion>, <suggestion>a good deal of <match no="2"/> <match no="3"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="much red wine|a good deal of red wine">I have <marker>many red wine</marker> and a lot is happening this spring.</example>
                <example>There are many good wine and food festivals this spring.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>a</token>
                        <token>number</token>
                        <token>of</token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NNP?S|CC" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="4"/> seems to be uncountable; consider using: <suggestion>much <match no="4"/></suggestion>, <suggestion>a good deal of <match no="4"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="much wine|a good deal of wine">I have <marker>a number of wine</marker>.</example>
                <example>How many wine bars are there in Cheshire?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>few</token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*|MD" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NNP?S" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="2"/> seems to be uncountable; consider using: <suggestion>little <match no="2"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="little wine">I have a <marker>few wine</marker>.</example>
                <example>I have <marker>little wine</marker>.</example>
                <example>Though few may recognize how good it actually is.</example>
                <example>There are some news items and a few IT Tasks identified.</example><!-- #3898 -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>few</token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="CC"/>
                    <token><exception postag="NNP?S" postag_regexp="yes"/></token>
                    <token><exception postag="NNP?S" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="2"/> seems to be uncountable; consider using: <suggestion>little <match no="2"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="little wine">There is <marker>few wine</marker> and a lot is happening this spring.</example>
                <example>There are few wine and food festivals this spring.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>several</token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*|MD" postag_regexp="yes"/></token>
                    </marker>
                    <token><exception postag="NNP?S" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="2"/> seems to be uncountable; consider using: <suggestion>some <match no="2"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="some wine">I have <marker>several wine</marker>.</example>
                <example>I have <marker>some wine</marker>.</example>
                <example>There were several IT teams (your local IT Support as well as...</example><!-- #3898 -->
                <example>Buzzards do not normally form flocks, but several may be seen together on migration or in good habitat.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>several</token>
                        <token postag="NN:U"><exception postag="NN:UN|NNP?|NNP?S|JJ.*|MD" postag_regexp="yes"/></token>
                    </marker>
                    <token postag="CC"/>
                    <token><exception postag="NNP?S" postag_regexp="yes"/></token>
                    <token><exception postag="NNP?S" postag_regexp="yes"/><exception regexp="yes">&apostrophe;</exception></token>
                </pattern>
                <message>Possible agreement error. The noun <match no="2"/> seems to be uncountable; consider using: <suggestion>some <match no="2"/></suggestion>.</message>
                <short>Grammatical problem</short>
                <example correction="some wine">There is <marker>several wine</marker> and a lot is happening this spring.</example>
                <example>There are several wine and food festivals this spring.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOUBLE_NEGATIVE" name="Double negative (e.g., 'not... nothing' instead of 'not... anything')">
            <antipattern>
                <token inflected="yes">not</token>
                <token regexp="yes" inflected="yes">accept|take</token>
                <token>no</token>
                <token>for</token>
                <token>an</token>
                <token>answer</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>matter</token>
                <token regexp="yes">w.+|how</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">ai|are|ca|can|could|did|do(es)?|ha[ds]|have|is|may|might|must|need|ought|sh(a|ould)|was|were|wo|will|would</token>
                    <token>n't</token>
                    <token>not</token>
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>\1\2</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Negation after negation</short>
                <example correction="shouldn't">You <marker>shouldn't not</marker> do it!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ai|are|ca|could|did|do(es)?|ha[ds]|have|is|may|might|must|need|ought|sha|should|was|were|wo|would</token>
                    <token>n't</token>
                    <token>have</token>
                    <token>not</token>
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>\1\2 \3</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Negation after negation</short>
                <example correction="shouldn't have">You <marker>shouldn't have not</marker> done it!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>who</token>
                    <token postag="VB.*" postag_regexp="yes" skip="1"/>
                    <token regexp="yes">no(thing|body|where)</token>
                    <token postag="VB.*" postag_regexp="yes" skip="1"/>
                    <token regexp="yes">no(thing|body|where)</token>
                </antipattern>
                <antipattern>
                    <token>for</token>
                    <token>nothing</token>
                </antipattern>
                <antipattern>
                    <token>nothing</token>
                    <token skip="3">is</token>
                    <token>nothing</token>
                </antipattern>
                <antipattern>   <!-- "ain't" + double negative likely a style choice -->
                    <token>ai</token>
                    <token>n't</token>
                </antipattern>
                <antipattern>
                    <token>nobody</token>
                    <token>else</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">n't|not|nobody|nothing|never<exception scope="previous">or</exception></token>
                    <token postag="VB.*" postag_regexp="yes" skip="1"><exception>believe</exception></token>
                    <marker>
                        <token regexp="yes">nothing|nobody|nowhere
                            <exception negate_pos="yes" postag="PRP(_.*)?|VB.*|TO|IN" postag_regexp="yes" scope="previous"/>
                            <!--<exception scope="previous" regexp="yes">,|that|which</exception>-->
                        </token>
                    </marker>
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion><match no="3" regexp_match="no(.*)" regexp_replace="any$1"/></suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="anything">Nobody told me <marker>nothing</marker>.</example>
                <example correction="anybody">I'm not speaking to <marker>nobody</marker> in this class.</example>
                <example correction="anything">I didn't notice <marker>nothing</marker> wrong.</example>
                <example correction="anything">I didn't see <marker>nothing</marker>.</example>
                <example>Tom wasn't surprised nobody else was there.</example>
                <example>I didn’t see anything.</example>
                <example>I couldn’t say no to Tom.</example>
                <example>I couldn’t accept no for an answer.</example>
                <example>I haven't said no yet.</example>
                <example>I'm not taking no for an answer.</example>
                <example>Tom didn't like not having enough money.</example>
                <example>I can't believe nobody came to your party.</example>
                <example>She did not mind not being allowed to cook.</example>
                <example>Those who possess nothing lose nothing.</example>
                <example>I can't believe nobody came to your party.</example>
                <example>They didn't die for nothing.</example>
                <example>If slavery is not wrong, nothing is wrong</example>
                <example>It doesn't matter if nobody comes.</example>
                <example>You ain't seen nothing yet.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">do|does</token>
                        <token>n't</token>
                        <token regexp="yes">need|have|want|make|take|get</token>
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>\3 \4</suggestion>
                <suggestion>\1\2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="have no|don't have any">I <marker>don't have no</marker> idea.</example>
                <example correction="need no|don't need any">I <marker>don't need no</marker> damn help.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ca</token>
                        <token spacebefore="no">n't</token>
                        <token postag="VBP?" postag_regexp="yes" />
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>can \3 \4</suggestion>
                <suggestion>\1\2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="can show no|can't show any">I <marker>can't show no</marker> emotion.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>cannot</token>
                        <token postag="VBP?" postag_regexp="yes" />
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>can \2 \3</suggestion>
                <suggestion>\1 \2 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="can show no|cannot show any">I <marker>cannot show no</marker> emotion.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">do|does</token>
                        <token>not</token>
                        <token regexp="yes">need|have|want|make|take|get</token>
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>\3 \4</suggestion>
                <suggestion>\1 \2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="have no|do not have any">I <marker>do not have no</marker> idea.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>did</token>
                        <token>n't</token>
                        <token regexp="yes">need|have|want|make|take|get</token>
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion><match no="3" postag="VBD" /> \4</suggestion>
                <suggestion>\1\2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="had no|didn't have any">I <marker>didn't have no</marker> idea.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>did</token>
                        <token>not</token>
                        <token regexp="yes">need|have|want|make|take|get</token>
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion><match no="3" postag="VBD" /> \4</suggestion>
                <suggestion>\1 \2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="had no|did not have any">I <marker>did not have no</marker> idea.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">have|has|had</token>
                        <token>n't</token>
                        <token postag="VBN" />
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>\1 \3 \4</suggestion>
                <suggestion>\1\2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="have done no|haven't done any">I <marker>haven't done no</marker> harm.</example>
                <example correction="had done no|hadn't done any">I <marker>hadn't done no</marker> harm.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">have|has|had</token>
                        <token>not</token>
                        <token postag="VBN" />
                        <token>no</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>This phrase contains a double negative.</message>
                <suggestion>\1 \3 \4</suggestion>
                <suggestion>\1 \2 \3 any</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <example correction="have done no|have not done any">I <marker>have not done no</marker> harm.</example>
            </rule>
            <rule default="off">
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB.*" postag_regexp="yes" min="0"></token>
                    <marker>
                        <token regexp="yes">n(othing|obody|owhere)</token>
                    </marker>
                </pattern>
                <message>This word is part of a double negative.</message>
                <suggestion><match no="3" regexp_match="(?i)no" regexp_replace="any" /></suggestion>
                <example correction="anything">I didn't see <marker>nothing</marker>.</example>
                <example correction="anybody">... but there wasn’t <marker>nobody</marker> in the office.</example>
            </rule>
            <rule default="off">
                <antipattern>
                    <token inflected="yes">not</token>
                    <token regexp="yes">like|mind</token>
                    <token>not</token>
                    <token postag="VBG"/>
                </antipattern>
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB.*" postag_regexp="yes" min="0"><exception regexp="yes">[,;:-]|sa(y|id)|believe</exception></token>
                    <token regexp="yes">n(ot?|othing|ever|either|obody|owhere)</token>
                </pattern>
                <message>This phrase contains a double negative, or a comma may be missing.</message>
                <short>Bad style</short>
                <example correction="">I did<marker>n't see nothing</marker>.</example>
                <example>I didn’t see anything.</example>
                <example>I couldn’t say no to Tom.</example>
                <example>I couldn’t accept no for an answer.</example>
                <example>I haven't said no yet.</example>
                <example>I'm not taking no for an answer.</example>
                <example>Tom didn't like not having enough money.</example>
                <example>I can't believe nobody came to your party.</example>
                <example>She did not mind not being allowed to cook.</example>
                <example correction="">... but there was<marker>n’t nobody</marker> in the office.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB.*" postag_regexp="yes" min="0"><exception regexp="yes">[,;:-]|sa(y|id)|believe</exception></token>
                    <marker>
                        <token>not</token>
                        <token>to</token>
                        <token postag="VB" />
                    </marker>
                </pattern>
                <message>To avoid using a double negative, consider moving 'not' inside of the infinitive construction.</message>
                <suggestion>\4 \3 \5</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Bad style</short>
                <example correction="to not believe">You can't afford <marker>not to believe</marker> me.</example>
                <example correction="to not be">I'm not saying <marker>not to be</marker> concerned.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VBG" />
                    <token>no</token>
                </antipattern>
                <antipattern>
                    <token postag="VB" />
                    <token>no</token>
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token>nobody</token>
                    <token>else</token>
                </antipattern>
                <pattern>
                    <token><exception>ai</exception></token>
                    <token inflected="yes">not</token>
                    <marker>
                        <token postag="VB.*" postag_regexp="yes"><exception regexp="yes">[,;:-]|sa(y|id)|believe</exception></token>
                        <token regexp="yes" case_sensitive="yes">no(body|thing|where)?</token>
                    </marker>
                    <token><exception>one</exception></token>
                </pattern>
                <message>This phrase contains a double negative, or a comma may be missing.</message>
                <suggestion>\3 <match no="4" regexp_match="no" regexp_replace="any" /></suggestion>
                <suggestion>\3, \4</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Bad style</short>
                <example correction="be anything|be, nothing">There won't <marker>be nothing</marker> much, but please come by my house this evening.</example>
                <example correction="get any|get, no">At JRTC where the Light Fighters (i.e. no armor assets organic to them) learn to play, we don't <marker>get no</marker> stinkin satellites.</example>
                <example>I can usually get the same device, from reputable vendors, not talking no name made in china versions, for 30% - 50% cheaper, and just control from Alexa.</example>
                <example>I know people with the achievement, so its not like no one has unlocked it.</example>
                <example>Since there was no defending Drivers' Champion in the field this season, defending Constructors' Champion Williams could not use No. 1 on either of its cars.</example>
                <example>Shortcuts to vulgar language does not constitute no swearing.</example>
                <example>I ain't got no kids.</example>
                <example>Tom wasn't surprised nobody else was there.</example>
            </rule>
            <rule>
                <antipattern>
                    <token><exception>if</exception></token>
                    <token>not</token>
                    <token>no</token>
                    <token chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">is|'s</token>
                    <token>not</token>
                    <token>nothing</token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="CC|," postag_regexp="yes" />
                        <exception>ai</exception>
                    </token>
                    <token inflected="yes">not</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">no(body|thing|where)?</token>
                    </marker>
                    <token><exception regexp="yes">longer|why</exception></token>
                </pattern>
                <message>This phrase contains a double negative, or a comma may be missing.</message>
                <suggestion> <match no="3" regexp_match="no" regexp_replace="any" /></suggestion>
                <suggestion>, \3</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Bad style</short>
                <example correction=" anybody|, nobody">There wasn't<marker> nobody</marker> there.</example>
                <example correction=" anywhere|, nowhere">There wasn't<marker> nowhere</marker> where we could find red chili paste.</example>
                <example>As an example, i was looking into why my HSM100 wasn't working reading all the threads on it- there are a couple where people were complaining about how the device “only report motion” and not no motion.</example>
                <example>Shen Hui also states that true emptiness is not nothing, but it is a "Subtle Existence" (miao-yu), which is just "Great Prajña.</example>
                <example>i am not able to install terminal_plus package.every time i tried to install it got failed.i don't no why</example>
                <example>Harmonium debuted outside the top 20 on the US Billboard 200, and sales fell considerably short of those of Carlton's debut album, Be Not Nobody (2002).</example>
                <example>However, Hegel interprets not-A as not existing at all, not nothing at all, which cannot be conceived, but indeterminate or "pure" being without particularity or specificity.</example>
                <example>There ain't nobody there.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="5">neither</token>
                    <token regexp="yes">n?or?|neither</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB.*" postag_regexp="yes" min="0"><exception regexp="yes">[,;:-]|sa(y|id)|believe</exception></token>
                    <marker>
                        <token>neither</token>
                    </marker>
                </pattern>
                <message>This phrase contains a double negative, did you mean to use 'either'?</message>
                <suggestion>either</suggestion>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Bad style</short>
                <example correction="either">Sorry, I don't have <marker>neither</marker> one.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ca|could</token>
                    <token>n't</token>
                    <token>hardly</token>
                </pattern>
                <message>This phrase contains a double negative, or a comma may be missing.</message>
                <suggestion><match no="1" regexp_match="ca\b" regexp_replace="can"/> \4</suggestion>
                <short>Negation after negation</short>
                <example correction="could hardly">She <marker>couldn't hardly</marker> understand a word.</example>
                <example correction="can hardly">She <marker>can't hardly</marker> understand a word.</example>
                <example>She <marker>can hardly</marker> speak.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">c(an|ould)</token>
                    <token>not</token>
                    <token>hardly</token>
                </pattern>
                <message>This phrase contains a double negative, or a comma may be missing.</message>
                <suggestion>\1 \3</suggestion>
                <short>Negation after negation</short>
                <example correction="could hardly">She <marker>could not hardly</marker> understand a word.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token regexp="yes">n't|not|never</token>
                    <token postag="VBN"/>
                    <token regexp="yes">n(othing|e(ith|v)er|obody|owhere)</token>
                </pattern>
                <message>This phrase contains a double negative, or a comma may be missing.</message>
                <url>https://languagetool.org/insights/post/double-negatives/</url>
                <short>Negation after negation</short>
                <example correction="">She <marker>hasn't seen nobody</marker>.</example>
                <example correction="">We <marker>have not heard nothing</marker>.</example>
                <example>I <marker>haven't said no</marker> yet.</example>
            </rule>
            <rule default="temp_off">
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB" />
                    <token postag="PRP_O.*" postag_regexp="yes" />
                    <marker>
                        <token>no</token>
                    </marker>
                    <token chunk_re="[IE]-NP.*" />
                </pattern>
                <message>TBD</message>
                <suggestion>any</suggestion>
                <example correction="any">That won't do you <marker>no</marker> good.</example>
                <example correction="any">Don't give me <marker>no</marker> nonsense.</example>
            </rule>
            <rule default="temp_off">
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB" />
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <marker>
                        <token>no</token>
                        <token regexp="yes">body|one|thing|where</token>
                    </marker>
                </pattern>
                <message>TBD</message>
                <suggestion>any\7</suggestion>
                <example correction="anywhere">I can't find my keys <marker>no where</marker>.</example>
            </rule>
            <rule default="temp_off">
                <pattern>
                    <token inflected="yes">not</token>
                    <token postag="VB" />
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="I-NP.*" />
                    <token min="0" chunk_re="E-NP.*" />
                    <marker>
                        <token regexp="yes">no(body|one|thing|where)</token>
                    </marker>
                </pattern>
                <message>TBD</message>
                <suggestion><match no="6" regexp_match="no" regexp_replace="any" /></suggestion>
                <example correction="anywhere">I can't find my keys <marker>nowhere</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TIP_AND_TRICK" name="misspelled tips and tricks">
            <rule>
                <pattern>
                    <token>tips</token>
                    <token>and</token>
                    <marker>
                        <token>trick</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3"/>s</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="tricks">tips and <marker>trick</marker></example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>tip</token>
                    </marker>
                    <token>and</token>
                    <token>tricks</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1"/>s</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="tips"><marker>tip</marker> and tricks</example>
            </rule>
        </rulegroup>
        <rulegroup id="AD_AND" name="ad (and)">
            <rule>
                <pattern>
                    <token postag="JJ"></token>
                    <token>,</token>
                    <token postag="JJ"></token>
                    <marker>
                        <token>ad</token>
                    </marker>
                    <token postag="JJ"></token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="and">They discussed the environmental, economic <marker>ad</marker> social aspects.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GOOD_GOOF" name="goof (good)">
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes" regexp="yes">be|have</token>
                    <token min="0" regexp="yes">as|not</token>
                    <marker>
                        <token>goof</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>good</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="good">It wasn't the best game, but it was <marker>goof</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FOR_MY" name="form y (for my)">
            <rule>
                <pattern case_sensitive="yes">
                    <token>form</token>
                    <token>y<exception scope="next">=</exception></token>
                </pattern>
                <message>Did you mean <suggestion>for my</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="for my">I realize there's no excuse <marker>form y</marker> words.</example>
            </rule>
        </rulegroup>

        <rulegroup id="SENTENCE_FRAGMENT" name="Sentence is a fragment" tags="picky">
            <url>http://www.chompchomp.com/rules/fragrules.htm</url>
            <!--rule R0.1A Single word list, likely to start a fragment -->
            <!-- Note:
                I took this list of likely fragment indicators directly from the following link http://www.chompchomp.com/rules/fragrules.htm
                -->
            <short>Incomplete sentence or missing comma</short>
            <antipattern><!-- 2019-12-06 MFU. Incomplete sentences (three dots: ...) -->
                 <token>.</token>
                 <token>.</token>
                <token postag="SENT_END">.</token>
            </antipattern>
            <antipattern><!-- Incomplete sentences (ellipsis character: … ) -->
                <token postag="SENT_END">…</token>
            </antipattern>
            <antipattern><!-- caught by premium comma rule -->
                <token>if</token>
                <token skip="-1" />
                <token>then</token>
                <token postag="PRP.*|DT|EX" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- caught by premium comma rule -->
                <token>if</token>
                <token skip="-1" />
                <token>please</token>
                <token postag="VB" />
            </antipattern>
            <rule>
          <!-- 01-09-2019 All other rulegroup rules look good. Check false positives on this one, disable, improve, re-enable -->
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <token skip='-1'/>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>,|;|:|!|\?|-|—</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <token skip='-1'/>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token postag='CC'/>
                </antipattern>
                <!-- 'that' is not always a connective -->
                <antipattern>
                    <token regexp="yes">that|whoever</token>
                    <token regexp="yes">is|was</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|whoever</token>
                    <token postag="MD"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|whoever</token>
                    <token postag="VBZ"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|whoever</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">s|ll|ve</token>
                </antipattern>
                <!--antipattern case_sensitive="yes"> XXX transformed in a less strict pattern
                    <token>If</token>
                    <token skip="2">only</token>
                    <token postag="VBD"></token>
                </antipattern-->
                <antipattern case_sensitive="yes">
                    <token skip='-1'>If</token>
                    <token>then</token>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <!-- Colloquial speech exceptions. Still incorrect in written speech but this is a pragmatic compromise -->
                <antipattern>
                    <token postag='SENT_START' skip='5'/>
                    <token postag='SENT_END'/>
                </antipattern>
                <antipattern>
                    <token postag='SENT_START' skip='-1'/>
                    <token postag='SENT_END'>…</token>
                </antipattern>
                <antipattern>
                    <token postag='SENT_START' skip='-1'/>
                    <token>.</token>
                    <token>.</token>
                    <token postag='SENT_END'>.</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- Colloquial expression -->
                    <token>If</token>
                    <token skip="2">only</token>
                </antipattern>
                <antipattern><!-- #2912 Who Bill relates to makes -->
                    <token postag="WP"/>
                    <token postag="NNP"/>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                    <token>to</token>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                </antipattern>
                <antipattern>
                    <token>if</token>
                    <token>so</token>
                </antipattern>
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token skip="-1" regexp='yes' case_sensitive='yes'>A(?:fter|lthough|s)|B(?:ecause|efore)|If|Once|Since|Th(?:a[nt]|ough)|U(?:nless|ntil)|Wh(?:en(?:ever)?|ere(?:as|ver)?|ether|ich|ichever|ile|om?(?:ever)?|ose)
                            <exception postag="DT"/>
                        </token>
                    </marker>
                    <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message><!-- Not for subject-verb inversion: www.englishgrammar.org/inversion-subject-verb/. Not for all adverbial clauses: https://guidetogrammar.org/grammar/commas_intro.htm. For those adverbial clauses that have a comma, people do not agree about the length of the clause (compare the guidetogrammar.org page with https://theeditorsblog.net/2016/02/21/a-tale-of-adverbs-and-the-comma/. -->
                <short>Possible punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>Though</marker> the dog likes to bark loudly.</example>
                <example correction=""><marker>After</marker> we had a lovely dinner.</example>
                <example correction=""><marker>Because</marker> he was a great musician.</example><!-- Premium #352 -->
                <example correction=""><marker>Because</marker> I am a student of old language.</example>
                <example correction=""><marker>Because</marker> the game was cancelled last week.</example>
                <example correction=""><marker>When</marker> the wind howls in the trees.</example>
                <example correction=""><marker>Although</marker> usually only the rear protectors were broken.</example>
                <example>Though the dog likes to bark, it's still a nice dog.</example>
                <example>After we had dinner, we went to the cinema.</example>
                <example type="triggers_error"><marker>Whichever</marker> college he wants to go to is fine with me.</example>
                <example>After rain comes fair weather.</example>
                <example>As soon as I get paid I will pay you back.</example>
                <example>As soon as I get paid, I will pay you back.</example>
                <example>As soon as I get paid...</example>
                <example>As soon as I get paid…</example>
                <example>When a ticket is closed - send an additional email to the customer.</example>
                <example type="triggers_error">Because of the rain they had to cancel the game.</example>
                <example type="triggers_error">Because of the rain the game was cancelled.</example>
                <example type="triggers_error">Because of the rain they closed the window.</example>
                <example type="triggers_error">Because the rain came she closed the window.</example>
                <example type="triggers_error">Because the game was cancelled last week we stayed at home.</example>
                <example type="triggers_error">After a month's stay here I will get much better.</example>
                <example type="triggers_error">When the wind howls in the trees my cat is frightened.</example>
                <example>If only he knew.</example>
                <example>After returning home, I will inquire into the matter.</example>
                <example><!-- formula + line end -->where C is an arbitrary constant of integration.</example>
                <!--example>If only we'd stop trying to be happy we could have a...</example> XXX This would be a valid correction -->
                <example type="triggers_error">As if you could kill time without injuring eternity.</example>
                <example type="triggers_error">While eating a pizza he was annoying his sister.</example>
                <example>Who lives without folly is not so wise as he thinks.</example>
                <example type="triggers_error">When you're separated you lose touch.</example>
                <example type="triggers_error">After a long absence he came back.</example>
                <example type="triggers_error">After a storm comes a calm.</example>
                <example type="triggers_error">After the meeting she headed straight to her desk.</example>
                <example type="triggers_error">Where there is smoke there is fire.</example>
                <example type="triggers_error">As yet he has not succeeded.</example>
                <example type="triggers_error">If you pump air into a tire it expands.</example>
                <example type="triggers_error">Since that time we have not seen him.</example>
                <example type="triggers_error">Once there lived an old man in a village.</example>
                <example type="triggers_error">After that we had a lovely dinner.</example>
<!-- TODO Caused by the AP for short sentences. --><example><marker>Because</marker> she felt sick.</example><!-- Premium #352 -->
                <example>When the original stories were related (e.g. The War a...</example>
                <example>Who Bill relates to makes no difference to me.</example><!-- #2912 -->
                <example>If so I'd like to hear from you.</example>
<!-- False negative --><example><marker>If</marker> only the rear engine is defective.</example>
            </rule>
            <!-- Note:
                The following are too useful not to be declared as phrases, unfortunately I want to make progress and I can't find a decent tutorial on 'phrases' and 'unify'
                -->
            <!--rule R0.1B Phrase 'Even [list]', likely to start a fragment -->
            <!-- Note:
                Here , mainly for easy maintenance, I am using the full list from the previous rule. Some combinations of 'Even' with the list are very unlikely and probably wrong in their own right!
            -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>Even</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose</token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>Even</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token postag='CC'/>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">Even</token>
                        <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                            <exception postag="DT"/>
                        </token>
                    </marker>
                    <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>Even if</marker> the dog likes to bark.</example>
                <example>Even if the dog likes to bark; it's still a nice dog.</example>
                <example>That was probably what influenced their decision.</example>
            </rule>
            <!--rule R0.1C phrase 'So [list]', likely to start a fragment -->
            <!-- Note:
                Here , mainly for easy maintenance, I am using the full list from the previous rule. Some combinations of 'So' with the list are very unlikely and probably wrong in their own right!
            -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token postag='CC'/>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">So</token>
                        <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                        </token>
                    </marker>
                    <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>So if</marker> the dog likes to bark.</example>
                <example>So if the dog likes to bark; it's still a nice dog.</example>
                <example correction=""><marker>So that</marker> through him all man might believe.</example>
                <example><marker>So that</marker> through him, all man might believe.</example>
                <example>So though it may be seen plainly that what he has done has …</example>
            </rule>
            <!--rule R0.1D phrase 'So, [list]', likely to start a fragment -->
            <!-- Note:
                Here , mainly for easy maintenance, I am using the full list from the previous rule. Some combinations of 'So' with the list are very unlikely and probably wrong in their own right!
            -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token postag=',|:' postag_regexp='yes'/>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token postag=',|:' postag_regexp='yes'/>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token postag='CC'/>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">So</token>
                        <token postag=',|:' postag_regexp='yes'/>
                        <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                        </token>
                    </marker>
                    <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>So, if</marker> the dog likes to bark.</example>
                <example>So, if the dog likes to bark; it's still a nice dog.</example>
            </rule>
            <!--rule R0.1E phrase 'So even [list]', likely to start a fragment -->
            <!-- Note:
                Here , mainly for easy maintenance, I am using the full list from the previous rule. Some combinations of 'So even' with the list are very unlikely and probably wrong in their own right!
            -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token>even</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token>even</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token postag='CC'/>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">So</token>
                        <token>even</token>
                        <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                        </token>
                        <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                    </marker>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>So even if the dog likes to bark.</marker></example>
                <example>So even if the dog likes to bark; it's still a nice dog.</example>
            </rule>
            <!--rule R0.1F phrase 'So, even [list]', likely to start a fragment -->
            <!-- Note:
                Here , mainly for easy maintenance, I am using the full list from the previous rule. Some combinations of 'So even' with the list are very unlikely and probably wrong in their own right!
            -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token postag=',|:' postag_regexp='yes'/>
                    <token>even</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>So</token>
                    <token postag=',|:' postag_regexp='yes'/>
                    <token>even</token>
                    <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                    </token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token postag='CC'/>
                </antipattern>
                <!-- If ir got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">So</token>
                        <token postag=',|:' postag_regexp='yes'/>
                        <token>even</token>
                        <token skip='-1' regexp='yes'>after|although|as|because|before|if|once|since|tha[nt]|though|unless|until|when|whenever|where|whereas|wherever|whether|which|whichever|while|whom?(?:ever)?|whose
                        </token>
                        <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                    </marker>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>So, even if the dog likes to bark.</marker></example>
                <example>So, even if the dog likes to bark; it's still a nice dog.</example>
            </rule>
            <!--rule R0.1G phrase 'In order that', likely to start a fragment -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>In</token>
                    <token>order</token>
                    <token skip='-1'>that</token>
                    <!-- start search after 2nd token in case it is a comma -->
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>In</token>
                    <token>order</token>
                    <token skip='-1'>that</token>
                    <token postag='CC'/>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">In</token>
                        <token>order</token>
                        <token skip='-1'>that</token>
                    </marker>
                    <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>In order that</marker> the dog guards the house.</example>
                <example>In order that dog guards the house; it needs to bark loudly.</example>
            </rule>
            <!--rule R0.1H phrase 'Provided that', likely to start a fragment -->
            <rule>
                <!-- Does it have a comma or semicolon or end with an exclamation or question mark?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>Provided</token>
                    <token skip='-1'>that</token>
                    <token regexp='yes'>[,;:!\?]</token>
                </antipattern>
                <!-- Does it have an unpunctuated CC/SC?-->
                <antipattern>
                    <token postag='SENT_START'/>
                    <token>Provided</token>
                    <token skip='-1'>that</token>
                    <token postag='CC'/>
                </antipattern>
                <!-- If it got past the antipatterns, then something is wrong -->
                <pattern>
                    <token postag='SENT_START'/>
                    <marker>
                        <token case_sensitive="yes">Provided</token>
                        <token skip='-1'>that</token>
                    </marker>
                    <token postag='SENT_END' regexp="yes">[\.!\?]</token>
                </pattern>
                <message>This sentence seems to be incomplete or is missing punctuation.</message>
                <short>Punctuation error, sentence looks like a fragment</short>
                <example correction=""><marker>Provided that</marker> the dog guards my house.</example>
                <example>Provided that the dog guards my house; I do not mind it barking loudly.</example>
            </rule>
        </rulegroup>

        <rule id="EXCEPTION_PREPOSITION_THE_RULE" name="wrong preposition: 'exception PREPOSITION the rule' (exception to the rule)">
            <pattern>
                <marker>
                    <token inflected="yes">exception</token>
                    <token postag="IN"><exception>to</exception></token>
                </marker>
                <token postag="DT"/>
                <token postag="JJ" min="0" max="1"/>
                <token regexp="yes">rules?</token>
            </pattern>
            <message>Did you mean <suggestion>\1 to</suggestion>?</message>
            <short>Wrong preposition: exception to</short>
            <example correction="exception to">Graphite is an <marker>exception of</marker> the rule.</example>
            <example correction="Exceptions to"><marker>Exceptions regarding</marker> these general rules are in Table 3.</example>
            <example>Graphite is an <marker>exception to</marker> the rule.</example>
            <example>Graphite and graphene are <marker>exceptions to</marker> these general rules.</example>
            <example>... but we make an <marker>exception for</marker> the people who cannot...</example>
            <example>We make <marker>exceptions under</marker> some circumstances.</example>
            <example>Graphite and graphene are <marker>exceptions that</marker> these general rules do not account for.</example>
        </rule>
        <rule id="REGARDING_TO" name="Regarding to (regard to/regarding)">
            <pattern>
                <token>regarding</token>
                <token>to</token>
            </pattern>
            <message>The phrase '\1 \2' is not correct. Use <suggestion><match no="1"/></suggestion> or <suggestion>regard <match no="2"/></suggestion>.</message>
            <url>https://languagetool.org/insights/post/regard/</url>
            <short>Grammatical problem</short>
            <example correction="regarding|regard to">Your action with <marker>regarding to</marker> the decision of the committee is not satisfactory.</example>
            <example correction="regarding|regard to">The action of your client <marker>regarding to</marker> the decision of the committee is not satisfactory.</example>
            <example correction="Regarding|Regard to"><marker>Regarding to</marker> the risk behaviors, it is the crucial problem of education...</example>
            <example>Your action with <marker>regard to</marker> the decision of the committee is not satisfactory.</example>
            <example>Your action <marker>regarding</marker> the decision of the committee is not satisfactory.</example>
        </rule>
        <rulegroup id="ARTICLE_ADJECTIVE_OF" name="ARTICLE ADJECTIVE of">
            <antipattern><!-- Nominalized adjective: https://en.wikipedia.org/wiki/Nominalized_adjective -->
                <token>the</token>
                <token regexp="yes">blind|deaf|disabled|homeless|heartless|poor|rich|wealthy</token><!-- Only relatively common nominalizations. -->
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>free</token>
                <token>of</token>
                <token>charge</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token>live</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>life</suggestion>?</message>
                <example correction="life">The <marker>live</marker> of Brian.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|y?our|her|his</token>
                    <marker>
                        <token>summery</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>summary</suggestion>?</message>
                <example correction="summary">The <marker>summery</marker> of the book was very easy to read.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token>serious</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>series</suggestion>?</message>
                <example correction="series">It was a <marker>serious</marker> of events.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token>numerous</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>number</suggestion>?</message>
                <example correction="number">The <marker>numerous</marker> of people is too high.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token regexp="yes">important|significant</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion><match no="2" regexp_match="(?i)ant$" regexp_replace="ance" /></suggestion>?</message>
                <example correction="importance">He emphasized the <marker>important</marker> of this task.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token regexp="yes">(main|front)-?line</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion><match no="2" regexp_match="(?i)-?line" regexp_replace="" /> line</suggestion> (spelled as two words)?</message>
                <url>https://www.merriam-webster.com/dictionary/front%20line</url>
                <example correction="front line">He was standing on the <marker>frontline</marker> of the protests.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token regexp="yes">wide-?spread</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>wide spread</suggestion> (spelled as two words)?</message>
                <example correction="wide spread">The <marker>widespread</marker> of the virus caused some serious problems.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token>used</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>use</suggestion>?</message>
                <example correction="use">The <marker>used</marker> of fracking is prohibited.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <marker>
                        <token postag="JJ" regexp="yes">
                            [a-z]+
                            <exception postag_regexp="yes" postag="NN.*|VBG"/>
                            <exception regexp="yes">[0-9]?(1st|2nd|3rd|[0-9]th)</exception>
                            <exception regexp="yes">innermost|outermost|northernmost|southernmost|easternmost|westernmost|next|upstream|downstream</exception>
                        </token><!-- The exception for VBG is necessary, because adjectives such as 'draining', 'cooling', and 'functioning' can be used as gerunds [https://en.wikipedia.org/wiki/Gerund]. The exception for ordinal numbers does not ignore incorrect abbreviations such as 21th. Innermost: some dictionaries say that it is an adjective that is used only before a noun. Other dictionaries say that it is a noun and an adjective. Northernmost: SOED says that this is can be a noun.  -->
                    </marker>
                    <token>of</token>
                </pattern>
                <message>The phrase '\1 \2 \3' is not correct. Use a noun, not an adjective, between '\1' and '\3'.</message>
                <short>Grammatical problem: use a noun</short>
                <example correction="">We are not responsible for the <marker>delusional</marker> of your client.</example>
                <example correction="">We describe an <marker>unusual</marker> of benign prostatic hyperplasia that demonstrated florid sclerosing...</example>
                <example correction="">Diamonds are the <marker>only</marker> of these mineral resources currently being developed.</example>
                <example correction="">...conventional light, medium, and heavy crude, plus an <marker>additional</marker> of pentanes plus used for blending with heavy crude ...</example>
                <example correction="">Since 2002, the <marker>peninsular</marker> of Actium has been linked with Preveza on the north ...</example>
                <example>We are not responsible for <marker>the delusions of</marker> your client.</example>
                <example>Use <marker>the larger of</marker> the two pieces.</example>
                <example><marker>The earliest of</marker> these is Diodorus Siculus (1st century BC).</example>
                <example>In a recent survey, <marker>a high of</marker> 37 percent of people say that the ...</example>
                <example><marker>The blooming of</marker> 3,000 cherry trees marks the 94th anniversary of Japan's gift of ...</example>
                <example><marker>The English of</marker> a person who learns English as an adult is usually different to the English spoken by a native speaker.</example>
                <example>The test will be on <marker>the 5th of</marker> November next year.</example>
                <example><marker>The innermost of</marker> the concentric circles is...</example>
                <example><marker>The best-known of</marker> these works is that by Plato, who...</example>
                <example>...by persons other than <marker>the next of</marker> kin.</example>
                <example><marker>The next of</marker> these problems is discussed in Chapter 5.</example>
                <example>... limited polar heat convergence and caused <marker>a cooling of</marker> sea surface temperatures by several degrees.</example>
                <example>The Bronx is <marker>the northernmost of</marker> the five boroughs of New York City.</example>
                <example>It spans three time zones, <marker>the easternmost of</marker> which is one hour ahead of Eastern Standard Time.</example>
                <example><marker>The large-scale of</marker> these works is an indication of the...</example><!-- False negative. TODO -->
                <example>We need <marker>a sample of</marker> water for this test.</example>
                <example>I'm thirsty. I would like <marker>a large of</marker> water.</example><!-- False negative. TODO. But refer to previous example ('a sample of'). -->
                <example type="triggers_error">'<marker>The Wretched of</marker> the Earth' is a 1961 book by Frantz Fanon.</example>
            </rule>
        </rulegroup>
        <rule id="LOSE_LIVES" name="lose their life (lives)">
            <pattern>
                <token inflected="yes" regexp="yes">lose|save|sacrifice|give|risk|end|put|change|affect</token>
                <token>their</token>
                <marker>
                    <token>life</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>lives</suggestion>?</message>
            <example correction="lives">They lost their <marker>life</marker> in the line of duty.</example>
        </rule>
        <rulegroup id="MEAN_FOR_TO" name="mean something for (to) somebody">
            <url>http://www.merriam-webster.com/dictionary/mean%20something%20to%20(someone)</url>
            <rule>
                <pattern>
                    <token inflected="yes">mean</token>
                    <token min="0" regexp="yes">so|really|a|the</token>
                    <token regexp="yes">much|lot|little|everything|world|something</token>
                    <marker>
                        <token>for</token>
                    </marker>
                    <token postag="PRP|NNP" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion> ('to mean something to somebody')?</message>
                <example correction="to">This trophy meant a lot <marker>for</marker> me.</example>
                <example correction="to">She means so much <marker>for</marker> Tom.</example>
                <example>Recommended changes included providing means for Congress to collect money from state treasuries.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>god</token>
                    <token>meant</token>
                    <token>for</token>
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token postag="PRP|NNP" postag_regexp="yes"/>
                    <token inflected="yes">mean</token>
                    <marker>
                        <token>for</token>
                    </marker>
                    <token postag="PRP|NNP" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion> ('to mean something to somebody')?</message>
                <example correction="to">Does she know what she means <marker>for</marker> me?</example>
                <example>Recommended changes included providing means for Congress to collect money from state treasuries.</example>
            </rule>
        </rulegroup>
        <rule id="BEWARE_PREPOSITION" name="beware PREPOSITION">
            <antipattern>
               <token inflected="yes">beware</token><!-- Inflection is probably not necessary. In modern English, usually only imperative and infinitive is used.-->
               <token>as</token>
               <token regexp="yes">well(-.+)?</token>
            </antipattern>
            <pattern>
               <marker>
               <token inflected="yes">beware</token>
               <token postag="IN"><exception>of</exception></token>
              </marker>
            </pattern>
            <message>Did you mean: <suggestion>beware of</suggestion>?</message>
            <short>Wrong preposition: beware of</short>
            <example correction="Beware of"><marker>Beware about</marker> malware.</example>
            <example correction="Beware of"><marker>Beware with</marker> regard to malicious websites.</example>
            <example><marker>Beware of</marker> malware.</example>
            <example><marker>Beware</marker>! This dog is not friendly.</example>
            <example>... but <marker>beware</marker> the ever-shrinking attention span of the general public.</example>
            <example>It's '<marker>buyer beware</marker>' at Vienna's overpriced hotels, but this little charmer is a bargain.</example>
            <example>Mac users now need to <marker>beware</marker> as well-the most recent of Apple's three major security patches this year ...</example><!-- Bad style to use a hyphen, but 'as' is correct. -->
            <example>Writers need to <marker>beware</marker> as well-written sentences are not always easy to write.</example>
        </rule>
        <rulegroup id="THE_BEST_WAY" name="missing article before 'BE + ADJECTIVE + way'">
            <rule>
                <antipattern>
                    <token min="0">not</token>
                    <token regexp="yes">under|one|still|just|by</token>
                    <token>way</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token min="0">not</token>
                    <marker>
                        <token postag="JJS"/>
                    </marker>
                    <token>way</token>
                </pattern>
                <message>Please check whether an article is missing.</message>
                <suggestion>the \3</suggestion>
                <example correction="the best">This is <marker>best</marker> way of dealing with errors.</example>
            </rule>
            <rule>
                <antipattern>
                    <token min="0">not</token>
                    <token regexp="yes">under|one|still|just|by</token>
                    <token>way</token>
                </antipattern>
                <antipattern>
                    <token postag="JJ" />
                    <token>way</token>
                    <token regexp="yes">before|after|ahead</token>
                </antipattern>
                <antipattern>
                    <token postag="VBN" />
                    <token>way</token>
                    <token postag="JJR" />
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token min="0">not</token>
                    <marker>
                        <token postag="JJR?" postag_regexp="yes">
                            <exception>maybe</exception>
                        </token>
                    </marker>
                    <token>way</token>
                </pattern>
                <message>Please check whether an article is missing.</message>
                <suggestion>a \3</suggestion>
                <example correction="a faster">There must be <marker>faster</marker> way of going to California.</example>
                <example>This was written way before I knew I would be Your laws ignore our deepest needs, Your words are empty air.</example>
                <example>It was good way before 1990.</example>
                <example>It was done way faster.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_MOST" name="missing article before 'BE + MOST + ADJECTIVE + NOUN'">
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes">be</token>
                    <token min="0" postag="RB"/>
                    <marker><token>most</token></marker>
                    <token postag="JJ"><exception postag="RB"/></token>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="IN|CC|PRP.*|DT|W.*" postag_regexp="yes" /></token>
                </pattern>
                <message>Did you mean <suggestion>the \3</suggestion>?</message>
                <example correction="the most">This is <marker>most</marker> popular game ever.</example>
                <example>The excessive attention we pay to danger is most often responsible for us to fall into it.</example>
                <example>She was most likely travelling to Lapland.</example>
                <example correction="the most">English is clearly <marker>most</marker> popular language.</example>
                <example>... and are most populous in heavily grazed grasslands</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes">be</token>
                    <token>by</token>
                    <token>far</token>
                    <marker><token>most</token></marker>
                    <token postag="JJ"></token>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="IN|CC|PRP.*|DT|W.*" postag_regexp="yes" /></token>
                </pattern>
                <message>Did you mean <suggestion>the \4</suggestion>?</message>
                <example correction="the most">This is by far <marker>most</marker> popular game ever.</example>
            </rule>
        </rulegroup>

        <rule id="EVERY_EACH_SINGULAR" name="'every/each' + SINGULAR">
            <antipattern>
                <token regexp="yes">each|every</token>
                <token/>
                <token postag="NN.*|CD" postag_regexp="yes"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">each|every</token>
                <token/>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
            </antipattern>
            <antipattern><!-- #2685 www.ldoceonline.com/dictionary/each-other -->
                <token>each</token>
                <token>others</token>
            </antipattern>
            <pattern>
                <token regexp="yes">each|every</token>
                <marker>
                    <token postag="NNS">
                        <exception postag="NN|PRP\$|NN:UN?|VBZ" postag_regexp="yes"/>
                        <exception regexp="yes">class|committee</exception>
                    </token>
                </marker>
            </pattern>
            <message>The noun should probably be in the singular form.</message>
            <suggestion><match no="2" postag="NN(:UN)?" postag_regexp="yes"/></suggestion>
            <short>Grammatical problem</short>
            <example correction="employee">The manager wants to speak to every <marker>employees</marker> in his office.</example>
            <example correction="time">Each <marker>times</marker> I visit France, I rent a car.</example>
            <example>We saw each other’s faces.</example>
            <example>I like every fish except for this one.</example>
            <example>In an era in which every players' distance run in training and games can be measured and timed</example>
            <example>I took part in every sports event in school.</example>
            <example>Each seeks to prove to the higher court that the result they desired was the just result.</example>
            <example>Students were often each others worst enemies.</example><!-- #2685. "each others" should be "each other's", but that is a different problem. Found by POSSESSIVE_APOSTROPHE -->
            <example>There is chaos, as each does whatever he wants, regardless of what others may or may not want.</example>
            <example>I like every fish except for eels.</example>
            <example>Per, Today, I submitted a brief summary of each groups 2001 goals.</example>
        </rule>

        <rule id="EACH_OTHERS" name="each others’ (other’s)">
            <pattern>
                <token>each</token>
                <marker>
                    <token>others</token>
                    <token spacebefore="no" regexp="yes">&apostrophe;</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>other's</suggestion>?</message>
            <url>https://languagetool.org/insights/post/each-other-one-another/</url>
            <short>Grammatical problem: incorrect apostrophe</short>
            <example correction="other's">They checked each <marker>others’</marker> work.</example>
            <example>They checked each <marker>other’s</marker> work.</example>
            <example>We saw each other's faces.</example>
        </rule>
        <rule id="SIGN_INTO" name="wrong preposition: sign into (sign in to)">
            <antipattern><!--  classify signs into -->
                <token chunk="E-NP-plural" postag="NNS">signs</token>
                <token>into</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag_regexp="yes" postag="VB.*" inflected="yes">sign</token>
                    <token>into</token>
                </marker>
                <token><exception regexp="yes">law|effect|creation</exception></token>
            </pattern>
            <message>The verb '\1 \2' is not standard English, except in the context of the law ("The bill was signed into law"). Write <suggestion>\1 in to</suggestion>. For websites and computers, other options are <suggestion><match no="1" postag_regexp="yes" postag="(VB.*)" postag_replace="$1">log</match> in to</suggestion> or <suggestion><match no="1" postag_regexp="yes" postag="(VB.*)" postag_replace="$1">log</match> on to</suggestion>.</message>
            <short>Wrong preposition</short>
            <example correction="sign in to|log in to|log on to">When you <marker>sign into</marker> your e-mail account...</example>
            <example correction="signed in to|logged in to|logged on to">A hacker <marker>signed into</marker> my e-mail account!</example>
            <example correction="signs in to|logs in to|logs on to">Before the manager <marker>signs into</marker> the meeting, he must...</example>
            <example correction="Sign in to|Log in to|Log on to"><marker>Sign into</marker> your e-mail account.</example>
            <example>When you <marker>sign in to</marker> your e-mail account...</example>
            <example>However, the president can refuse to <marker>sign into</marker> law bills passed by parliament.</example>
            <example>On 11 August 1712, the Peace of Aarau was <marker>signed into</marker> effect.</example>
            <example>Credit: NPS. President Carter, Senator Kennedy, and Senator Tsongas <marker>signing into</marker> creation Lowell National Historical Park in June of 1978.</example>
            <example>Carefully put the <marker>sign into</marker> the hole and then pour concrete into the hole.</example>
            <example>Klima and Bellugi classify signs into three categories of explicitness:</example>
        </rule>
        <rule default="off" id="ARTICLE_UNNECESSARY" name="Articles: unnecessary indefinite article before an uncountable noun"><!-- Many nouns that have only the postag NN:U can also be NN, but they do not have the postag NN. Thus, they cannot be excluded using an exception. The rule gives too many false warnings. -->
            <antipattern>
                <token>a</token>
                <token>little</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">an?</token>
                    <and>
                        <token postag="NN:U"/>
                        <token chunk="E-NP-singular"/>
                    </and>
                </marker>
                <token><exception>of</exception></token>
            </pattern>
            <message>The indefinite article might be unnecessary before the uncountable noun.</message>
            <suggestion>\2</suggestion>
            <short>Article unnecessary</short>
            <example correction="oil">I need <marker>a oil</marker> for my car.</example>
            <example correction="oil">My car needs <marker>an oil</marker>.</example>
            <example>I need <marker>oil</marker> for my car.</example>
            <example>I need <marker>the oil</marker> for my car.</example>
            <example>I need <marker>an oil filter</marker> for my car.</example>
            <example>Jane ate <marker>a cheese and potato pie</marker> for her lunch.</example>
            <example>Most reviews tend to estimate <marker>a prevalence of</marker> 12 per 1,000 for autism and...</example>
            <example>Lincoln said, "The taste is in my mouth <marker>a little</marker>."</example>
            <example>It took <marker>a little</marker> over three years for all states to ratify.</example>
            <example type="triggers_error">Furthermore, the nitrogen atom may be replaced by <marker>a phosphorus</marker>, arsenic, or antimony atom, creating a...</example>
            <example type="triggers_error">Use <marker>an oil</marker> that has a high smoke point.</example>
            <example type="triggers_error">If a defendant appeals a conviction for <marker>a crime</marker> having multiple levels of offenses...</example>
            <example type="triggers_error">Such <marker>an acceleration</marker> will cause lateral loads on the walls, resulting ...</example>
            <example type="triggers_error">In recent years there has been <marker>a backlash</marker> against the external environmental effects of...</example>
        </rule>
        <rule id="ACCUSTOMED_TO" name="accustomed to">
            <antipattern>
                <token>to</token>
                <token regexp="yes" skip="-1">wh.*<exception scope="next">,</exception></token>
                <token>accustomed</token>
            </antipattern>
            <antipattern>
                <token skip="-1">accustomed<exception scope="next">,</exception></token>
                <token>to</token>
            </antipattern>
            <pattern>
                 <token>accustomed</token>
                 <token postag="IN"><exception>to</exception><exception postag="PRP\$?|CD" postag_regexp="yes"></exception></token>
            </pattern>
            <message>Did you mean: <suggestion>accustomed to</suggestion>?</message>
            <short>Wrong preposition: accustomed to</short>
            <example correction="accustomed to">He is <marker>accustomed of</marker> playing football now.</example>
            <example>He is <marker>accustomed to</marker> playing football now.</example>
            <example>The trials in the Sahara accustomed both the athletes and the manager to high temperatures.</example>
            <example>Players should be accustomed by now to the difficulty of ...</example>
            <example>... to much of the legislation to which we have become accustomed in modern times.</example>
            <example>He had been accustomed in the previous five years to dealing with players on ...</example>
            <example>The servants took their <marker>accustomed</marker> places behind the chairs...</example>
        </rule>
        <rule id="INSPIRED_WITH" name="inspired with (by)">
            <pattern>
                <token skip="-1" inflected="yes">be</token>
                <marker>
                    <token>inspired</token>
                    <token>with</token>
                </marker>
            </pattern>
            <message>If '\2 \3' is passive voice, use <suggestion>\2 by</suggestion>.</message>
            <url>http://forum.wordreference.com/threads/inspired-in-by.2384618/</url>
            <short>Possible wrong preposition: inspired with</short>
            <example correction="inspired by">The artist was <marker>inspired with</marker> the beauty of the mountains.</example>
            <example correction="inspired by">The artist was (not unsurprisingly, I think) <marker>inspired with</marker> the beauty of the mountains.</example>
            <example>The artist was <marker>inspired by</marker> the beauty of the mountains.</example>
            <example>The book <marker>inspired me</marker> to write my own novel.</example>
            <example><marker>Inspired in</marker> class, I decided to write a novel.</example>
            <example>This is the book that <marker>inspired me</marker> to write my own novel.</example>
            <example type="triggers_error">I was <marker>inspired with</marker> the desire to write a novel.</example>
        </rule>
        <rule id="MISSING_NOUN" name="Missing noun: 'The is the'">
            <pattern>
                <marker><token>the</token></marker>
                <token inflected="yes">be</token>
                <token regexp="yes">the|an?</token>
            </pattern>
            <message>Please check whether a word is missing between '\1' and '\2' or whether '\1' is the correct determiner.</message>
            <example correction=""><marker>The</marker> is the best day of my life.</example>
            <example correction=""><marker>The</marker> are the best.</example>
        </rule>
        <rulegroup id="MISSING_ARTICLE" name="missing article">
            <rule>
                <antipattern><!-- confusion of its -->
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" />
                    <token postag="NN" />
                    <token postag="VB[DZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- confusion of its -->
                    <token regexp="yes">off?|to|in|at|from|about|through|by</token>
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ" />
                    <token postag="NN" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="JJ" />
                    <token regexp="yes">m[uo]m|m[ao]mm?a|dad|babe|bro|sis|darling|dude|pal|mate|sweetheart|sweetie|sweety</token>
                </antipattern>
                <antipattern><!-- compound issue (deadass) -->
                    <token regexp="yes">dead|dumb</token>
                    <token>ass</token>
                </antipattern>
                <antipattern><!-- It's public domain by law -->
                    <token>public</token>
                    <token>domain</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">senior|junior</token>
                    <token>year</token>
                </antipattern>
                <pattern>
                    <token postag="NNP|PRP" postag_regexp="yes"/>
                    <marker>
                        <token inflected="yes">be<exception postag="POS"/></token>
                        <token postag="JJ">
                            <exception postag="R[BP]|IN|VB.?|DT|CD" postag_regexp="yes"/>
                            <exception>sorry</exception>
                        </token>
                    </marker>
                    <token postag="NN" chunk_re="E-NP-singular"><exception postag="R[BP]|IN|VB.?|C[CD]|JJR?|NN:U|DT" postag_regexp="yes"/></token>
                </pattern>
                <message>Please check whether an article is missing.</message>
                <suggestion>\2 a \3</suggestion>
                <suggestion>\2 an \3</suggestion>
                <example correction="are a good|are an good">You <marker>are good</marker> boy.</example>
                <example correction="is a great|is an great">It seems to me that Mr Jones <marker>is great</marker> golfer.</example>
                <example>What impresses me the most about China is Chinese food.</example>
                <example>I'm sorry ma'am, is there a problem?</example>
                <example>I'm good mom</example><!-- missing comma -->
                <example>Incorrect grammar: It's main competitor is from the US.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>same</token>
                    <token>here</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes">Same</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" regexp="yes" case_sensitive="yes">[a-z].*</token>
                </pattern>
                <message>It appears that an article is missing.</message>
                <suggestion>The same</suggestion>
                <example correction="The same"><marker>Same</marker> has been happening to them.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>same</token>
                    <token>here</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes">Same</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" regexp="yes" case_sensitive="yes">[A-Z].*</token>
                </pattern>
                <message>It appears that an article is missing.</message>
                <suggestion>The Same</suggestion>
                <example correction="The Same"><marker>Same</marker> Has Been Happening To Them.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BE_I_BE_GERUND" name="'was I am doing' (etc.)"><!-- https://github.com/languagetool-org/languagetool/issues/754 -->
            <antipattern>
                <token>what</token>
                <token>it</token>
                <token regexp="yes">is|'s</token>
            </antipattern>
            <antipattern>
                <token>bottom</token>
                <token>line</token>
                <token regexp="yes">is|was</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token>I</token>
                    <token inflected="yes" spacebefore="no">be</token>
                    <token postag="VBG"/>
                </pattern>
                <message>Possible grammar error. Make sure that '\1 \2\3 \4' is correct.</message>
                <example correction="">its distribution <marker>is I'm trying</marker> to be nice</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token>I</token>
                    <token inflected="yes">be</token>
                    <token postag="VBG"/>
                </pattern>
                <message>Possible grammar error. Make sure that '\1 \2 \3 \4' is correct.</message>
                <example correction="">What <marker>was I am doing</marker> again?</example>
                <example correction="">I don't know <marker>was I be going</marker>.</example>
                <example correction="">... but <marker>be I was making</marker> my life hard.</example>
                <example>What <marker>was I doing</marker> again?</example>
                <example><marker>Was I being</marker> stupid?</example>
                <example>"<marker>Am I being</marker> a diva?" she asked.</example>
                <example>The thing with me <marker>is I am</marker> a team player.</example>
                <example>The reason I'm in Washington <marker>is I was</marker> at the Federal Trade Commission earlier today.</example>
                <example>I want to know what it is I'm getting involved with.</example>
            </rule>
        </rulegroup>
        <rule id="DESPITE_OF" name="despite of (despite)">
            <pattern>
                 <token>despite<exception scope="previous">in</exception></token>
                 <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>\1</suggestion> (or, alternatively, 'in spite of')?</message>
            <url>http://www.elearnenglishlanguage.com/blog/english-mistakes/despite-vs-in-spite-of/</url>
            <example correction="despite">He kept running <marker>despite of</marker> the pain in his chest.</example>
            <example>She had difficulty communicating in French <marker>despite</marker> all her years of study.</example>
            <example>She had difficulty communicating in French <marker>in spite of</marker> all her years of study.</example>
        </rule>
        <rulegroup id="DT_DT" name="Two consecutive articles, e.g. 'the a'">
            <rule>
                <antipattern>
                    <token>Q</token>
                    <token regexp="yes">and|&amp;</token>
                    <token>A</token>
                </antipattern>
                <antipattern><!-- most likely "and the" (caught by "AN_AND") -->
                    <token>an</token>
                    <token>the</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes" skip="4">A</token>
                    <token case_sensitive="yes">B</token>
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token>a</token>
                    <token>a</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">an|the</token>
                    <token postag="DT" case_sensitive="yes">A</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_a;</token>
                    <token>A</token>
                </antipattern>
                <antipattern><!-- technical term (https://de.wikipedia.org/wiki/A_Resource_Record) -->
                    <token case_sensitive="yes">A</token>
                    <token regexp="yes">records?|resource|level</token>
                </antipattern>
                <antipattern><!-- list of letters -->
                    <token regexp="yes">[a-z]</token>
                    <token>a</token>
                    <token>a</token>
                    <token regexp="yes">[a-z]</token>
                </antipattern>
                <antipattern><!-- list of letters -->
                    <token case_sensitive="yes" regexp="yes">[A-Z]</token>
                    <token case_sensitive="yes" regexp="yes">[A-Z]</token>
                    <token case_sensitive="yes">A</token>
                </antipattern>
                <antipattern>
                    <token>A</token>
                    <token>.</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>A</token>
                    <token>to</token>
                    <token regexp="yes">[B-Z]</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>a</token>
                    <token>in</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>a</token>
                    <token>to</token>
                    <token regexp="yes">[b-z]</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>a</token>
                    <token>stands</token>
                    <token>for</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Qur|Ma</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>an</token>
                </antipattern>
                <antipattern><!-- "He got an A-"" -->
                    <token regexp="yes">an?|the</token>
                    <token>A</token>
                    <token spacebefore="no">-</token>
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token>.</token>
                    <token>k</token>
                    <token>.</token>
                    <token>a</token>
                </antipattern>
                <antipattern>
                    <token>U</token>
                    <token>.</token>
                    <token>S</token>
                    <token>.</token>
                    <token>A</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Vit(amin)?</token>
                    <token>A</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- #4508 The AN's -->
                    <token regexp="yes">[Aa]n|[Tt]he</token>
                    <token>AN</token>
                    <token>'s</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- the a sound... the c sound -->
                    <token regexp="yes">an?|the</token>
                    <token regexp="yes">[a-z]</token>
                    <token skip="-1" regexp="yes">character|sound|token</token>
                    <token regexp="yes">an?|the</token>
                    <token regexp="yes">[a-z]</token>
                    <token><match no="2"/></token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|the</token>
                    <token><match no="0" /></token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">an?|the</token>
                        <token postag="DT" regexp="yes">an?|the|each</token>
                    </marker>
                    <token><exception regexp="yes">'|\.</exception></token>
                </pattern>
                <message>Two determiners in a row. Choose either <suggestion>\1</suggestion> or <suggestion>\2</suggestion>.</message>
                <short>Two consecutive articles</short>
                <example correction="The|A"><marker>The a</marker> thing is this.</example>
                <example correction="an|a">This is <marker>an a</marker> flower.</example>
                <example correction="The|A"><marker>The A</marker> Cat Sat On A Mat.</example>
                <example correction="AN|A">THIS IS <marker>AN A</marker> NEW TEST.</example>
                <example correction="the|a">Did you know that <marker>the a</marker> character in the film is based on Trump?</example>
                <example>The Thames was once a much broader river.</example>
                <example>The third letter is <marker>the A</marker> for Aqua, not Alpha.</example>
                <example>In this example, use <marker>an A</marker>, not a B or a C.</example>
                <example>The a in carry is not the short sound of the a in care.</example>
                <example>And the A stands for 'alteration'.</example>
                <example>Have you noticed the A to Z in the Amazon logo?</example>
                <example>He got an A-</example>
                <example>P A O L A  A N D R E A.</example>
                <example>For I found within the memorization of new portions of the Qur’an a pleasure that could not be rivalled by all the pleasures of this world.</example>
                <example>The AN's official newspaper was Secolo d'Italia.</example><!-- #4508 -->
                <example>Occasionally, an AN's alternatives are difficult to implement.</example><!-- #4508 -->
                <example>... linearly in time (that is, in a word like cat the a sound comes after the c sound, and the t sound...</example>
                <example>Can you spot the the mistake in this post?</example>
            </rule>
            <rule default="temp_off">
                <pattern>
                    <marker>
                        <token regexp="yes">an?|the</token>
                        <token><match no="0" /></token>
                    </marker>
                    <token><exception regexp="yes">'|\.</exception></token>
                </pattern>
                <message>You've used '\1' twice in a row.</message>
                <suggestion>\1</suggestion>
                <short>Two consecutive articles</short>
                <example correction="the">Can you spot <marker>the the</marker> mistake in this post?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="DT" inflected="yes" regexp="yes">a|the</token>
                        <token>this</token>
                    </marker>
                    <token><exception regexp="yes">'|\.</exception></token>
                </pattern>
                <message>Two determiners in a row. Choose either <suggestion>\1</suggestion> or <suggestion>\2</suggestion>.</message>
                <short>Two consecutive articles</short>
                <example correction="a|this">I like <marker>a this</marker> dog.</example>
                <example correction="the|this">This is <marker>the this</marker> idea I was talking about!</example>
            </rule>
            <rule default="off">
                <pattern>
                    <marker>
                        <token regexp="yes">an?|the</token>
                        <token regexp="yes" spacebefore="yes">['"“]</token>
                        <token postag="DT" regexp="yes" spacebefore="no">
                            an?|the
                            <exception regexp="yes" spacebefore="no" scope="next">['"“”]</exception>
                        </token>
                    </marker>
                    <token><exception regexp="yes">'|\.</exception></token>
                </pattern>
                <message>Two determiners in a row. Choose either <suggestion>\1</suggestion> or <suggestion>\2\3</suggestion>.</message>
                <short>Two consecutive articles</short>
                <example correction="The|'An"><marker>The 'an</marker> international movie' is interesting.</example>
                <example>The Thames was once a much broader river.</example>
                <example>He received an "A".</example>
                <example>It starts with an “A”.</example>
                <example type="triggers_error">At the time that the Enmax LC was put in place, Enmax would only accept Parental Guarantees from Companies with an "A " rating.</example>
                <example type="triggers_error">Our building is considered an "A Building".</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_US" name="In the us (US)">
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|y?our|my|their|her|his</token>
                    <token postag="JJ" min="0">
                        <exception postag="VB.*|NN.*|RB" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Uu]s</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>US</suggestion> (= United States)?</message>
                <url>https://www.merriam-webster.com/dictionary/us</url>
                <example correction="US">I live in the <marker>us</marker>.</example>
                <example correction="US">Too bad, you have to be a <marker>us</marker> resident.</example>
                <example type="triggers_error">The us ending, very common in Latin, was then abbreviated by copyists (monks) by the letter x, resulting in a written form animax.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|y?our|my|their|her|his</token>
                    <token postag="JJ" min="0">
                        <exception postag="VB.*|NN.*|RB" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Uu]k</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>UK</suggestion> (= United Kingdom)?</message>
                <url>https://www.merriam-webster.com/dictionary/UK</url>
                <example correction="UK">I live in the <marker>uk</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>U</token>
                    <token>.</token>
                    <token>S</token>
                    <token>.</token>
                    <token>A</token>
                    <token>.</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|y?our|my|their|her|his</token>
                    <token postag="JJ" min="0">
                        <exception postag="VB.*|NN.*|RB" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>u</token>
                        <token spacebefore="no">.</token>
                        <token spacebefore="no">s</token>
                        <token spacebefore="no">.</token>
                        <token spacebefore="no">a</token>
                        <token spacebefore="no">
                            .
                            <exception scope="next" spacebefore="no" regexp="yes">.+</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>U.S.A.</suggestion> (= United States of America)?</message>
                <example correction="U.S.A.">I live in the <marker>u.s.a.</marker></example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>U</token>
                    <token>.</token>
                    <token>S</token>
                    <token>.</token>
                </antipattern>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>u</token>
                        <token spacebefore="no">.</token>
                        <token spacebefore="no">s</token>
                        <token spacebefore="no">
                            .
                            <exception scope="next" spacebefore="no" regexp="yes">.+</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>U.S.</suggestion> (= United States)?</message>
                <example correction="U.S.">I live in the <marker>u.s.</marker></example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>U</token>
                    <token>.</token>
                    <token>K</token>
                    <token>.</token>
                </antipattern>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>u</token>
                        <token spacebefore="no">.</token>
                        <token spacebefore="no">k</token>
                        <token spacebefore="no">
                            .
                            <exception scope="next" spacebefore="no" regexp="yes">.+</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>U.K.</suggestion> (= United Kingdom)?</message>
                <example correction="U.K.">I live in the <marker>u.k.</marker></example>
            </rule>
        </rulegroup>
        <rule id="THE_IT" name="the it (IT)">
            <antipattern>
                <token regexp="yes">an|the</token>
                <token regexp="yes">(?-i)It</token>
                <token inflected="yes">girl</token>
            </antipattern>
            <pattern>
                <token>the</token>
                <token regexp="yes" case_sensitive="yes">[Ii]t</token>
            </pattern>
            <message>Please verify. Did you mean <suggestion>\2</suggestion> or <suggestion>the IT</suggestion> (= information technology)?</message>
            <example correction="it|the IT">Please send it to <marker>the it</marker>.</example>
        </rule>
        <rule id="DT_PRP" name="The you (you)">
            <antipattern>
                <token regexp="yes">an|the</token>
                <token regexp="yes">(?-i)It</token>
                <token inflected="yes">girl</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>me</token>
                <token>film</token>
                <token>festival</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token case_sensitive="yes">My</token>
                <token case_sensitive="yes">Lai</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">I</token>
                <token spacebefore="no">/</token>
                <token spacebefore="no" regexp="yes">Os?</token>
            </antipattern>
            <antipattern><!-- a mine manager -->
                <token regexp="yes">a|the</token>
                <token>mine</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>the</token>
                <token>ALL</token>
                <token regexp="yes">[A-Z]+</token>
            </antipattern>
            <antipattern><!-- https://orthodoxwiki.org/One_Holy_Catholic_and_Apostolic_Church -->
                <token>the</token>
                <token>One</token>
                <token min="0" max="1">,</token><!-- Although the term usually contains commas, the rule must not give an error message if there are no commas -->
                <token>Holy</token>
                <token min="0" max="1">,</token>
                <token>Catholic</token>
                <token>and</token>
                <token>Apostolic</token>
                <token>Church</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">A</token>
            </antipattern>
            <antipattern><!-- "a.k.a you" -->
                <token>a</token>
                <token>.</token>
                <token>k</token>
                <token>.</token>
                <token>a</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token>all</token>
                <token regexp="yes">inclusive|day|night|time|year|week|month|natural</token>
            </antipattern>
            <antipattern><!-- a he or a she: www.lexico.com/en/definition/he-->
                <token>a</token>
                <token>he</token>
                <token regexp="yes">n?or</token>
                <token>a</token>
                <token>she</token>
            </antipattern>
            <antipattern><!-- the All Employee Meeting -->
                <token postag_regexp="yes" postag="CC|P?DT" regexp="yes">\p{Ll}.*</token>
                <token postag_regexp="yes" postag="DT|PRP\S" regexp="yes">\p{Lu}.*</token>
                <token chunk="I-NP-singular" postag_regexp="yes" postag="JJ|NN(:UN?)?" regexp="yes">\p{Lu}.*</token>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- "My Choice" is a product by UPS, "My Chevrolet" is an app by GM -->
                <token regexp="yes">[Aa]n?|[Tt]he</token>
                <token>My</token>
                <token regexp="yes">Choice|Chevrolet|Chevy|GM</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[A-Z]</token>
                <token>A</token>
                <token>I</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token>Me</token>
                <token>Too</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/all_hands / https://en.wikipedia.org/wiki/All_Saints_(group) -->
                <token regexp="yes">the|an?</token>
                <token>all</token>
                <token regexp="yes">hands|saints|staff</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token case_sensitive="yes">My</token>
                <token case_sensitive="yes" regexp="yes">Account|Profile</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">click|select|go|open|find|tap</token>
                <token regexp="yes" min="0">on|at</token>
                <token>the</token>
                <token case_sensitive="yes">My</token>
                <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_a;</token>
                <token>a</token>
            </antipattern>
            <antipattern><!-- it is an it -->
                <token inflected="yes">be</token>
                <token regexp="yes">an?</token>
                <token chunk="E-NP-singular" regexp="yes">it|s?he</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">dot</token>
                <token>the</token>
                <token>i</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token>I</token>
                <token regexp="yes">\/|\\</token>
                <token regexp="yes">[A-Z]</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token>Olympiad</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token postag="DT" regexp="yes">[a-z].*</token>
                <token regexp="yes">
                    [A-Z]+
                    <exception>I</exception>
                </token>
            </antipattern>
            <pattern>
                <token postag="DT" inflected="yes" regexp="yes">a|the</token>
                <token postag="PRP\$?" postag_regexp="yes">
                    <exception regexp="yes" case_sensitive="yes">US|IT|one|One|ONE|all|[HM]E|YA|mine</exception>
                </token>
            </pattern>
            <message>Possible typo. Did you mean <suggestion>\1</suggestion> or <suggestion>\2</suggestion>?</message>
            <short>Possible typo</short>
            <example>The cat is on the mat.</example>
            <example correction="the|he">Strode past the now frightened man, entered <marker>the he</marker> house.</example>
            <example>It was an impulse when she was here in Me'a She'arim.</example>
            <example>Asphalt in its natural state from the mine at Pyrimont Seysell in France.</example>
            <example correction="The|My"><marker>The my</marker> search could return docs.</example>
            <example correction="the|my">The dots in <marker>the my</marker> life.</example>
            <example correction="the|it">If <marker>the it</marker> em is missing, stop the test.</example>
            <example correction="the|Us">I will go to <marker>the Us</marker> next month.</example>
            <example correction="an|it">If you frequently write incorrectly spelled text <marker>an it</marker> causes a problem for the readers, use LT.</example>
            <example>Surely, '<marker>the ONe</marker>' is a typing error.</example>
            <example>I will go to the <marker>US</marker> next month.</example>
            <example>The telecoms sector fell by 1% and the <marker>IT</marker> sector fell by 2.5%.</example>
            <example>This is not an <marker>IT</marker> problem.</example>
            <example>Olivia certainly is the <marker>It</marker> girl [https://en.wikipedia.org/wiki/It_girl].</example>
            <example>And now, live on stage, <marker>the one</marker> and only, the incomparable, Kermit the Frog!</example>
            <example>This is your chance of a lifetime! For <marker>A ONE</marker> DAY ONLY SALE of exclusive jewellery, visit our store.</example>
            <example>The event is referred to as the My Lai Massacre in the United States</example>
            <example>It's an I/O device.</example>
            <example>I swear by the One Who has sent down upon.</example>
            <example>It's an all new design.</example>
            <example>Are you the One?</example>
            <example>He's playing in the all star team.</example>
            <example>She is the daughter of an I/T developer which I mentioned to you previously (Richard Wang).</example>
            <example>... evidence of the Hallstatt culture was found by a mine manager in the 19th century.</example>
            <example>...Anglican Communion considers itself to be part of the One, Holy, Catholic and Apostolic Church and...</example>
            <example>When the All Blacks came out onto the field a roar like 'woooa...</example>
            <example>Is this baby a he or a she?</example>
            <example>The ME Film Festival.</example>
            <example>Coal seams can be set on fire by spontaneous combustion or contact with a mine fire or surface fire.</example>
            <example>Many miners are afraid that the mine will be closed down soon.</example>
            <example>Please send me an email if you are interested in viewing the replay of the All Employee Meeting.</example>
            <example>When she asked, "Who is rosebud?" he replied, "It isn't a who, it's an it."</example>
            <example>I think he is a she (I can't see well from this distance).</example>
            <example>dotting the I's and crossing the T's</example>
        </rule>
        <rule id="AN_ANOTHER" name="an another (an/another)">
            <pattern>
                <token>an</token>
                <token>another</token>
                <token/>
            </pattern>
            <message>One of these determiners is redundant in this context.</message>
            <suggestion><match no="3" postag="+INDT"/></suggestion>
            <suggestion><match no="2"/> <match no="3"/></suggestion>
            <short>Redundant determiner</short>
            <example correction="a lonely|another lonely">It's <marker>an another lonely</marker> night.</example>
        </rule>
        <rule id="FIRST_SERVED" name="first come, first serve(d)">
            <pattern>
                <token>first</token>
                <token>come</token>
                <token min="0">,</token>
                <token>first</token>
                <marker><token>serve</token></marker>
            </pattern>
            <message>Did you mean <suggestion>served</suggestion> (as in the idiom 'first come, first served')?</message>
            <url>https://www.merriam-webster.com/dictionary/first%20come,%20first%20served</url>
            <example correction="served">First come, first <marker>serve</marker>.</example>
        </rule>
        <rule id="SHOE_IN" name="shoe-in (shoo)">
            <pattern>
                <marker><token>shoe-in</token></marker>
            </pattern>
            <message>Did you mean <suggestion>shoo-in</suggestion>?</message>
            <short>Word confusion</short>
            <example correction="shoo-in">He says some of his supporters thought he was a <marker>shoe-in</marker>.</example>
        </rule>
        <rule id="PROSTRATE_PROSTATE" name="prostrate (prostate)">
            <pattern>
                <marker><token>prostrate</token></marker>
                <token inflected="yes" regexp="yes">cancer|enlargement|exam|gland</token>
            </pattern>
            <message>Did you mean <suggestion>prostate</suggestion>?</message>
            <short>Word confusion</short>
            <example correction="prostate">He was diagnosed with <marker>prostrate</marker> cancer.</example>
        </rule>
        <rule id="WORSE_WORST" name="worse come to worse (worst)">
            <pattern>
                <token>worse</token>
                <token inflected="yes">come</token>
                <token>to</token>
                <marker><token>worse</token></marker>
            </pattern>
            <message>Did you mean <suggestion>worst</suggestion> to indicate that something has degraded from one negative plane to the lowest possible?</message>
            <short>Word confusion</short>
            <example correction="worst">Worse came to <marker>worse</marker>.</example>
        </rule>
        <rulegroup id="WORST_WORSE" name="much worst (worse)">
            <rule>
                <pattern case_sensitive="yes">
                    <token>much</token>
                    <marker>
                        <token>worst</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>worse</suggestion>?</message>
                <short>Word confusion</short>
                <example correction="worse">The conditions in March were much <marker>worst</marker> than they imagined to be possible.</example>
            </rule>
        </rulegroup>

        <rule id="KNOT_NOT" name="knot (not)">
            <pattern>
                <token inflected="yes">do</token>
                <marker><token>knot</token></marker>
                <token>
                  <exception inflected="yes">tie</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>not</suggestion>?</message>
            <short>Word confusion</short>
            <example correction="not">She does <marker>knot</marker> know everything.</example>
            <example correction="not">Do <marker>knot</marker> disturb.</example>
        </rule>
        <rulegroup id="PHRASE_REPETITION" name="Repetition of two words ('at the at the')">
            <!--  made more general-->
            <rule>
                <antipattern><!-- Idiomatic expression -->
                    <token>as</token>
                    <token/>
                    <token>as</token>
                    <token><match no="1"/></token>
                    <token regexp="yes">can|could|should</token>
                    <token>be</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>as</token>
                    <token regexp="yes">[a-z]+</token>
                    <token>as</token>
                    <token><match no="1"  case_conversion="startupper"/></token>
                    <token postag="NNP" regexp="yes">[A-Z][a-z]+</token>
                </antipattern>
                <antipattern><!-- www.collinsdictionary.com/dictionary/english/hand-in-hand-->
                    <token inflected="yes" regexp="yes">be|walk|talk</token>
                    <token>hand</token>
                    <token>in</token>
                    <token>hand</token>
                </antipattern>
                <antipattern><!-- www.merriam-webster.com/dictionary/call%20a%20spade%20a%20spade -->
                    <token inflected="yes">call</token>
                    <token>a</token>
                    <token>spade</token>
                    <token>a</token>
                    <token>spade</token>
                </antipattern>
                <antipattern>
                    <token>far</token>
                    <token>as</token>
                    <token>far</token>
                    <token>as</token>
                    <token postag="PRP"/>
                </antipattern>
                <antipattern>
                    <token>step</token>
                    <token>by</token>
                    <token>step</token>
                    <token>by</token>
                </antipattern>
                <antipattern>
                    <token>door</token>
                    <token>to</token>
                    <token>door</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>day</token>
                    <token>to</token>
                    <token>day</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>hand</token>
                    <token>in</token>
                    <token>hand</token>
                    <token>in</token>
                </antipattern>
                <antipattern>
                    <token postag="CD" />
                    <token postag="CD" />
                    <token postag="CD" />
                    <token postag="CD" />
                </antipattern>
                <antipattern><!-- unknown / misspelled words -->
                    <token postag="UNKNOWN" />
                    <token postag="UNKNOWN" />
                    <token postag="UNKNOWN" />
                    <token postag="UNKNOWN" />
                </antipattern>
                <antipattern><!-- single letters -->
                    <token regexp="yes">[A-Z]</token>
                    <token regexp="yes">[A-Z]</token>
                    <token regexp="yes">[A-Z]</token>
                    <token regexp="yes">[A-Z]</token>
                </antipattern>
                <antipattern><!-- comparison with a repeated adjective -->
                    <token>as</token>
                    <token postag="JJ"/>
                    <token>as</token>
                    <token chunk="B-NP-singular"><match no="1"/></token>
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- www.lexico.com/definition/side_to_side -->
                    <token>side</token>
                    <token>to</token>
                    <token>side</token>
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token>time</token>
                    <token>to</token>
                    <token>time</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>night</token>
                    <token>after</token>
                    <token>night</token>
                    <token>after</token>
                    <token>night</token>
                </antipattern>
                <antipattern><!-- diary name -->
                    <token>calling</token>
                    <token>a</token>
                    <token>wolf</token>
                    <token>a</token>
                    <token>wolf</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">h[ieao]</token>
                    <token regexp="yes">h[ieao]</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">[oa]h</token>
                    <token regexp="yes">[oa]h</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">blah?</token>
                    <token regexp="yes">blah?</token>
                </antipattern>
                <antipattern>
                    <token>hello</token>
                    <token>hello</token>
                    <token>hello</token>
                    <token>hello</token>
                </antipattern>
                <antipattern>
                    <token>dun</token>
                    <token>dun</token>
                </antipattern>
                <antipattern>
                    <token>doo</token>
                    <token>doo</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token>no</token>
                </antipattern>
                <antipattern>
                    <token>la</token>
                    <token>la</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">ok(ay)?</token>
                    <token regexp="yes">ok(ay)?</token>
                    <token regexp="yes">ok(ay)?</token>
                    <token regexp="yes">ok(ay)?</token>
                </antipattern>
                <pattern>
                    <token negate_pos="yes" postag="SENT_START" regexp="yes"><exception>and</exception>\p{L}+</token>
                    <token regexp="yes"><exception>and</exception>\p{L}+</token>
                    <token><match no="0"/></token>
                    <token><match no="1"/></token>
                </pattern>
                <message>This phrase is duplicated. You should probably use <suggestion>\1 \2</suggestion> only once.</message>
                <short>Duplicated phrase</short>
                <example correction="at the">Hepatology <marker>at the at the</marker> turn of centuries.</example>
                <example correction="on the">Again he returned to the study and placed the lamp <marker>on the on the</marker> table</example>
                <example correction="from the">A handicapped accessible shuttle bus is available <marker>from the from the</marker> Purdue University parking lot.</example>
                <example correction="as dark">The house was <marker>as dark as dark</marker>.</example><!-- MFU 2019-09-02. The sentence "The house was as dark." is not correct. -->
                <example>All we wanted to do was to stand very quietly <marker>and look and look and look</marker>.</example>
                <example>In an era where bond yields are already as <marker>low as low can be</marker>, quantitative easing promises to be...</example>
                <example>The white spots are saturated -- <marker>as white as white can be</marker> -- and all the enhancements that everyone is...</example>
                <example>What if you're not <marker>as good as good should be</marker>?</example>
                <example>Northern California dispatches from 2015 were <marker>as bad as bad could be</marker>.</example>
                <example>He needed a bell <marker>as big as</marker> Big Ben.</example>
                <example>Very few men were <marker>as big as</marker> Big Rich.</example>
                <example>I saw Jim and Mary taking a <marker>walk hand in hand</marker> in the park.</example>
                <example>Jane <marker>calls a spade a spade</marker>.</example>
                <example>It is very <marker>far as far as I</marker> know.</example>
                <example>Entertainment is about to get <marker>as real as</marker> real life and nothing will ever be the same.</example>
                <example>No credit is almost <marker>as bad as</marker> bad credit.</example>
                <example>He accuses the public health lobby of being just <marker>as big as</marker> big business.</example>
                <example>I think this rule should be replaced step by step by new rules.</example>
                <example>It moves from side to side.</example>
                <example>He goes door to door to convince people of his campaign.</example>
                <example>Mic check, one three one three.</example>
                <example>He does that from time to time to improve his skills.</example>
                <example>Please call one two six six six six zero.</example>
            </rule>
        </rulegroup>
        <rule id="ACCORDING_TO" name="according to">
            <antipattern>
                <token>according</token>
                <token postag="DT"/>
            </antipattern>
            <antipattern>
                <token>according</token>
                <token>as</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>according</token>
                    <token postag="IN"><exception>to</exception></token>
                </marker>
            </pattern>
            <message>Did you mean: <suggestion>according to</suggestion>? according to: (as stated/in the opinion of)</message>
            <short>Wrong preposition: according to</short>
            <example correction="According to"><marker>According about</marker> a recent survey, most smokers suffer from cancer.</example>
            <example correction="according to">He was acquitted, because he was innocent <marker>according in</marker> the Jury.</example>
            <example><marker>According to</marker> a recent survey, most smokers suffer from cancer.</example>
            <example>He was acquitted, because he was innocent <marker>according to</marker> the Jury.</example>
            <example>We breathe life into this prized democratic value by <marker>according the</marker> Chief Justice due process of law.</example>
            <example>'<marker>According as</marker>' is a conjunction (Merriam-Webster's Collegiate Dictionary, 10th edition).</example>
            <example>'<marker>Accord with</marker>' is a verb, but it is not usually used in the progressive.</example>
            <example>His system had eleven grades, arranged <marker>according "to</marker> the degree to which they are infected ..."</example>
            <example>The manager was <marker>according</marker> him the greatest of privileges.</example>
        </rule>
        <rule id="GOOD_WELL" name="good (well)">
            <pattern>
                <token inflected="yes">speak</token>
                <token regexp="yes" case_sensitive="yes">&languages;</token>
                <token min="0">very</token>
                <marker><token>good</token></marker>
            </pattern>
            <message>Did you mean the adverb <suggestion>well</suggestion>?</message>
            <short>Possible grammar error</short>
            <example correction="well">You speak English very <marker>good</marker>.</example>
        </rule>
        <rulegroup id="WEEK_END" name="week end (weekend)">
            <rule>
                <pattern>
                    <token>week</token>
                    <token>end</token>
                </pattern>
                <message>Did you mean the noun <suggestion>weekend</suggestion> (Saturday + Sunday)?</message>
                <example correction="weekend">We went golfing on the <marker>week end</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AFTER_NOON" name="after noon (afternoon)">
            <url>https://www.merriam-webster.com/dictionary/afternoon</url>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token>little</token>
                    <token>after</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|their|his|her|before|on</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token>after</token>
                        <token>noon</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>afternoon</suggestion>?</message>
                <example correction="afternoon">I will have lunch in the <marker>after noon</marker>.</example>
                <example correction="afternoon">It was the best <marker>after noon</marker> of the week.</example>
                <example correction="afternoon">Have a great <marker>after noon</marker>!</example>
                <example>He came a little after noon.</example>
            </rule>
            <rule>
                <pattern>
                    <token>on</token>
                    <token regexp="yes" min="0">the|an?|my|y?our|his|her|their</token>
                    <token regexp="yes" min="0">early|late|next</token>
                    <token regexp="yes">&weekdays;|tomorrow|yesterday</token>
                    <marker>
                        <token>after</token>
                        <token>noon</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>afternoon</suggestion>?</message>
                <example correction="afternoon">It happened on Sunday <marker>after noon</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THERE_AFTER" name="thereafter">
            <antipattern>
                <token>after</token>
                <token regexp="yes">all|\d+</token>
            </antipattern>
            <antipattern>
                <token>here</token>
                <token regexp="yes">and|or|&amp;</token>
                <token>there</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>there</token>
                        <token>after</token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>Did you mean <suggestion>thereafter</suggestion> (= adverb, 'after that')?</message>
                <example correction="thereafter">In general, the frequency of clinic visits and investigation is most intense in the first year after the transplant, and it decreases gradually <marker>there after</marker>.</example>
                <example>He went in there after all that has happened.</example>
                <example>Tom arrived there after me.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>there</token>
                        <token postag="SENT_END">after</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>thereafter</suggestion> (= adverb, 'after that')?</message>
                <example correction="thereafter">In general, the frequency of clinic visits and investigation is most intense in the first year after the transplant, and it decreases gradually <marker>there after</marker></example>
                <example>He went in there after all that has happened.</example>
                <example>Tom arrived there after me.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">and|or|but</token>
                    <marker>
                        <token>there</token>
                        <token>after</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>thereafter</suggestion> (= adverb, 'after that')?</message>
                <example correction="thereafter">... after the said disposition was made, and <marker>there after</marker> return to his house.</example>
                <example>He went in there after all that has happened.</example>
                <example>Tom arrived there after me.</example>
                <example>The train will get you there after half the time.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|MD|PCT" postag_regexp="yes" />
                    <marker>
                        <token>there</token>
                        <token>after</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>thereafter</suggestion> (= adverb, 'after that')?</message>
                <example correction="thereafter">and might <marker>there after</marker> happen, through sickness or other lawful impediment.</example>
                <example>He went in there after all that has happened.</example>
                <example>Tom arrived there after me.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMPOUND_ADJECTIVE_NOUN" name="Missing hyphen in a compound adjective before a noun"><!-- Refer to https://github.com/languagetool-org/languagetool/issues/1318. Reference dictionary: www.ldoceonline.com/dictionary/ otherwise stated -->
            <url>https://www.grammarbook.com/punctuation/hyphens.asp</url>
            <short>Compound adjective + noun: missing hyphen</short>
            <antipattern>
                <token postag="NNP"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Assume that initial caps is NNP. Refer to 'brand new' -->
                <token case_sensitive="yes" regexp="yes">[A-Z][a-z].+</token>
                <token postag_regexp="yes" postag="NN.*" case_sensitive="yes" regexp="yes">[A-Z][a-z].+</token>
            </antipattern>
            <rule id="CA_BRAND_NEW" name="Compound adjective: brand new"><!-- https://www.lexico.com/definition/brand_new -->
                <pattern>
                    <marker>
                        <token>brand</token>
                        <token>new</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*">
                        <exception postag="PRP.*|IN|DT|CC|MD|W.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="brand-new">Yesterday, she bought a <marker>brand new</marker> car.</example>
                <example>Yesterday, she bought a <marker>brand-new</marker> car.</example>
                <example>Her car is <marker>brand new</marker>.</example>
                <example>Have you heard the <marker>Brand New Shadows</marker> song 'White Flags'?</example><!-- The text is not correct. A possessive apostrophe is missing, but that is a different problem and a separate rule is necessary. -->
            </rule>
            <rule id="CA_BRICK_RED" name="Compound adjective: brick red"><!-- www.collinsdictionary.com/dictionary/english/brick-red -->
                <pattern>
                    <marker>
                        <token>brick</token>
                        <token>red</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="brick-red">She hast a <marker>brick red</marker> car.</example>
            </rule>
            <rule id="CA_BUG_EYED" name="Compound adjective: bug eyed"><!-- https://www.lexico.com/definition/bug-eyed -->
                <pattern>
                    <marker>
                        <token>bug</token>
                        <token>eyed</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="bug-eyed">… generating a parade of little green men and <marker>bug eyed</marker> monsters.</example>
            </rule>
            <rule id="CA_CARD_CARRYING" name="Compound adjective: card carrying">
                <pattern>
                    <marker>
                        <token>card</token>
                        <token>carrying</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="card-carrying">For twenty-two years he was a <marker>card carrying</marker> Communist.</example>
            </rule>
            <rule id="CA_COAST_TO_COAST" name="Compound adjective: coast to coast">
                <antipattern case_sensitive="yes"><!-- www.coasttocoastam.com -->
                    <token>Coast</token>
                    <token>to</token>
                    <token>Coast</token>
                    <token>AM</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>coast</token>
                        <token>to</token>
                        <token>coast</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="coast-to-coast">Our <marker>coast to coast</marker> trip was wonderful.</example>
                <example>Our <marker>coast-to-coast</marker> trip was wonderful.</example>
                <example>We walked from <marker>coast to coast</marker> in ten days.</example>
                <example><marker>Coast to Coast AM</marker> airs on more than 600 stations in the U.S.</example>
            </rule>
            <rule id="CA_COOLING_OFF" name="Compound adjective: cooling off">
                <pattern>
                    <marker>
                        <token>cooling</token>
                        <token>off</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/><!-- The dictionaries show 'cooling-off period' rather than 'cooling-off' as an adjective before a noun. -->
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="cooling-off">During the <marker>cooling off</marker> period, you can…</example>
            </rule>
            <rule id="CA_CUT_AND_PASTE" name="Compound adjective: cut and paste">
                <pattern>
                    <marker>
                        <token>cut</token>
                        <token>and</token>
                        <token>paste</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="cut-and-paste">… because of a <marker>cut and paste</marker> error.</example>
            </rule>
            <rule id="CA_CUT_THROAT" name="Compound adjective: cut throat">
                <pattern>
                    <marker>
                        <token>cut</token>
                        <token>throat</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="cut-throat">Advertising is a <marker>cut throat</marker> business.</example>
            </rule>
            <rule id="CA_DO_OR_DIE" name="Compound adjective: do or die">
                <pattern>
                    <marker>
                        <token>do</token>
                        <token>or</token>
                        <token>die</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*">
                        <exception postag="MD|RB|IN|CC|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="do-or-die">In this organization, we have a <marker>do or die</marker> attitude.</example>
                <example>It's do or die now.</example>
            </rule>
            <rule id="CA_DOWN_AND_OUT" name="Compound adjective: down and out">
                <pattern>
                    <marker>
                        <token>down</token>
                        <token>and</token>
                        <token>out</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="Down-and-out"><marker>Down and out</marker> actors struggle to…</example>
            </rule>
            <rule id="CA_DUAL_PURPOSE" name="Compound adjective: dual purpose">
                <pattern>
                    <marker>
                        <token>dual</token>
                        <token>purpose</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="dual-purpose">This is a <marker>dual purpose</marker> test.</example>
            </rule>
            <rule id="CA_DUTY_FREE" name="Compound adjective: duty free">
                <pattern>
                    <marker>
                        <token>duty</token>
                        <token>free</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="duty-free">Did you buy some <marker>duty free</marker> wine?</example>
            </rule>
            <rule id="CA_EAGLE_EYED" name="Compound adjective: eagle eyed">
                <pattern>
                    <marker>
                        <token>eagle</token>
                        <token>eyed</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="eagle-eyed">The <marker>eagle eyed</marker> editors found many errors.</example>
            </rule>
            <rule id="CA_EYE_CATCHING" name="Compound adjective: eye catching">
                <pattern>
                    <marker>
                        <token>eye</token>
                        <token>catching</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="eye-catching">We make clothes in <marker>eye catching</marker> colours.</example>
            </rule>
            <rule id="CA_FIRST_HAND" name="Compound adjective: first hand">
                <pattern>
                    <marker>
                        <token>first</token>
                        <token>hand</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="first-hand">I gained <marker>first hand</marker> information from the manager.</example>
            </rule>
            <rule id="CA_FLY_BY_NIGHT" name="Compound adjective: fly by night">
                <pattern>
                    <marker>
                        <token>fly</token>
                        <token>by</token>
                        <token>night</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="fly-by-night">These <marker>fly by night</marker> companies are not reliable.</example>
            </rule>
            <rule id="CA_FOLLOW_UP" name="Compound adjective: follow up">
                <antipattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token>follow</token>
                </antipattern>
                <antipattern>
                    <token>please</token>
                    <token>follow</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>
                            <exception scope="previous" postag="MD" />
                            follow
                        </token>
                        <token regexp="yes">up|on</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*">
                        <exception postag="RB|IN|MD|DT|CC|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="follow-up">Here's a <marker>follow up</marker> task.</example>
                <example>I will follow up tonight.</example>
                <example>I follow up today.</example>
            </rule>
            <rule id="CA_HAND_TO_HAND" name="Compound adjective: hand to hand">
                <pattern>
                    <marker>
                        <token>hand</token>
                        <token>to</token>
                        <token>hand</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="Hand-to-hand"><marker>Hand to hand</marker> combat is not easy.</example>
            </rule>
            <rule id="CA_HEAVY_DUTY" name="Compound adjective: heavy duty">
                <pattern>
                    <marker>
                        <token>heavy</token>
                        <token>duty</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="heavy-duty">A <marker>heavy duty</marker> battery is necessary.</example>
            </rule>
            <rule id="CA_KNIFE_EDGE" name="Compound adjective: knife edge">
                <pattern>
                    <marker>
                        <token>knife</token>
                        <token>edge</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="knife-edge">The result of tonight's <marker>knife edge</marker> vote is still uncertain.</example>
            </rule>
            <rule id="CA_MOM_AND_POP" name="Compound adjective: mom and pop"><!-- Although this is AmE, keep the rule here. The rule is always correct. -->
                <pattern>
                    <marker>
                        <token>mom</token>
                        <token>and</token>
                        <token>pop</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="mom-and-pop">Most wineries in California are <marker>mom and pop</marker> operations…</example>
            </rule>
            <rule id="CA_NEW_LOOK" name="Compound adjective: new look">
                <pattern>
                    <marker>
                        <token>new</token>
                        <token>look</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2</suggestion>.</message>
                <example correction="new-look">I like this <marker>new look</marker> clothing.</example>
            </rule>
            <rule id="CA_OUT_OF_BODY" name="Compound adjective: out of body">
                <pattern>
                    <marker>
                        <token>out</token>
                        <token>of</token>
                        <token>body</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="out-of-body">I had an <marker>out of body</marker> experience yesterday.</example>
                <example correction="out-of-body">During these <marker>out of body</marker> tests, we will…</example>
            </rule>
            <rule id="CA_RAGS_TO_RICHES" name="Compound adjective: rags to riches">
                <pattern>
                    <marker>
                        <token>rags</token>
                        <token>to</token>
                        <token>riches</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="rags-to-riches">Her <marker>rags to riches</marker> story is fascinating.</example>
            </rule>
            <rule id="CA_WALL_TO_WALL" name="Compound adjective: wall to wall">
                <pattern>
                    <marker>
                        <token>wall</token>
                        <token>to</token>
                        <token>wall</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>'\1 \2 \3' seems to be a compound adjective before a noun. Use a hyphen: <suggestion>\1-\2-\3</suggestion>.</message>
                <example correction="wall-to-wall">This <marker>wall to wall</marker> carpeting is exquisite.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MISSING_APOSTROPHE_T" name="Missing: 't">
            <short>Grammar error</short>
            <antipattern>
                <token/>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
                <token spacebefore="no">t</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">
                        aren|couldn|didn|doesn|hadn|hasn|isn|mightn|mustn|needn|shan|shouldn|wasn|weren|wouldn
                        <exception postag_regexp="yes" postag="NNPS?"/>
                    </token>
                </pattern>
                <message>The abbreviation is not correct. Did you mean <suggestion>\1't</suggestion> (straight quote) or <suggestion>\1’t</suggestion> (curly quote)?</message>
                <example correction="doesn't|doesn’t">It <marker>doesn</marker> work.</example>
                <example correction="isn't|isn’t">Make sure that there <marker>isn</marker> 't a space.</example>
                <example correction="shan't|shan’t">I <marker>shan</marker> tell you again!</example>
                <example>It <marker>doesn't</marker> work.</example>
                <example>... hundreds of thousands of Karen, Karenni, and <marker>Shan</marker> have been pushed into nearby jungles.</example>
                <example>... and infantry support units, the Germans <marker>didn't--&gt;</marker>  The French armies were...</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <marker>
                        <token regexp="yes">ain|haven<exception postag_regexp="yes" postag="NNPS?"/></token>
                    </marker>
                </pattern>
                <message>The abbreviation is not correct. Did you mean <suggestion>\2't</suggestion> (straight quote) or <suggestion>\2’t</suggestion> (curly quote)?</message>
                <example correction="haven't|haven’t">I <marker>haven</marker> a clue.</example>
                <example correction="ain't|ain’t">Non-standard: We <marker>ain</marker> got a clue.</example>
                <example>I <marker>haven't</marker> a clue.</example>
                <example>'<marker>Ain</marker>' is an alternative spelling of 'ayin' (www.collinsdictionary.com/dictionary/english/ain).</example>
                <example>Quickly <marker>don</marker> the safety mask.</example>
                <example>When you <marker>don</marker> a safety mask...</example>
                <example>They <marker>don</marker> protective clothing.</example>
                <example>This village is a <marker>haven</marker>.</example>
                <example>She <marker>don</marker> like this. Found by HE_VERB_AGR.</example>
<!-- TODO: not found --><example>They <marker>don</marker> work.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THANKS_GIVING" name="'thanks giving' (Thanksgiving)">
            <url>https://en.wikipedia.org/wiki/Thanksgiving</url>
            <rule>
                <pattern>
                    <marker>
                        <token>thanks</token>
                        <token>giving</token>
                    </marker>
                    <token regexp="yes">days?|week|20\d\d|dinners?|date|tradition|turkey|celebrations?|holidays?</token>
                </pattern>
                <message><suggestion>Thanksgiving</suggestion> (= national holiday) is spelled as one word.</message>
                <example correction="Thanksgiving"><marker>Thanks giving</marker> 2020.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">on|of|before|after|over|during|until|till?|at|for|in|the|an?|his|her|y?our|my|their|from|since|Canadian|American|harvest|happy|good</token><!-- "good" is in this context not tagged as JJ -->
                    <token postag="JJ" min="0" />
                    <marker>
                        <token>thanks</token>
                        <token>giving</token>
                    </marker>
                </pattern>
                <message><suggestion>Thanksgiving</suggestion> (= national holiday) is spelled as one word.</message>
                <example correction="Thanksgiving">We see each other at <marker>Thanks giving</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_CUSTOM_BUILD" name="custom build (custom-build)">
            <url>https://www.lexico.com/definition/custom-build</url>
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="PRP" case_sensitive="yes" regexp="yes">[Ss]he|[Hh]e|[Ii]t|[Ww]e|[Tt]hey|[Yy]ou|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>custom</token>
                        <token regexp="yes">builds?|built|makes?|made</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\3-\4</suggestion> is spelled with a hyphen.</message>
                <example correction="custom-build">They <marker>custom build</marker> a solution.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">t</token>
                    <marker>
                        <token>custom</token>
                        <token regexp="yes">buil[td]|made</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="custom-built">They have <marker>custom built</marker> a solution.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">t</token>
                    <marker>
                        <token>custom</token>
                        <token regexp="yes">build|make</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\4-\5</suggestion> is spelled with a hyphen.</message>
                <example correction="custom-build">They would <marker>custom build</marker> a solution.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>custom</token>
                        <token regexp="yes">building|making</token>
                    </marker>
                </pattern>
                <message>The verb <suggestion>\2-\3</suggestion> is spelled with a hyphen.</message>
                <example correction="custom-building">They are <marker>custom building</marker> a solution.</example>
                <example correction="custom-making">The have been <marker>custom making</marker> bats since like 1847.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_VB" name="Missing verb: PRONOUN + NOUN (VERB)">
            <antipattern><!-- movie name -->
                <token>I</token>
                <token>Robot</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">you|it</token>
                <token>day</token>
                <token>by</token>
                <token>day</token>
            </antipattern>
            <antipattern><!-- "Have we anything new to test?" -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token postag="PRP" />
                <token regexp="yes">(any|some|every)(thing|body|one)</token>
            </antipattern>
            <antipattern><!-- "Haven't we anything new to test?" -->
                <token inflected="yes" regexp="yes">have|be</token>
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/it_girl -->
                <token>it</token>
                <token>girl</token>
            </antipattern>
            <antipattern><!-- if I ask you anything -->
                <token postag_regexp="yes" postag="VB.*"/>
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern><!-- to explain to you why; about it in -->
                <token regexp="yes">you|it</token>
                <token postag_regexp="yes" postag="CC|IN"/>
            </antipattern>
            <antipattern><!-- I stand with you arm in arm -->
                <token regexp="yes">you|it</token>
                <token>arm</token>
                <token>in</token>
                <token>arm</token>
            </antipattern>
            <antipattern><!-- I talk to you face to face -->
                <token regexp="yes">you|it</token>
                <token>face</token>
                <token>to</token>
                <token>face</token>
            </antipattern>
            <antipattern><!-- I help you step by step -->
                <token regexp="yes">you|it</token>
                <token>step</token>
                <token>by</token>
                <token>step</token>
            </antipattern>
            <antipattern><!-- we robots will -->
                <token regexp="yes">you|we</token>
                <token postag="NNS"/>
                <token postag_regexp="yes" postag="VB.*|MD"/>
            </antipattern>
            <antipattern><!-- we humans -->
                <token>we</token>
                <token regexp="yes">primates|humans</token>
            </antipattern>
            <antipattern><!-- we Americans think ... -->
                <token regexp="yes">we|you</token>
                <token postag="NNPS" />
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">we|you</token>
                <token>Americans</token>
            </antipattern>
            <antipattern><!-- you bastards! -->
                <token>you</token>
                <token />
                <token postag="SENT_END" regexp="yes">\p{P}</token>
            </antipattern>
            <antipattern><!-- you sons of bitches! -->
                <token>you</token>
                <token postag="NNS" />
                <token>of</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token />
                <token />
                <token regexp="yes">it|you</token>
                <token postag="SENT_END" regexp="yes">folks|guys</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token min="0">of</token>
                <token>you</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token />
                <token />
                <token regexp="yes">it|you</token>
                <token regexp="yes">folks|guys</token>
                <token postag="PCT" />
            </antipattern>
            <antipattern><!-- you bastards -->
                <token>you</token>
                <token postag="SENT_END" />
            </antipattern>
            <antipattern><!-- do it girls! (missing comma, needs different rule) -->
                <token postag="VB.*" postag_regexp="yes" />
                <token>it</token>
                <token>girls</token>
                <token postag="PCT" />
            </antipattern>
            <antipattern><!-- you bastards, you guys -->
                <token>you</token>
                <token regexp="yes">(bastard|guy|idiot|girl|gal|hayseed|philanderer|fool|boy|zombies|moron|monster|bro|fucker|slut|dick|kid|weirdo|murderer|traitor|skank)s?|kiddo|sir|se[ñn]or|mamm?a|papa|uncle|auntie|ladies|gentlemen|gents|lads|assholes?|students?|sweethearts?|folks</token>
            </antipattern>
            <antipattern><!-- you bastards, you guys -->
                <token regexp="yes">you|we</token>
                <token regexp="yes">&nouns_with_you;</token>
            </antipattern>
            <antipattern><!-- you son of a bitch -->
                <token>you</token>
                <token>son</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- you fool!," he shouted -->
                <token>you</token>
                <token/>
                <token regexp="yes">[,!\.]</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- online shop -->
                <token>ABOUT</token>
                <token>YOU</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- Division I Basketball Championship -->
                <token regexp="yes">[A-Z][a-z].+</token>
                <token>I</token>
                <token regexp="yes">[A-Z][a-z].+</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- G.I Applications. This AP does not give the expected result, possibly because the full stop has postag SENT_END -->
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">I</token>
                <token regexp="yes">[A-Z][a-z].+</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- type I collagen fibrils; Charles I -->
                <token postag_regexp="yes" postag="NN(P|:UN?)?|JJ"/>
                <token chunk="E-NP-singular">I</token>
            </antipattern>
            <antipattern><!-- [T]he status -->
                <token>[</token>
                <token spacebefore="no">t</token>
                <token spacebefore="no">]</token>
                <token spacebefore="no">he</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">kind|sort</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- "the more of it producers will supply", "I'm sharing with you insights and statistics about yesterday's traffic."" -->
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="IN|TO" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern><!-- with it something of / in it nothing can -->
                <token postag="IN"/>
                <token regexp="yes">you|it</token>
                <token postag_regexp="yes" postag="NN(S|:U)"/>
                <token postag_regexp="yes" postag="IN|MD"/>
            </antipattern>
            <antipattern><!-- with bipolar I mania -->
                <token postag="IN"/>
                <token postag="JJ"/>
                <token>I</token>
            </antipattern>
            <antipattern><!-- by it thou -->
                <token postag="IN"/>
                <token>it</token>
                <token>thou</token>
            </antipattern>
            <antipattern><!-- "I Love You Oh So Much", "LOVE YOU UNCLE BILLY" -->
                <token>love</token>
                <token>you</token>
            </antipattern>
            <antipattern><!-- a C/I dishwasher -->
                <token regexp="yes" case_sensitive="yes">[A-Z]</token>
                <token regexp="yes">[/\.]</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern><!-- we children cannot do it -->
                <token>we</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token postag="RB.*" postag_regexp="yes" min="0" />
                <token postag="VB[PD]?|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- We firemen in Cleveland can do it -->
                <token>we</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token min="0">here</token>
                <token regexp="yes" skip="2">in|from|at</token>
            </antipattern>
            <antipattern><!-- we humans all can live together -->
                <token>we</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token>all</token>
                <token postag="VB[PD]?|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- World War I -->
                <token regexp="yes">&nouns_with_i;</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern><!-- has he permission -->
                <token regexp="yes">ha[ds]</token>
                <token regexp="yes">s?he|it</token>
            </antipattern>
            <antipattern><!-- #2304 burned - most of it bushland, forests and national parks, which -->
                <token postag_regexp="yes" postag="VB[DN]"/>
                <token regexp="yes">-|—|–|,|;</token><!-- hyphen, m-dash, n-dash, comma, semicolon -->
                <token regexp="yes">much|most</token>
                <token>of</token>
                <token>it</token>
                <token postag_regexp="yes" postag="NN.*"/>
                <token>,</token>
                <token postag_regexp="yes" postag="NN.*"/><!-- forests/VBZ, thus cannot use an exception for VBZ -->
                <token min="0" max="1">,</token>
                <token>and</token>
                <token chunk="B-NP-plural" postag_regexp="yes" postag="NN.*|JJ"/>
                <token min="0" max="1" chunk="I-NP-plural" postag_regexp="yes" postag="NN.*|JJ"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token min="0" max="1">,</token>
                <token regexp="yes">which|that</token>
            </antipattern>
            <antipattern><!-- I wouldn’t read within it anything other than the half (of the Qur’an) that I had previously memorized -->
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">(with)?in</token>
                <token>it</token>
                <token regexp="yes">any(thing|one|body)</token>
            </antipattern>
            <antipattern><!-- #2407 make the top of it semolina -->
                <token postag_regexp="yes" postag="VB.*" inflected="yes" regexp="yes">make|paint</token><!-- The safe option is to specify the verbs that cause problems. -->
                <token>the</token>
                <token postag_regexp="yes" postag="NN.*"/>
                <token>of</token>
                <token>it</token>
                <token postag_regexp="yes" postag="NN:UN?"/>
            </antipattern>
            <antipattern><!-- "without you life is great" -->
                <token regexp="yes">with(out)?</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token>good</token>
                <token regexp="yes">morning|night|afternoon|day</token>
                <token>to</token>
                <token>you</token>
                <token regexp="yes">mister|mrs?|dr|doctor|professor</token>
            </antipattern>
            <antipattern><!-- He talked to the G.I regarding one topic -->
                <token regexp="yes">[A-Z]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">I</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">it|you</token>
                <token>his</token><!-- "his" is also NNS -->
            </antipattern>
            <antipattern><!-- contraction error, caugt by different rule -->
                <token regexp="yes">didnt|cant|wont|doesnt|dont</token>
                <token regexp="yes" postag="PRP">I|you|he|she|it|we|they</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/WE_Charity -->
                <token>WE</token>
                <token>charity</token>
            </antipattern>
            <antipattern>
                <token postag="PRP" />
                <token regexp="yes">/|\\|and|or|&amp;|,</token>
                <token postag="PRP" />
                <token regexp="yes">pronouns?</token>
            </antipattern>
            <antipattern><!-- I'm proud of you Georgians who ... -->
                <token>of</token>
                <token>you</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes">who|that</token>
            </antipattern>
            <antipattern><!-- I have trust in you ma'am -->
                <token postag="IN" />
                <token>you</token>
                <token>ma</token>
                <token regexp="yes">&apostrophe;</token>
                <token>am</token>
            </antipattern>
            <antipattern><!-- We fine men and women are ... -->
                <token regexp="yes">we|you</token>
                <token postag="JJ" min="0" />
                <token postag="NNP?S" postag_regexp="yes" />
                <token regexp="yes">and|&amp;</token>
                <token postag="NNP?S" postag_regexp="yes" />
                <token inflected="yes" regexp="yes">be|do|have|will|can|should|take|want|need|make|go|get|try</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes" regexp="yes">[A-Z]</token>
                <token regexp="yes">&amp;</token>
                <token>I</token>
            </antipattern>
            <antipattern><!-- -Gives you immunity -->
                <token regexp="yes" postag="UNKNOWN">-[a-z]+</token>
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern>
                <token>takin</token>
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
            </antipattern>
            <antipattern><!-- different error -->
                <token>isnt</token>
                <token regexp="yes">it|s?he</token>
            </antipattern>
            <antipattern>
                <token>he</token>
                <token>she</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP">
                    <exception regexp="yes" inflected="yes">think|believe|doubt|hope|assume</exception>
                </token>
                <token>you</token>
            </antipattern>
            <antipattern><!-- Let's transfer his .it domain -->
                <token>.</token>
                <token spacebefore="no">it</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token>you</token>
                <token chunk_re="[BI]-NP-plural" /> 
                <token chunk_re="E-NP-plural" />
            </antipattern>
            <antipattern><!-- I can't believe how materialistic you energy traders are -->
                <token skip="2">how</token>
                <token>you</token>
                <token chunk_re="[BI]-NP-plural" /> 
                <token chunk_re="E-NP-plural" />
                <token postag="VB[PD]|MD" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">I</token>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern>
                <token>'</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">I</token>
                <token regexp="yes">bot|clade|environments?|horror|inhibitors?|statements?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">eurosids?|forms?|schedules?|.*types?</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token skip="1" case_sensitive="yes">I</token>
                <token regexp="yes">&quote;</token>
            </antipattern>
            <antipattern>
                <token skip="1" case_sensitive="yes">I</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <antipattern>
                <token skip="1">you</token>
                <token postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes">s?he|it</token>
                <token>prophecies</token>
            </antipattern>
            <antipattern>
                <token skip="1" regexp="yes">s?he|it</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token>it</token>
                <token>day</token>
                <token>in</token>
                <token>and</token>
                <token>day</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">(with)?in</token>
                <token>it</token>
                <token postag="NNS" />
                <token postag="MD|V.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token skip="1" inflected="yes">call</token>
                <token>it</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes">we|you</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token regexp="yes">we|you</token>
                <token postag="NNS" />
                <token regexp="yes">that|which|who</token>
            </antipattern>
            <antipattern>
                <token postag="PCT" />
                <token regexp="yes">we|you</token>
                <token postag="NNS" />
                <token postag="PCT" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">I</token>
                <token regexp="yes">(wo)?men</token>
                <token>'s</token>
                <token>basketball</token>
            </antipattern>
            <antipattern>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token>day</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>lot</token>
            </antipattern>
            &multi_word_verbs;
            <rule>
                <antipattern>   <!-- separate subrule -->
                    <token>you</token>
                    <token chunk_re="B-NP.*" />
                    <token min="0" chunk_re="I-NP.*" />
                    <token chunk_re="E-NP.*" />
                    <token postag="MD|V.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>   <!-- separate subrule -->
                    <token postag="IN|R[BP]|TO" postag_regexp="yes" />
                    <token skip="1">we</token>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>   <!-- separate subrule -->
                    <token>I</token>
                    <token regexp="yes">addition|connection|conclusion</token>
                </antipattern>
                <antipattern>   <!-- separate subrule -->
                    <token regexp="yes">of|upon</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token regexp="yes">(any|every|no|some)(body|one|thing)</token>
                </antipattern>
                <pattern>
                    <token><exception inflected="yes">be</exception></token>
                    <marker>
                        <token regexp="yes" postag="PRP">I|you|he|she|it|we<exception regexp="yes" case_sensitive="yes">IT|i</exception></token>
                        <token postag_regexp="yes" postag="NN.*">
                            <exception postag_regexp="yes" postag="VB.*|RB.*|JJR?|NNP|MD"/>
                            <!-- our confusion rule will find 'he things it's great' and offer a suggestion -->
                            <exception regexp="yes" case_sensitive="yes">[A-Z].*</exception>
                            <exception regexp="yes">cost|favorites|things?</exception>
                            <exception regexp="yes">re|auto|semi</exception><!-- "He re attends the event" (different error) -->
                            <exception>gotcha</exception><!-- Caught by GOTCHA -->
                            <exception regexp="yes">aint?</exception><!-- You ain my friend -->
                            <exception>oh</exception><!-- "I pray to you oh lord" (different error) -->
                            <exception regexp="yes">&commonly_misspelled_verbs;</exception><!-- caught by spell checker (listed in prohibit.txt) -->
                            <exception regexp="yes">&adverb_abbreviations;|&verb_abbreviations;|&not_really_verbs;</exception><!-- short informal forms of adverbs (that we haven't POS tagged) -->
                        </token>
                    </marker>
                </pattern>
                <message>Check that the noun '\3' after the pronoun '\2' is correct. It's possible that you may need to switch to a possessive pronoun, or use another part of speech.</message>
                <short>Possible grammar error</short>
                <example correction="">… to which <marker>he response</marker>.</example>
                <example correction=""><marker>You device</marker> isn't working.</example>
                <example correction="">... (<marker>he status</marker> of the test is unknown).</example>
                <example correction="">He likes reading and <marker>he hangouts</marker> with his friends.</example>
                <example correction="">In the evening, <marker>he celebrants</marker> his success.</example>
                <example>… to which <marker>he responds</marker>.</example>
                <example>… to which <marker>he quickly responded</marker>.</example>
                <example>She told me her secret.</example>
                <example>Is it bad?</example>
                <example>I have trust in you ma'am</example>
                <example>Without you life is cruel.</example>
                <example>Without you life has no meaning.</example>
                <example>Isn't it time to do it?</example>
                <example>He said 'You ain't'</example>
                <example>You ain my friend</example>
                <example>So all you crime busters, tomorrow night is the night.</example>
                <example>I can't believe how materialistic you energy traders are.</example>
                <example>Here's one for all you geography whizzes out there.</example>
                <example>We firemen in Cleveland can do it.</example>
                <example>Type I diabetes.</example>
                <example>The video gives you everything you need!</example>
                <example>The Class I shareholder report.</example>
                <example>I pray to you oh lord.</example>
                <example>I ain't stupid.</example>
                <example>Have we anything new to test?</example>
                <example>Haven't we anything new to test?</example>
                <example>All of you girls</example>
                <example>We farmers here in South Carolina.</example>
                <example>Aren't you something else?</example>
                <example>They can take care of you day by day.</example>
                <example>... if I ask you anything else today.</example>
                <example>I wouldn’t read within it anything other than the half (of the Qur’an) that I had previously memorized.</example>
                <example>They sold you garbage!</example>
                <example>I'm sharing with you insights and statistics about yesterday's traffic.</example>
                <example>It would take me too much time to explain to you why it's not going to work.</example>
                <example>Who wrote 'The World As I See It'?</example>
                <example>Doing all that you can is good enough.</example>
                <example>…success of the NCAA Men's Division I Basketball Championship.</example>
                <example>The current proliferation of IT certifications...</example>
                <example>We robots will create a new order.</example>
                <example>The purpose of marriage in the <marker>Bahá'i</marker> faith is mainly to...</example>
                <example>... time since you've given me one of these, <marker>you bastards</marker>!</example>
                <example>... <marker>you fool!,</marker>" he shouted.</example>
                <example>Dionysius Lardner wrote about <marker>it in</marker> 1834 in the Edinburgh Review.</example>
                <example><marker>Were they lovers</marker> at that time?</example>
                <example>... wrote, "<marker>[T]he status</marker> of priest among Christians is merely that of...</example>
                <example>They <marker>kind of</marker> took me in.</example>
                <example>In the Huang He valley.</example>
                <example>The C/I dishwasher.</example>
                <example>We have an A.I director</example>
                <example>And, so it <marker>sort of</marker> all ended up fitting together.</example>
                <example>...in the gap and overlap regions of <marker>type I</marker> collagen fibrils with implications for bone...</example>
                <example>... were indeed historical figures and <marker>they most probably taught</marker> Buddha two different forms of...</example>
                <example>The essential feature of <marker>bipolar I disorder</marker> is a clinical course characterized by the ...</example>
                <example>Following the execution of <marker>Charles I</marker> in 1649 and the establishment of the Commonwealth...</example>
                <example>... which the good can be sold, the more <marker>of it producers will</marker> supply, as in the figure.</example>
                <example>Archaic. ... and by it <marker>thou</marker> mayest judge his fairness, both in hair and ...</example>
                <example>... pediatric and adult patients with <marker>bipolar I mania</marker>: a comparative analysis of...</example>
                <example>Some say <marker>we Argentinians</marker> are arrogant, but that's just because we're ...</example>
                <example>... but associates <marker>with it something of</marker> pusillanimity.</example>
                <example>...has no articles of faith; accordingly, <marker>in it nothing can</marker> be assumed as existing except what is...</example>
                <example>On no condition <marker>has he permission</marker> to touch it.</example>
                <example>... but <marker>had she time</marker> to do it?</example>
                <example>I'm going to stand with you arm in arm.</example>
                <example>I can provide to you information that you asked for.</example><!-- #2251 -->
                <example>I can give to you something that makes you happy.</example><!-- #2251 -->
                <example>... and by providing to it data which it will use in its calculations.</example><!-- #2251 -->
                <example>Peter and him have someone they know and Ralph admires.</example><!-- #2252 -->
                <example>Nearly 18 million acres of land have been burned - most of it bushland, forests and national parks, which...</example><!-- #2304 -->
                <example>I love the way you <marker>are</marker> and friends should honor that.</example><!-- #2343 -->
                <example>I love the way you <marker>are</marker> and time will tell whether we...</example><!-- #2343 -->
                <example>We will be lost when they <marker>die</marker> and computers take over the world.</example><!-- #2343 -->
                <example>I want to make the top of it <marker>semolina</marker> and and melt the chocolate...</example><!-- #2407 -->
                <example>I'm getting ready to paint the top of it <marker>black</marker> and put a rose decal on it.</example><!-- #2407 -->
                <example>I luv trucks.</example>
                <example>You folks sure have an idea!</example>
                <example>Uh, I dunno.</example>
                <example>We <marker>students</marker> all like baseball.</example>
                <example>publisher=<marker>iT News for Australian Business</marker>|accessdate=4 December...</example>
                <example>Let's transfer his .it domain</example>
                <example>|| (lit., I TOPIC student COPULA) |- | これはペンです。 | Kore wa pen desu.</example>
                <example>I will be stopping by this morning to distribute the pages that were missing from the "Options" section in your Deriviatives I binder.</example>
                <example>Wyban, Carol Araki (1992) Tide and Current: Fishponds of Hawai'I University of Hawaii Press:: ISBN 978-0-8248-1396-3</example>
                <example>I bot 1,000/d apr/oct @ 2.91.</example>
                <example>The order Cucurbitales in the eurosid I clade comprises almost 2600 species in 109 or 110 genera in eight families, tropical and temperate, of very different sizes, morphology, and ecology.</example>
                <example>The EIA data contains FERC form I data.</example>
                <example>Canadian Forces identity discs (abbreviated "I discs") are designed to be broken in two in the case of fatality; the lower half is returned to National Defence Headquarters with the member's personal documents, while the upper half remains on the body.</example>
                <example>That's a little too much for me unless I get a mortgage which I horror the idea of owing any bank money.</example>
                <example>Two topoisomerase I inhibitors, irinotecan and topotecan, are semi-synthetically derived from camptothecin, which is obtained from the Chinese ornamental tree Camptotheca acuminata.</example>
                <example>I to I neg.</example>
                <example>However, if a C*-algebra has non-type I representations, then by results of James Glimm it also has representations of type II and type III</example>
                <example>I statements "All I know is that my role here is to.....</example>
                <example>Four months after the court victory, the common ingredients of ayahuasca as well as harmala were declared stupéfiants, or narcotic schedule I substances, making the tea and its ingredients illegal to use or possess.</example>
                <example>TO YOU tips or assistance in setting up your own personal CustomClips folders.</example>
                <example>Scene No. 5: Heraus, ihr Schönen von Mahagonny ("Come Out, You Beauties of Mahagonny")</example>
                <example>Probably not a big deal for most of you, but didn't want any of you Arians owners to get stuck on this short week if he was your guy.</example>
                <example>I can't be held responsible for the conscientious manner in which you SCADA people wish to satisfy the data requirements of the company.</example>
                <example>The poor dishrag is laying the blame at you Texans' feet.</example>
                <example>Waddell was the 27th and last batter, and when he flied out, Young shouted, "How do you like that, you hayseed?"</example>
                <example>“Rather, where are you carrying that debauched lot, you philanderer?”</example>
                <example>It was pretty rare to talk about God with people at Enron and I am thankful that I met you and in you someone who shared the same foundation of faith.</example>
                <example>I'll *give* you something to cry about.</example>
                <example>Insofar as you Treasurer watch goes, I'm still seeing a psychotherapist trying to learn to forgive you for letting Roby talk you into billing the chapter for about 400 $5,000 life insurance policies he milked the brothers into buying when he worked for MONY.</example>
                <example>Several of Saint Columba's prophecies reflect the scribal culture in which he was immersed, such his miraculous knowledge of the missing letter “I” from Baithene's psalter [15] or when he prophecies that an eager man will knock over his inkhorn and spill its contents.</example>
                <example>During the storage and before the fuel disposal, most of it beta decays to californium-249.</example>
                <example>They (women) are sometimes unable to stand the hard work of it day in and day out.</example>
                <example>National Alliance was a heterogeneous political party and within it members were divided in different factions, some of them very organized:</example>
                <example>Most people around the world would call > it terrorism when bombs and missiles are mercilessly dropped on innocent > people in Bagdad, Kabul, Tripoli, Khartoum, Hanoi or Hiroshima, not only > when they fall on America.</example>
                <example>We Democrats," said Sherman, "hope very much that our skepticism is proven wrong.</example>
                <example>Even when a new century begins it is only we mortals who ring bells and fire off pistols.</example>
                <example>The world is no longer safe, not even for we relics.</example>
                <example>One trader describes this as "probably the single best I environment for equity derivatives that we've seen in the last decade".</example>
                <example>I men's basketball debut tonight (Nov. 16) against Morehead State University.</example>
                <example>Five years later, Jones reflected that “it cost us something to stay out of an association, but we stayed out.</example>
                <example>I am going to look into and will need a breakdown from you day by day for these days(8/6 thru 8/10).</example>
                <example>Then, we citizens, sit here even today in protest.</example>
                <example>Read All About It Edition 1: Nov 2021</example>
            </rule>
            <rule>  <!-- I addition/connection/conclusion -->
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>i</token>
                    </marker>
                    <token regexp="yes">addition|connection|conclusion</token>
                </pattern>
                <message>Did you mean to write 'in' here?</message>
                <suggestion>in</suggestion>
                <example correction="In"><marker>I</marker> addition, on a regular basis, Lisa Valderrama and Pam Boxx need to be copied on any emails like this.</example>
                <example>How can I connection to newrelic website java Application program?</example>
            </rule>
            <rule>  <!-- you or anyone -->
                <pattern>
                    <token>you</token>
                    <marker>
                        <token regexp="yes">any(body|one)</token>
                    </marker>
                </pattern>
                <message>Did you forget to add 'or'?</message>
                <suggestion>or \2</suggestion>
                <example correction="or anyone">If you <marker>anyone</marker> wants to go, let me know.</example>
            </rule>
            <rule>   <!-- we -> us -->
                <antipattern>
                    <token postag="RB">
                        <exception>not</exception>
                    </token>
                    <token>we</token>
                </antipattern>
                <pattern>
                    <token postag="IN|R[BP]|TO" postag_regexp="yes" />
                    <marker>
                        <token>we</token>
                    </marker>
                    <token postag="NNS" />
                    <token postag="SENT_END" />
                </pattern>
                <message>Did you mean to use the object pronoun 'us' here?</message>
                <suggestion>us</suggestion>
                <example correction="us">I'll forward the most recent version they have been sharing amongst themselves and not <marker>we</marker> lawyers.</example>
                <example correction="us">The world is no longer safe, not even for <marker>we</marker> relics.</example>
            </rule>
            <rule>   <!-- it -> its -->
                <antipattern>
                    <token>
                        <exception postag="NNS" />
                        <exception regexp="yes">much|most</exception>
                    </token>
                    <token>of</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token>most</token>
                    <token>of</token>
                    <token>it</token>
                    <token chunk="B-NP-singular" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">looks|sounds</token>
                    <token>of</token>
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">of|upon</token>
                    <marker>
                        <token case_sensitive="yes">it</token>
                    </marker>
                    <token chunk_re="B-NP.*">
                        <exception postag="P?DT|PRP.*|[VW].*" postag_regexp="yes" />
                    </token>
                    <token min="0" chunk_re="E-NP.*" />
                    <token postag="MD|V.*|SENT_END" postag_regexp="yes" />
                </pattern>
                <message>Did you mean to use the possessive pronoun 'its' here?</message>
                <suggestion>its</suggestion>
                <example correction="its">Much of <marker>it</marker> efforts have been spent on trying to persuade the U.S. to offer an alternative to Kyoto or come back to the negotiation table on the treaty.</example>
                <example correction="its">Engineering academic college: Any academic facility that offer at least Bachelor degree and most of <marker>it</marker> faculties are providing an Engineering degree and Engineering license.</example>
                <example correction="its">I envision that NewCo upon <marker>it</marker> formation will have its own compensation plan which will provide competitive base salaries.</example>
                <example correction="its">Baeumerich said volumes in the French power market had risen sharply in recent weeks after Electricite de France last month auctioned off access to 1,200 megawatts of <marker>it</marker> generation capacity.</example>
                <example>According to the United States Census Bureau the city's area includes of land and (40.83%) water, most of it part of San Francisco Bay.</example>
                <example>From the sounds of it it was both?</example>
                <example>The odds of it damaging anything are slim but I'd still want it out of there.</example>
                <example>JAC has huge sections of it that aren't public.</example>
                <example>But my reading has not prepared me for the monstrous proportions of it all.</example>
                <example>There are some sections of it which we are updating.</example>
                <example>This is very important when you are the systems administrator of 100's of thousands of IT systems that run critical infrastucture for your country.</example>
            </rule>
        </rulegroup>
        <rule id="SEVERAL_OTHER" name="several other (others)">
            <antipattern>
                <token>other</token>
                <token min="0" max="4" chunk_re="I-NP-(singular|plural)"/>
                <token chunk_re="E-NP-(singular|plural)" postag="NNP?S|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>other</token>
                <token min="0" max="4" chunk_re="I-NP-(singular|plural)"/>
                <token chunk_re="E-NP-(singular|plural)" postag="UNKNOWN" regexp="yes">.+s</token>
            </antipattern>
            <antipattern>
                <token>other</token>
                <token chunk_re="E-NP-singular" />
                <token postag="IN" />
                <token chunk_re="E-NP-plural" postag="NNP?S" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Chunker error: All other gas supply/transport -->
                <token>other</token>
                <token chunk="I-NP-singular" postag="NN(:UN?)?" postag_regexp="yes"/>
                <token postag="VBP?" postag_regexp="yes"/>
                <token>/</token>
                <token postag="NN(:UN?)?" postag_regexp="yes"/>
            </antipattern>
            <pattern>
                <token regexp="yes">all|many|most|several|those|these|few</token>
                <marker>
                    <token>other</token>
                </marker>
                <token postag="SENT_END|VB[PD]?" postag_regexp="yes"/>
            </pattern>
            <message>Possibly, a noun is missing after '\2'. Or do you mean <suggestion>others</suggestion>?</message>
            <short>Possible grammar error</short>
            <example correction="others">I saw him and and several <marker>other</marker>.</example>
            <example correction="others">Tom and several <marker>other</marker> did a great job.</example>
            <example correction="others">Many <marker>other</marker> have been hiding from the police.</example><!-- #4814 VBP -->
            <example correction="others">And will these <marker>other</marker> have a test?</example><!-- #4814 VB -->
            <example correction="others">All those <marker>other</marker> ran away.</example>
            <example>I saw him and and several <marker>others</marker>.</example>
            <example>As with most <marker>other</marker> liquefied noble gases, argon has a high scintillation lightyield</example>
            <example>I saw him and and several <marker>other</marker> people.</example>
            <example>All other gas supply/transport/balancing agreement...</example><!-- supply/B-VP -->
            <example>Unlike most other land carnivorans, bears are plantigrade.</example>
            <example>The device is just on my coffee table at the moment for testing in the lounge next to a few other plug in devices.</example>
            <example>Some of us users out there (such as myself and a few other confirmed podmins) have found that installing Diaspora and Mastodon on the same server can be extremely troublesome.</example>
            <example>Agreed, but I think we're going to have to get rid of Madame Speaker Pelosi and quite a few other compromised Ds before that happens.</example>
        </rule>
        <rule id="VE_DIDNT" name="ve didn't"><!--  #1739 -->
            <pattern>
                <token/>
                <token spacebefore="no">'ve</token>
                <token regexp="yes">did|do</token>
                <token>n't</token>
            </pattern>
            <message>The text is not correct, but LanguageTool has no suggestions about how to correct the text.</message>
            <short>Grammar error</short>
            <example correction="">The person <marker>who've didn't</marker> do the work was sacked.</example>
            <example correction="">Why <marker>I've didn't</marker> received weekly bonus?</example>
            <example correction="">But <marker>who've don't</marker> made an error.</example>
            <example correction=""><marker>I've didn't</marker> mistyped it.</example>
            <example correction=""><marker>We've don't</marker> made an error.</example>
            <example>The person <marker>who didn't</marker> do the work was sacked.</example>
        </rule>

        <rulegroup id="ADVERB_OR_HYPHENATED_ADJECTIVE" name="Use an adverb or a compound adjective, not an adjective"><!--  #1723 -->
        <!-- Refer to https://github.com/languagetooler-gmbh/languagetool-premium/issues/250 -->
            <url>https://www.grammar.cl/english/compound-adjectives.htm</url>
            <short>Possible grammar error</short>
            <antipattern><!-- I will add to the list when I find words that cannot form adverbs. Use an AP so that I update only one list. -->
                <token postag="JJ" regexp="yes">known|retired|suspended|wheeled|written</token><!-- These words do not have adverbs English (typically *ly) -->
                <token postag="VBN"/>
                <token postag_regexp="yes" postag="NN(S|:UN?)?"/>
            </antipattern>
            <antipattern><!-- single building left standing -->
                <token>single</token>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="VBN"/>
                <token postag="JJ"/>
            </antipattern>
            <antipattern><!-- www.gov.uk/find-charity-information -->
                <token>registered</token>
                <token inflected="yes">charity</token>
            </antipattern>
            <rule><!-- BE + DT + JJ + VBN + NN. This is simpler version of a general rule that I abandoned. Many of the correct examples are from that general rule. -->
                <antipattern><!-- There is no satisfying spoiled children. -->
                    <token>no</token>
                    <token postag="VBG"/>
                    <token postag="VBN"/>
                    <token postag="NNS"/>
                </antipattern>
                <antipattern><!-- no other rated games -->
                    <token regexp="yes">no|all</token>
                    <token>other</token>
                    <token postag="JJ" />
                </antipattern>
                <antipattern><!-- #2670 was a little upset due to ... www.ldoceonline.com/dictionary/a-little -->
                    <token inflected="yes">be</token>
                    <token>a</token>
                    <token>little</token>
                    <token postag="VBN"/>
                </antipattern>
                <antipattern><!-- #2722 were a group called Pariahs -->
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token chunk="B-VP" postag="VBN"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #2964 was a pandemic called COVID-19 / #3039 an animal called seal which  -->
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token chunk="B-VP" postag="VBN"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/><!-- A missing article before a count noun is not a reason for this rule to fire -->
                </antipattern>
                <antipattern><!-- I'm a good fit due to ... -->
                    <token postag="VBN"/>
                    <token>due</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- a good fit -->
                    <token regexp="yes">an?|another|n?either|every</token><!-- singular determiners. -->
                    <token postag="JJ"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- chunker fix: #3304 a fluid called sebum -->
                    <token regexp="yes">an?|another|n?either|every</token><!-- singular determiners. -->
                    <token postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token postag="VBN">called</token><!-- called/I-NP-singular. Semantics. Not: it's a common used tool for spammers -->
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- https://www.lexico.com/definition/public_limited_company -->
                    <token regexp="yes">public|private</token>
                    <token>limited</token>
                </antipattern>
                <antipattern>
                    <token>much</token>
                    <token>less</token>
                </antipattern>
                <antipattern><!-- #3505 the bright LED light -->
                    <token case_sensitive="yes">LED</token>
                    <token case_sensitive="yes" postag_regexp="yes" postag="NN(S|:UN?)?" regexp="yes">\p{Ll}+</token>
                </antipattern>
                <antipattern><!-- www.mathcounterexamples.net/tag/normed-vector-spaces/ -->
                    <token>complete</token>
                    <token>normed</token>
                    <token>vector</token>
                    <token postag_regexp="yes" postag="NN.*" regexp="yes">spaces?</token>
                </antipattern>
                <antipattern>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token postag="JJ" regexp="yes">.+ed</token>
                    <token postag="VBN" regexp="yes">.+ed</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
<!-- this does not work with: It is a popular common used tool for spammers.  <token min="0" max="1" postag="JJ"/> -->
                    <marker>
                        <token postag="JJ">
                            <exception postag="RB"/><!-- She is a very refined lady. -->
                            <exception regexp="yes">.*(st|nd|rd|th)</exception>
                            <exception regexp="yes">only|very|favorite|few|other</exception>
                            <exception postag="CD"/><!-- #2741 AmE treats cardinal numbers as adjectives. Refer to www.merriam-webster.com/dictionary/one and others -->
                            <exception regexp="yes">.+\-.+</exception>
                            <exception postag="IN"/><!-- #4174 both on extended leave -->
                        </token>
                            <token postag="VBN"><!-- Including JJ in the token causes many FP. For now, keep the rule simple. -->
                            <exception postag_regexp="yes" postag="NN(:UN?)?"/><!-- #3592 -->
                            <exception regexp="yes">.+\-.+</exception>
                        </token>
                    </marker>
                    <token postag_regexp="yes" postag="NN(S|:UN?)?">
                        <exception postag="IN"/>
                        <exception>anywhere</exception>
                    </token>
                </pattern>
                <message>Make sure that the adjective '\3' is correct. Possibly, it should be an adverb (typically ~ly) that modifies '\4'. Possibly, it should be the first word in a compound adjective (hyphenated adjective). Possibly, it is correct.</message><!-- I did not use a suggestion for the compound adjectives, because I think that that is misleading because we don't give a suggestion for the adverb. -->
                <example correction="">It's a <marker>common used</marker> tool for spammers.</example>
                <example correction="">The boss said this group is a <marker>real mixed</marker> bag.</example><!-- Informal AmE: https://www.lexico.com/en/definition/real. In standard English, use 'really'. -->
                <example correction="">... suitable for mounted action and there was a <marker>long established</marker> culture of horsemanship amongst the Arab and...</example><!-- Should be a hyphenated adjective -->
                <example correction="">You're a <marker>natural born</marker> talker.</example><!-- Hyphenated adjective -->
                <example correction="">Beauty is a <marker>short lived</marker> tyranny.</example><!-- Hyphenated adjective -->
                <example correction="">It was the <marker>initial wound</marker> area.</example><!-- #2722 This sentence is ambiguous. If 'wound' is a verb, then the warning is correct. If 'wound' is a noun, it's a false positive. DT_JJ_NN_JJ removes the noun reading. -->
                <example>It is a <marker>commonly used</marker> tool for spammers.</example>
                <example>It is the fourth known problem this week.</example>
                <example>She is a very refined lady.</example>
                <example>I would like to try the blue striped skirt.</example><!-- Hyphenated and non-hyphenated adjectives are both correct. Blue striped: a blue shirt that is striped. Blue-striped: a shirt with blue stripes. -->
                <example>There are 2 types of placement: ordered placement and unordered placement (they are examples of possible technical terms). For some unknown reason, the frequent <marker>ordered placements</marker> are not correct, but the infrequent ordered placements are correct.</example>
                <example>It is unlikely that such a cool headed person got upset.</example><!-- Should be a hyphenated adjective -->
                <example><marker>Slow roasted</marker> ribs are awesome!</example><!-- Should be a hyphenated adjective -->
                <example>... fried chicken with a sweet orange flavored chili sauce that is thickened and glazed.</example><!-- Should be a hyphenated adjective -->
                <example>The frequent ordered dish.</example><!-- Sentence fragment has no verb. Out of scope. -->
                <example>Special terminology used by selected individuals.</example>
                <example>Tom felt cold.</example>
                <example>This is much less saturated fat.</example>
                <example>I'm a good fit due to...</example>
                <example>I waved good bye and then walked away.</example>
                <example>It is the perfect hard-boiled egg.</example>
                <example>Please come downstairs.</example>
                <example>It was a very limited approach.</example>
                <example>Lossless compressed audio format.</example><!-- compress/VBN,I-NP-singular] -->
                <example>Lossy compressed audio format.</example><!-- compress/VBN,B-VP] -->
                <example>... and a lossless compressed audio format.</example><!-- Compare: it's a common used tool. -->
                <example>... is awarded first base on four called balls.</example>
                <example>... and they just got carried away.</example>
                <example>If she gets home exhausted today, I will...</example>
                <example>... and the 2nd mixed group can do the task next week.</example>
                <example>Dictionary of Modern Written Arabic.</example>
                <example>He looked tired then.</example>
                <example>One stayed and the other went away.</example>
                <example>Her older sister cut samples from the cloth.</example>
                <example>Her older sister got rich when she won the lottery.</example>
                <example>He put great emphasis on spoken English.</example>
                <example>ERA — Earned run average : total number of earned runs ( see " ER " above ), multiplied by 9, divided by innings pitched.</example>
                <example>The Hittites adopted the cuneiform written script, invented in Mesopotamia.</example>
                <example>At the time, NASA called it the most successful manned flight ever achieved.</example>
                <example>Tom decided to say nothing until everyone else had given their opinions.</example>
                <example>There was danger lest the secret become known.</example>
                <example>The Amazon River and its tributaries are characterized by <marker>extensive forested</marker> areas that become flooded every rainy season.</example><!-- Semantic ambiguity. 'extensive [forested areas]' is correct. But, possibly, the writer means '[extensively forested] areas, in which case the analysis is correct. -->
                <example>True aspirated voiced stops, as opposed to murmured voiced stops such as are extremely rare, but have been described in the Kelabit language.</example>
                <example>A lofty isolated ridge formed its acropolis.</example>
                <example>Have you named your new born baby?</example>
                <example>Its name has become a byword for any and all supposed advanced prehistoric lost civilizations</example>
                <example>Royal beef – deep-fried sliced beef, doused in a wine sauce and often served with steamed broccoli.</example>
                <example>All representatives and senators listed represented Alabama except where noted.</example>
                <example>The design is complemented by joinery windows set with <marker>multicolored stained</marker> glass.</example>
                <example>Disabled basketball played by various disabled groups, such as...</example>
                <example>It is the only known source of The Method of Mechanical Theorems, referred to by...</example>
                <example>An affidavit is a written sworn statement of fact voluntarily made by...</example><!-- There is no adverb 'writtenly'. -->
                <example>There is no satisfying spoiled children.</example>
                <example>The military's armoured car is a wheeled armoured vehicle, generally lighter...</example>
                <example>... another literary forerunner was an epic written by Hellanicus of Lesbos...</example>
                <example>The assignment was described as not being a good fit in either direction.</example>
                <example>The centrepiece of the exhibit is a suspended mounted Blue Whale skeleton, gleaned from the...</example>
                <example>The foundation is an independent <marker>registered charity</marker> funded by the entire profits of ...</example>
                <example>He was a little upset due to ...</example><!-- #2670 -->
                <example>They were a group called Pariahs.</example><!-- #2722 -->
                <example>He was last seen taken care of by his mother.</example><!-- #2722 -->
                <example>It is the so-called personalized treatment</example><!-- #2722 -->
                <example>It was this one entitled kid.</example><!-- #2741 -->
                <example>It was a snow-white padded walling.</example><!-- #2741 -->
                <example>There was a pandemic called COVID-19.</example><!-- #2964 -->
                <example>There is an animal called seal which has ...</example><!-- #3039 -->
                <example>There is a device called computer which has many complex parts.</example><!-- #3039 -->
                <example>This could be a good fit once we have statistics.</example><!-- MFU 2020-07-17 -->
                <example>There is a fluid called sebum.</example><!-- #3304 -->
                <example>It is the bright LED light in the basement.</example><!-- #3505 -->
                <example>In mathematics, a Banach space is a complete normed vector space.</example>
                <example>It's a difficult thought process.</example><!-- #3592 -->
                <example>There is no color left now.</example><!-- #3592 -->
                <example>Since you are both on extended leave I wanted to ...</example><!-- #4174 -->
                <example>They are the on extended sabbaticals.</example><!-- #4174. Incorrect grammar, different problem. -->
                <example>What's your favorite animated movie?</example>
                <example>What's your favorite stuffed animal?</example>
                <example type="triggers_error">... to finance the government, to be the sole <marker>authorised distributor</marker> of banknotes, and to function as...</example>
                <example type="triggers_error">Cicero successfully made him appear to be a foreign <marker>freed man</marker> who was devious enough to take advantage...</example><!-- foreignly is an adverb: www.merriam-webster.com/dictionary/foreignly -->
                <example type="triggers_error">...to see if there is a <marker>previous established</marker> consensus or compromise.</example><!-- Semantic ambiguity. 'previous [established consensus]' is correct. But, possibly, the writer means '[previously established] consensus, in which case the analysis is correct. -->
<!-- False negative --><example>It's a popular <marker>common used</marker> tool.</example>
<!-- False negative --><example>Sorry sir, this <marker>frequent ordered</marker> dish is sold out today.</example>
<!-- False negative --><example>A spelling error can reliable be detected.</example>
<!-- False negative --><example>The initial installed software is working.</example>
            </rule>
            <rule><!-- BE + DT + JJ + JJ + VBN + NN -->
                <antipattern><!-- #2722 the only one left standing -->
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token>only</token>
                    <token postag="CD"/>
                    <token postag="VBN"/>
                </antipattern>
                <antipattern><!-- #2722 a coastal city situated close -->
                    <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/>
                    <token chunk="I-NP-singular" postag="JJ"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token chunk="B-VP" postag="VBN"/>
                    <token postag="RB"/>
                </antipattern>
                <antipattern>
                    <token>let</token>
                    <token>loose</token>
                </antipattern>
                <antipattern>
                    <token>given</token>
                    <token regexp="yes">names?</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- #3075 LED display -->
                    <token>LED</token>
                    <token postag_regexp="yes" postag="NN(S|:UN?)?"/>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token postag="JJ"/>
                    <marker>
                        <token postag="JJ">
                            <exception postag="RB"/>
                            <exception regexp="yes">.*(st|nd|rd|th)</exception>
                            <exception>only</exception>
                            <exception>or</exception>
                            <exception regexp="yes">.+\-.+</exception>
                        </token>
                        <token postag="VBN">
                            <exception regexp="yes">.+\-.+</exception>
                        </token>
                    </marker>
                    <token postag_regexp="yes" postag="NN(S|:UN?)?">
                        <exception postag="IN"/>
                    </token>
                </pattern>
                <message>Make sure that the adjective '\4' is correct. Possibly, it should be an adverb (typically ~ly) that modifies '\5'. Possibly, it should be the first word in a compound adjective (hyphenated adjective). Possibly, it is correct.</message>
                <example correction="">It's a popular <marker>common used</marker> tool for spammers.</example>
                <example>It is a popular <marker>commonly used</marker> tool for spammers.</example>
                <example>One of the first actors is believed to be an ancient Greek called Thespis of Icaria.</example>
                <example>There are a few known written works by Augustus that have survived.</example>
                <example>... there won't be a single building left standing.</example>
                <example>He was the only one left standing.</example><!-- #2722 -->
                <example>It's a coastal city situated close to the island.</example><!-- #2722 -->
                <example>It was the first intelligent LED display.</example><!-- #3075 -->
            </rule>
<!-- Removed after discussion with Daniel
            <rule>DT + JJ + VBN + NN + BE: The initial installed software is working
                <pattern>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <marker>
                        <token postag="JJ">
                            <exception postag_regexp="yes" postag="RB|NNPS?"/>
                            <exception regexp="yes">.*(st|nd|rd|th)</exception>
                            <exception>only</exception>
                            </token>
                        <token postag="VBN"/>
                    </marker>
                    <token postag_regexp="yes" postag="NN(S|:UN?)?">
                        <exception postag="IN"/>
                        </token>
                    <token inflected="yes">be</token>
                </pattern>
                <message>Make sure that the adjective '\2' is correct. Possibly, it should be an adverb (typically ~ly) that modifies '\3'. Possibly, it should be the first word in a compound adjective (hyphenated adjective). Possibly, it is correct.</message>
                <example correction="">The <marker>initial installed</marker> software is working.</example>
                <example correction="">Each <marker>new woven</marker> rug is the result of years of experience and dedication from these artisan weavers.</example>*- 'newly woven' and 'new-woven' are both correct. -*
                <example>The <marker>initially installed</marker> software is working.</example>
                <example>The <marker>short red</marker> pencil is broken.</example>
                <example>The French left flank was protected by broken country, and ...</example>
                <example>...battlecruisers of the World War I era that succeeded armored cruisers were now classified...</example>
                <example type="triggers_error">The basic installed software is sufficient.</example>
                <example type="triggers_error">The expensive installed software is no better than the cheap software.</example>
                <example type="triggers_error">... (the full declassified document is [[:Commons:File:Cia oxcart ...</example>
                <example type="triggers_error">No health risk was seen when all the randomized controlled studies were examined together, but...</example>
                <example type="triggers_error">The first editions published under the new combined name were those of June 19, 1972.</example>
                <example type="triggers_error">While no major Allied warships were lost, several fleet carriers ...</example>
                <example type="triggers_error">First, a three-dimensional stranded structure is assembled, with the amino acids...</example>
                <example type="triggers_error">The possibility of a digital planned economy was explored by Chile with the...</example>
                <example type="triggers_error">The direct injected process is significantly more internally ...</example>
            </rule>-->
            <rule><!-- The initial installed software is working -->
                <pattern>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <marker>
                        <token>initial</token>
                        <token>installed</token>
                    </marker>
                    <token>software</token>
                    <token regexp="yes">is|was</token>
                </pattern>
                <message>Make sure that the adjective '\2' is correct. Possibly, it should be an adverb (typically ~ly) that modifies '\3'. Possibly, it should be the first word in a compound adjective (hyphenated adjective). Possibly, it is correct.</message>
                <example correction="">The <marker>initial installed</marker> software is working.</example>
                <example>The <marker>initially installed</marker> software is working.</example>
            </rule>
            <rule><!-- is/was one of the most + JJ + VBN + NNS: is one of the most frequent ordered dishes -->
                <pattern>
                    <token regexp="yes">'s|is|was|being</token>
                    <token>one</token>
                    <token>of</token>
                    <token chunk="B-NP-plural">the</token>
                    <token skip="5">most</token><!-- Arbitrary value -->
                    <marker>
                        <token postag_regexp="yes" postag="JJ[RS]?"/>
                        <token postag="VBN"/>
                    </marker>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </pattern>
                <message>Make sure that the adjective '\6' is correct. Possibly, it should be an adverb (typically ~ly) that modifies '\7'. Possibly, it should be the first word in a compound adjective (hyphenated adjective). Possibly, it is correct.</message>
                <example correction="">Barbecue Chicken Sandwich is one of the most <marker>frequent ordered</marker> dishes.</example>
                <example correction="">... and thus being one of the most <marker>unusual complicated</marker> rules I have tried to make is not easy.</example>
                <example>Barbecue Chicken Sandwich is one of the most <marker>frequently ordered</marker> dishes.</example>
                <example correction="">Siu Yoke is one of the most well loved and <marker>frequent ordered</marker> meals in our restaurant.</example>
            </rule>
        </rulegroup>

        <rulegroup id="AUXILIARY_DO_WITH_INCORRECT_VERB_FORM" name="After auxiliary 'do', use the base form of a verb"><!-- #1871 -->
            <url>https://grammar.collinsdictionary.com/easy-learning/do</url>
            <short>Possible grammar error</short>
            <antipattern><!-- does trials and tests -->
                <token regexp="yes">do(es)?|did</token>
                <token chunk="B-NP-plural" postag="NNS"/>
                <token chunk="I-NP-plural" regexp="yes">and|or</token>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern>
                <token>fuckin</token>
                <token spacebefore="no" regexp="yes">&apostrophe;</token>
            </antipattern>
            <rule><!-- do, does, did -->
                <antipattern><!-- does setting ...? / Does tapping on ...? -->
                    <token regexp="yes">did|does</token>
                    <token skip="-1" postag="VBG"/>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- ... and do dreams last forever? / Where do dreams come from? -->
                    <token>do</token>
                    <token skip="-1" postag="NNS"/>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- when the software does tests / students do part-time jobs -->
                    <token regexp="yes">do(es)?|did</token>
                    <token min="0" max="2" postag_regexp="yes" postag="JJR?|VBN"/><!-- VBN is a past participle adjective. Many of these are not in LT -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- also does lighting / Father does gardening -->
                    <token regexp="yes">do(es)?|did</token>
                    <token  postag_regexp="yes" postag="NN:UN?"/><!-- Not chunk="E-NP-singular" because that causes FP for 'Father does gardening'. -->
                </antipattern>
                <antipattern><!-- What she does depends / Whatever John, you, and the rest of the team do influences -->
                    <token skip="-1" postag="WP">
                        <exception regexp="yes">that|which</exception>
                        </token>
                    <token regexp="yes">do(es)?|did</token>
                    <token min="0" max="2" postag="RB"/>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                </antipattern>
                <antipattern><!-- Nothing I seem to do impacts a / All the tests the technicians tried to do generally failed -->
                    <token postag_regexp="yes" postag="VB.*"/>
                    <token>to</token>
                    <token>do</token>
                    <token min="0" max="2" postag="RB"/>
                    <token postag_regexp="yes" postag="VB[DZ]"/>
                </antipattern>
                <antipattern><!-- can do depending on / can do dimming ['can do dim/VB' is not correct English] -->
                    <token postag="MD"/>
                    <token min="0" max="2" postag="RB"/>
                    <token>do</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- can do about smoking -->
                    <token postag="MD"/>
                    <token min="0" max="2" postag="RB"/>
                    <token>do</token>
                    <token postag="IN"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                </antipattern>
                <antipattern><!-- that lay eggs do so in burrows  -->
                    <token regexp="yes">do(es)?|did</token>
                    <token postag="RB"/>
                    <token postag="IN"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- do very advanced automation -->
                    <token regexp="yes">do(es)?|did</token>
                    <token min="0" max="2" postag="JJ"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                </antipattern>
                <antipattern><!-- do very advanced automation -->
                    <token regexp="yes">do(es)?|did</token>
                    <token postag="RB" />
                    <token postag="JJ" />
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/>
                </antipattern>
                <antipattern><!-- to do targeted heating/cooling -->
                    <token>to</token>
                    <token min="0" max="2" postag="RB"/>
                    <token>do</token>
                    <token postag="VBN"/>
                    <token postag_regexp="yes" postag="NN:UN?|VBG"/>
                    <token>/</token>
                    <token postag_regexp="yes" postag="NN:UN?|VBG"/><!-- Unlike 'heating', 'cooling' is not NN:U in LT -->
                </antipattern>
                <antipattern><!-- to very quickly do using -->
                    <token>to</token>
                    <token min="0" max="2" postag="RB"/>
                    <token>do</token>
                    <token postag="VBG"/><!-- Should this be 'using' only? -->
                </antipattern>
                <antipattern><!-- to do rather slowly using -->
                    <token>to</token>
                    <token>do</token>
                    <token min="0" max="2" postag="RB"/>
                    <token postag="VBG"/><!-- Should this be 'using' only? -->
                </antipattern>
                <antipattern><!-- to do rather slowly using -->
                    <token>to</token>
                    <token>do</token>
                    <token min="0" max="2" postag="RB"/>
                    <token postag="VBG"/><!-- Should this be 'using' only? -->
                </antipattern>
                <antipattern><!-- The tests the technicians sometimes do showed the -->
                    <token skip="-1" postag_regexp="yes" postag="NN.*">
                        <exception scope="next" postag="CC"/>
                        </token>
                    <token regexp="yes">do(es)?|did</token>
                    <token min="0" max="2" postag="RB"/>
                    <token postag_regexp="yes" postag="VB[DZ]?"/>
                </antipattern>
                <antipattern><!-- it does very well tracking -->
                    <token postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                    <token min="0" max="1" postag="RB"/>
                    <token>well</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- What did you do yesterday evening? -->
                    <token skip="-1" postag_regexp="yes" postag="W.*"/>
                    <token skip="-1" postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                    <token skip="-1">do</token>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- How do targeted Facebook Ads work? -->
                    <token postag_regexp="yes" postag="W.*">
                        <exception>that</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <token postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                </antipattern>
                <antipattern><!-- How much do targeted Facebook Ads cost? -->
                    <token>how</token>
                    <token regexp="yes">much|many</token>
                    <token postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                </antipattern>
                <antipattern><!-- How many of them do targeted Facebook Ads? -->
                    <token>how</token>
                    <token regexp="yes">much|many</token>
                    <token postag="IN" skip="2" />
                    <token postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                </antipattern>
                <antipattern><!-- How good do targeted Facebook Ads work?-->
                    <token>how</token>
                    <token postag="JJ" />
                    <token postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                </antipattern>
                <antipattern><!-- What will we do about getting tables, chairs and such? -->
                    <token skip="-1" postag_regexp="yes" postag="W.*"/>
                    <token skip="-1" postag="MD"/>
                    <token skip="-1">do</token>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- the same problem that any standard controller does using a -->
                    <token regexp="yes">that|which</token>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token min="0" max="2" postag_regexp="yes" postag="JJR?"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token regexp="yes">does|did</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- the same problems any standard controller does handling a -->
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token postag_regexp="yes" postag="DT|PRP\$"/>
                    <token min="0" max="2" postag_regexp="yes" postag="JJR?"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token regexp="yes">does|did</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- those that did not required further work before -->
                    <token postag="DT"/>
                    <token postag_regexp="yes" postag="W?DT"/>
                    <token min="0" max="2" postag="RB"/>
                    <token>did</token>
                    <token>not</token>
                </antipattern>
                <antipattern><!-- 2458 do so using -->
                    <token inflected="yes">do</token>
                    <token>so</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern><!-- did so minutes -->
                    <token regexp="yes">do(es)?|did</token>
                    <token>so</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">did|does</token>
                    <token>consulting</token>
                    <token regexp="yes">work|projects?</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>DID</token><!-- name -->
                    <token regexp="yes">does|did</token>
                </antipattern>
                <antipattern><!-- he did nothing concerning ... -->
                    <token regexp="yes">do(es)?|did</token>
                    <token postag="RB" min="0" />
                    <token>nothing</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">do(es)?|did</token>
                    <token regexp="yes">online|live</token>
                    <token postag="VBG|NN:UN?|NNS" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- how to do automated email testing -->
                    <token>how</token>
                    <token postag="RB" min="0" />
                    <token>to</token>
                    <token>do</token>
                    <token postag="JJ|NN.*|VBG" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- The things I did made fairly any sense. -->
                    <token regexp="yes">the|some|all|any</token>
                    <token chunk_re="I-NP-.*" min="0" />
                    <token chunk_re="E-NP-.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="PRP" />
                    <token postag="RB" min="0" />
                    <token inflected="yes">do</token>
                </antipattern>
                <antipattern><!-- I do sports! -->
                    <token inflected="yes">do</token>
                    <token regexp="yes">sports|drugs</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token>followed</token>
                    <token>by</token>
                    <token regexp="yes">an?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">if|when(ever)?|until|since|once|while|after|before</token>
                    <token postag="PRP_S.*|NN.*" postag_regexp="yes" />
                    <token regexp="yes">does|did</token>
                    <token>so</token>
                    <token postag="VBZ" />
                </antipattern>
                <antipattern>
                    <token>especially</token>
                    <token>considering</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">do(es)?|did</token>
                    <token min="0" max="2" postag="RB" />
                    <token regexp="yes">including|regarding</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes">too|so</token>
                    <token>much</token>
                </antipattern>
                <antipattern><!-- #4492 www.lexico.com/definition/depending_on -->
                    <token postag="CC" skip="2"/>
                    <token min="0">n't</token>
                    <token regexp="yes">depending|depends|based</token>
                    <token regexp="yes">(up)?on</token>
                </antipattern>
                <pattern>
                    <token postag_regexp="yes" postag="VB.*" regexp="yes">do(es)?|did</token>
                    <token min="0" max="2" postag="RB">
                        <exception postag="CC|IN" postag_regexp="yes" />
                        <exception regexp="yes">&subordinating_conjunctions;</exception>
                        <exception regexp="yes" inflected="yes">&uncommon_verbs;</exception>
                    </token>
                    <marker>
                        <token postag_regexp="yes" postag="VB[DGZN]">
                            <exception postag="VB"/>
                            <exception postag="NNP" />
                            <exception regexp="yes" inflected="yes">be|have</exception>
                            <exception>amazing</exception>
                        </token>
                    </marker>
                </pattern>
                <message>After the auxiliary verb 'do', use the base form of a verb. Did you mean <suggestion><match no="3" postag="VB"/></suggestion>?</message>
                <example correction="forget">I usually do not <marker>forgot</marker>.</example>
                <example correction="forget">I do <marker>forgot</marker> to do the work yesterday.</example>
                <example correction="run">He does <marker>ran</marker> fast.</example>
                <example correction="forget">She does <marker>forgot</marker> to do the work.</example>
                <example correction="forget">I do <marker>forgets</marker> to do the work.</example>
                <example correction="go">I do often <marker>going</marker> to Paris.</example>
                <example correction="forget">Sometimes, they do <marker>forgets</marker> to correct the errors.</example>
                <example correction="forget">I do sometimes <marker>forgets</marker> to do the work.</example>
                <example correction="cut">He does not usually <marker>cuts</marker> the Christmas turkey.</example><!-- Also found by DID_BASEFORM -->
                <example correction="face">Our do <marker>faces</marker> intense sun most of the day.</example><!-- 'do' is probably a typo of 'door' -->
                <example correction="decide">If someone does <marker>decides</marker> to break the rules …</example>
                <example correction="decide">I do have 2 glass break sensors if someone does <marker>decides</marker> to break the glass to easily turn the locks …</example>
                <example correction="use">Any standard controller does <marker>using</marker> a bulb profile.</example><!-- The correction 'does use' = emphatic 'do' -->
                <example correction="make">That does <marker>makes</marker> sense but then wouldn’t the same logic apply...</example>
                <example correction="copy">I did not usually <marker>copying</marker> and paste the code.</example>
                <example correction="use">Didn’t there <marker>used</marker> to be a link in the menu to donate to the podmin too?</example>
                <example correction="depend">I usually don't <marker>depending</marker> on the results of the tests.</example><!-- #4492 -->
                <example>I usually do not <marker>forget</marker>.</example>
                <example>The does grazed peacefully in the wood.</example>
                <example>... and that does trials and tests.</example>
                <example>... and the technician does trials and tests.</example>
                <example>Try to find the wholesale shop that does clutches.</example>
                <example>Where do dreams come from?</example>
                <example>... and do dreams last forever?</example>
                <example>I will do little training sessions.</example><!-- #3321 -->
                <example>I do crunches every day.</example><!-- #3320 -->
                <example>How does centralized solar work?</example>
                <example>He does not usually cut the Christmas turkey.</example>
                <example>Both also did consulting work for Edison to help the utility win approval of a financial rescue package that Davis is pushing.</example>
                <example>What this does is insure that your computer will use Google for DNS.</example><!-- Found by AGREEMENT_SENT_START -->
                <example>... all I did was update an existing piston by adding my cabinet lighting.</example><!-- Found by DID_FOUND_AMBIGUOUS -->
                <example>...so what the electrician did was power the main switch with the hot line and ...</example><!-- Found by DID_FOUND_AMBIGUOUS -->
                <example>The gateway does not has a subscription method.</example><!-- Found by DOES_X_HAS and DID_BASEFORM -->
                <example>... but all they were doing was updating the rules.</example>
                <example>What I’m trying to do is turn on some lights when someone comes home.</example>
                <example>The only thing you won’t be able to do is update the firmware.</example>
                <example>All you have to do is:</example>
                <example>Angie will see what she can do about arranging a videoconference but does not make any promises, as any type of conference room is difficult to find these days.</example>
                <example>If there is not enough interest in it, I will discuss with Whalley what we do about potentially shutting it down.</example>
                <example>How many moons does Mars have?</example>
                <example>When does AIDS develop?</example>
                <example>Does setting the load setting between incandescent and LED make difference?</example>
                <example>Or does closing the low voltage wires cause the opener to start?</example>
                <example>... to alert me when the software does tests.</example>
                <example>What are  you doing testing the software?</example>
                <example>Doing so leads others to review the claim to corroborate it or disprove it.</example>
                <example>I am almost done building a new home.</example><!--- Informal -->
                <example>... which I will do before wiring everything up.</example>
                <example>... which they did before quickly fixing the errors.</example>
                <example>... which they did quickly before going home.</example>
                <example>Does removing and reconnecting/naming them in ST ruin any webcore pistons that contain them?</example>
                <example>What she does depends on her mood.</example>
                <example>Whatever John, you, and the rest of the team do influences my decision.</example>
                <example>Nothing I seem to do impacts a change in the LED behavior.</example>
                <example>All the tests the technicians tried to do generally failed to give the required results.</example>
                <example>...but for the same price also does lighting.</example>
                <example>I do not do coding but seems like what I am doing is just copy and paste.</example>
                <example>I do lighting for a local theatre and we use Light Factory to control our DMX system.</example>
                <example>I would have just gotten that module so I could see stuff and then found a company to do monitoring.</example>
                <example>Since it only does heating, a lot of the tiles in the DH will be useless.</example>
                <example>It may be next to impossible for me to finish a fully working DTH without one of these in hand to do testing with …</example>
                <example>But there are a lot of creative things that you can do depending on exactly what you’re trying to accomplish.</example>
                <example>... and in that scenario it could also do dimming.</example>
                <example>There is one battery operated switch I know of that can do dimming regardless of the protocol of the bulbs.</example>
                <example>A lot of students do part-time jobs.</example>
                <example>... shapes of most asteroids, as did later images from the Voyager probes of the small moons of the...</example>
                <example>I'd like to do shopping on Fifth Avenue in New York.</example>
                <example>... terrestrial caecilians that lay eggs do so in burrows or moist places on land near bodies of water.</example>
                <example>Father does gardening whenever he gets a chance.</example>
                <example>And do you have any smart apps/pistons running which do polling/refresh?</example>
                <example>... nor does turning the power off/on to it four times at 2 second intervals seem to do anything either.</example>
                <example>I don’t have the device, so progress on this will completely depend on someone who does letting me know what is/isn’t working.</example>
                <example>With this approach I can do very advanced automation based on many conditions and states.</example>
                <example>... and thus eventually do very advanced automation based on the new statistical approach.</example>
                <example>Also, you can create virtual zone devices to do targeted heating/cooling in your home:</example>
                <example>It is difficult to do timed events from within a SmartDevice driver, as you cannot schedule () events.</example>
                <example>... which I am currently able to very quickly do using SHM by having all the cameras record a 30-second clip.</example>
                <example>... and this is possible to do using large devices.</example>
                <example>... which I was able to do rather slowly using these methods:</example>
                <example>The research I did showed that LanguageTool is better.</example>
                <example>The tests that they did showed LanguageTool is better.</example>
                <example>The tests the technicians sometimes do showed the problems of analysis.</example>
                <example>The tests that the technicians sometimes do showed no signs of error.</example>
                <example>One does keep it in his backpack, and it does very well tracking him away and home.</example>
                <example>They (the police) did very well tracking him away to his hideaway in the suburbs.</example>
                <example>Although the technician does very well tracking most of the bugs....</example>
                <example>... but without this axiom we can do quite well developing (the more general) group theory...</example>
                <example>... that there is nothing they can do about smoking anyway.</example>
                <example>What did you do yesterday evening?</example>
                <example>Whatever did the technicians (and their manager) do yesterday evening after they left the office?</example>
                <example>Whatever does she do each morning to make her so late?</example>
                <example>Be careful if you do do the test after 17:00.</example>
                <example>What will we do about getting tables, chairs and such?</example>
                <example>Most units had the modification, and those that did not required further analysis before we could complete the modification.</example>
                <example>It has the same problem that any standard controller does using a new bulb profile.</example>
                <example>It very frequently had the same problem that any standard controller does using a new bulb profile.</example>
                <example>They have the same problem that our standard controller did using a new bulb profile.</example>
                <example>I’ll probably be back for more questions if the other 3 way switches don’t look quite the same as the one I just did looked.</example><!-- The final 'looked' is redundant. Compare: "I'll be back if the other switches don't work the same as the switch I just tested." But the sentence is correct in the context of this rule. -->
                <example>You could do so using the Nexmo API.</example><!-- 2458 -->
                <example>When Dimitri Mendeleev first presented his periodic table in 1869, he did so noting that there were larger than expected differences.</example>
                <example>The things I did made fairly any sense.</example>
                <example>How to do automated email testing?</example>
                <example>How do targeted Facebook Ads work?</example>
                <example>How good do targeted Facebook Ads work?</example>
                <example>He did so much packaging.</example>
                <example>How does changing the world work?</example>
                <example>Where did salted caramel come from?</example>
                <example>It has the same problems any RGBW controller does handling an RGBW bulb profile.</example>
                <example>I had great trouble getting to sleep last night and probably only did so minutes before the quake.</example><!-- regression 2020-06-11 -->
                <example>I do formatting and proofreading.</example>
                <example type="triggers_error">It suffers the same issue any rgbw controller does using a rgbw bulb profile.</example><!-- The correct adjective capitalization is 'RGBW' -->
                <example type="triggers_error">Inovelli makes one similar to the Zooz but for the same price also does <marker>dimming</marker>.</example><!-- Unlike 'lighting', dimming is not NN:U in standard English. -->
                <example type="triggers_error">Vista has a smartphone app controlled transformer/controller that does dimming and on/off but only over Bluetooth.</example>
                <example>I spent week trying to find a GreenBean module and finally did followed by a week of trying to get it to work.</example>
<!-- TODO. FN caused by 'does lighting' AP. No easy fix. Refer to the commented rule. --><example>I did <marker>copying</marker> and paste the code that you recommended to create the app but I am getting this error:</example>
<!-- FN caused by 'the tests the technicians sometimes do showed' AP. Found by rule 2. --><example>Yeah, that does <marker>seems</marker> a little weird.</example>
<!-- FN caused by 'the tests the technicians sometimes do showed' AP. Found by rule 3. --><example>... light bulbs and switches that do not <marker>required</marker> “touchlink commissioning”.</example>
<!-- TODO --><example>If technicians who are rather lazy do sometimes (more like every day! lol) <marker>forgets</marker> to do the work, tell the manager.</example>
                <example>Don't mothers kiss their children anymore?</example>
                <example>In any case my kids (10 and 12) are very interested and it gives me a chance to explain how the system works (or doesn't depending on your viewpoint).</example><!-- #4492 -->
            </rule>
            <rule><!-- that does seems -->
                <antipattern>
                    <token>that</token>
                    <token  postag="VBZ">does</token>
                    <token min="0" max="2" postag_regexp="yes" postag="JJR?"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <pattern>
                    <token>that</token>
                    <token  postag="VBZ">does</token>
                    <token min="0" max="2" postag="RB">
                        </token>
                    <marker>
                        <token postag="VBZ">
                            <exception postag="VB"/>
                            </token>
                    </marker>
                </pattern>
                <message>After the auxiliary verb 'do', use the base form of a verb. Did you mean <suggestion><match no="4" postag="VB"/></suggestion>?</message>
                <example correction="seem">Yes, that does <marker>seems</marker> strange.</example><!-- does/E-NP-plural -->
                <example correction="make">That does <marker>makes</marker> sense but then wouldn’t the same logic apply...</example>
                <example correction="sound">That does <marker>sounds</marker> solid.</example>
                <example correction="exist">However, I got an error when I check the element that does not <marker>exists</marker>.</example>
                <example correction="explore">Took me 24 hours of gameplay using a team that does <marker>explores</marker> in 1-3 rounds on average to get courage traits…</example><!-- Not a noun in standard English. -->
                <example>Yes, that does <marker>seem</marker> strange.</example>
                <example>... and which does seemed a bit unusual.</example><!-- Possibly correct, possibly incorrect: a larger n-gram is necessary in the pattern -->
                <example>Yes, that did <marker>seemed</marker> strange.</example><!-- Found by DID_BASEFORM -->
                <example>... and that does trials and tests.</example>
                <example>... and the technician does trials and tests.</example>
                <example>Try to find the wholesale shop that does clutches.</example>
                <example>I left a message with the person that does prices at Paperloop and hopefully he will get back to me soon.</example>
            </rule>
            <rule><!-- ... light bulbs and switches that do not required the modification. -->
                <pattern>
                    <token regexp="yes">that|which</token>
                    <token postag="VB">do</token>
                    <token>not</token>
                    <token min="0" max="1" postag="RB"/>
                    <marker>
                        <token postag="VBD">
                            <exception postag="VB"/>
                            </token>
                    </marker>
                </pattern>
                <message>After the auxiliary verb 'do', use the base form of a verb. Did you mean <suggestion><match no="5" postag="VB"/></suggestion>?</message>
                <example correction="require">… the devices which do not <marker>required</marker> the modification.</example>
                <example correction="require">Devices that do not usually <marker>required</marker> the modification...</example>
                <example correction="require">… light bulbs and switches that do not <marker>required</marker> the modification.</example>
                <example>… the devices which do not <marker>require</marker> the modification.</example>
                <example>Most units had the modification, and those that did not required further analysis before we could complete the modification.</example>
            </rule>
<!--             <rule> I did copying and paste the code
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <token min="0" max="1" postag="RB">
                        <exception>not</exception>
                        </token>
                    <token postag="VBD">did</token>
                    <token min="0" max="1">not</token>
                    <marker>
                        <token postag="VBG">
                            <exception postag="VB"/>
                            </token>
                    </marker>
                    <token regexp="yes">and|or|but</token>
                    <token min="0" max="2" postag="RB"/>
                    <token postag="VB"/>
                </pattern>
                <message>After the auxiliary verb 'do', use the base form of a verb. Did you mean <suggestion><match no="5" postag="VB"/></suggestion>?</message>
                <example correction="copy">I did <marker>copying</marker> and paste the code.</example>
                <example correction="copy">I did <marker>copying</marker> and also sometimes paste the code.</example>
                <example correction="copy">They also did <marker>copying</marker> but not correctly paste the code.</example>
                <example>I did <marker>copy</marker> and paste the code.</example>
                <example>I also did <marker>troubleshooting</marker> and found out that you need (a lot of) patience.</example>
                <example>I also did <marker>troubleshooting</marker> and think a lot of patience is necessary.</example>
                <example>He did <marker>dancing</marker> and thinks that to be good, intense concentration is necessary.</example>
            </rule>-->
        </rulegroup>

        <rule id="ANYMORE_ADVERB" name="anymore (any more)"><!-- Premium #759 -->
            <antipattern>
                <token>anymore</token>
                <token chunk="E-NP-singular" regexp="yes">\(|to</token>
            </antipattern>
            <antipattern>
                <token>anymore</token>
                <token chunk="B-VP"/>
            </antipattern>
            <antipattern><!-- anymore in Japan. -->
                <token>anymore</token>
                <token postag="IN"/>
                <token chunk="E-NP-singular" postag="NNP"/>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- anymore in this town. -->
                <token>anymore</token>
                <token postag="IN"/>
                <token chunk="B-NP-singular" postag="DT"/>
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- use anymore will, -->
                <token postag_regexp="yes" postag="VB.*"/>
                <token postag="RB"/>
                <token postag="MD"/>
                <token postag="PCT"/>
            </antipattern>
            <antipattern>
                <token>anymore</token>
                <token>due</token>
                <token>to</token>
            </antipattern>
            <antipattern><!-- #2368 www.lexico.com/definition/in_the_long_run -->
                <token>anymore</token>
                <token>in</token>
                <token>the</token>
                <token>long</token>
                <token>run</token>
            </antipattern>
            <antipattern><!--  #2554 be relevant anymore -->
                <token regexp="yes" inflected="yes">be|become</token>
                <token postag_regexp="yes" postag="JJR?"/>
                <token>anymore</token>
            </antipattern>
            <antipattern><!-- #2554 anymore starting -->
                <token>anymore</token>
                <token chunk="I-VP" postag="VBG"/>
            </antipattern>
            <antipattern>
                <token>anymore</token>
                <token regexp="yes" spacebefore="no">&quote;|'|’|‘</token>
            </antipattern>
            <antipattern><!-- The one thing I can't possibly live without anymore is LT -->
                <token>anymore</token>
                <token postag="VB[ZPD]" postag_regexp="yes" inflected="yes">be</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes">not</token>
                <token postag="DT|PRP\$" postag_regexp="yes" chunk_re="B-NP.*" />
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="UNKNOWN|NN.*" postag_regexp="yes" />
                <token>anymore</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes">not</token>
                <token chunk_re="I-NP.*" min="0" />
                <token chunk_re="E-NP.*" postag="UNKNOWN|NN.*" postag_regexp="yes" />
                <token>anymore</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes">not</token>
                <token postag="JJ.*" postag_regexp="yes" chunk_re="B-ADJP" />
                <token>anymore</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token inflected="yes">not</token>
                <token postag="VBN" chunk_re="I-VP" />
                <token>anymore</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>anymore<exception postag="SENT_END"/></token>
                </marker>
                <token>
                    <exception postag_regexp="yes" postag="SENT_END|PCT|CC|DT|TO|WP|WRB"/>
                    <exception regexp="yes">[\-–—\)]|at|in|on|around|with(out)?|now</exception>
                </token>
            </pattern>
            <message>Make sure that '\1' is used as an adverb, not as an adjective. Did you mean <suggestion>any more</suggestion>?</message>
            <url>https://www.grammarphobia.com/blog/2011/04/anymore-3.html</url>
            <short>Grammar error</short>
            <example correction="any more">Do you need <marker>anymore</marker> information?</example>
            <example correction="any more">If the customers wanted <marker>anymore</marker> nice cakes, they could ask.</example>
            <example correction="any more">We won't miss <marker>anymore</marker> congestion revenue.</example>
            <example correction="Any more"><marker>Anymore</marker> info regarding a pending release?</example>
            <example correction="any more">If you would like <marker>anymore</marker> (large or small) cakes, just ask.</example>
            <example correction="any more">He claimed he didn't eat <marker>anymore</marker> "cakes and biscuits".</example>
            <example correction="any more">We know that <marker>anymore</marker> of the defects will cause ...</example>
            <example correction="any more">I don't know <marker>anymore</marker> about Japan than you do.</example>
            <example correction="any more">I don't know <marker>anymore</marker> about Japan; do you?</example>
            <example correction="any more">Let me know if you need <marker>anymore</marker> help.</example>
            <example correction="any more">I don't want <marker>anymore</marker> kids.</example>
            <example>Do you need <marker>any more</marker> information?</example>
            <example>We don't need this anymore.</example>
            <!-- TODO should this really be "any more" <example correction="any more">My end game is always having my Kingdom power level maxed (can’t keep my kingdom levels maxed <marker>anymore</marker>).</example> -->
            <example>We don't need that anymore.</example>
            <example>Electricity is not cheap anymore</example><!-- No closing punctuation -->
            <example>The car engine light is not on anymore.</example>
            <example>Now I can't log in anymore because a dot is now prohibited.</example>
            <example>The zoom-out function doesn’t work anymore (for the time being hopefully).</example>
            <example>A new user cannot log on anymore to nextcloud.</example>
            <example>No-one goes there anymore - it’s too crowded.</example>
            <example>What was the purpose of that event (once upon a time it was mostly to show the clothes to US department store buyers - not anymore)?</example>
            <example>We have a house full of Samsung devices and appliances and this has officially burnt me from buying ANYMORE!</example><!-- Ambiguous -->
            <example>... that Jews can no longer be safe in the city anymore due to the risk of violent assaults.</example>
            <example>Whoever reads light novels despite not being a kid anymore is a retard, don't you think?</example>
            <example>Scholarships were not granted anymore to the same students this summer as last year.</example>
            <example>An advantage of ageing is that one doesn't demand anymore the things that one failed to obtain...</example>
            <example>Now I don't have anymore any certainty.</example>
            <example>Tom didn't care anymore what happened to Mary.</example>
            <example>We don't remember anymore where we placed our key.</example>
            <example>Public morals are not respected anymore in this town.</example>
            <example>There's not a single safe place anymore in Japan.</example>
            <example>Those who send in old junk they don't use anymore will, without exception, receive a present.</example>
            <example>Stop submitting the results, the test will not be completed anymore</example><!-- #2309. No full stop. -->
            <example>If we see that your plan isn't a good fit anymore in the long run, we'd contact you.</example><!-- #2368 -->
            <example>(Includes old ones which might not be relevant any more).</example><!-- #2554 -->
            <example>Use the studio client again as it's not supported any more starting with the next version.</example><!-- #2554 -->
            <example>You don't have to take care of them anymore   </example><!-- #2779. Extra spaces -->
            <example>This is the first day of the new “My hips don’t hurt anymore” routine.</example>
            <example>There's no light anymore in here.</example>
            <example>I don't see the graphs anymore at e.g. https://www.foobar.com.</example>
            <example>I don't see it anymore on my webpage.</example>
            <example>I don't see it anymore around here.</example>
            <example>I can't identify anymore with him.</example><!-- Unusual word order, but it happens -->
            <example>It seems the error isn't found anymore now.</example>
            <example>The one that I can't live without anymore is LanguageTool.</example>
            <example>Since he isn't happy anymore we should not stress him.</example>
            <example>Now that this isn't an experimental setting anymore we should use translations for this (I think we have them already).</example>
            <example>Windows 7 isn't supported anymore by Microsoft.</example>
            <example>I literally can't work decently anymore without clipboard history.</example>
        </rule>

        <rule id="HUNDREDS_OF_THOUSAND" name="hundreds of thousand (thousands of) users"><!-- #2512 -->
            <pattern>
                <marker>
                    <token regexp="yes">tens|hundreds</token>
                    <token>of</token>
                    <token>thousand</token>
                </marker>
                <token postag="NNS"/>
            </pattern>
            <message>To describe a large number approximately, write <suggestion>\1 \2 thousands of</suggestion>.</message>
            <url>http://www.bbc.co.uk/learningenglish/course/intermediate/unit-25/session-1</url>
            <short>Grammar error</short>
            <example correction="hundreds of thousands of">Now, <marker>hundreds of thousand</marker> people use LanguageTool.</example>
            <example correction="Tens of thousands of"><marker>Tens of thousand</marker> books are in this library.</example>
            <example>Now, <marker>hundreds of thousands of </marker> people use LanguageTool.</example>
            <example>Now, a <marker>hundred thousand</marker> people use LanguageTool.</example><!-- Do not suggest 'hundred thousand', because an article is necessary, unlike for 'ten thousand' -->
            <example><marker>Ten thousand</marker> books are in this library.</example>
        </rule>

        <rule id="NNS_IN_NNP_VBZ" name="Use the base form or the past tense with a plural noun"><!-- https://forum.languagetool.org/t/en-undetected-error/5724 -->
            <antipattern><!-- Generalize. Any verb before the plural noun: is counting the days until Mary / will be reminded for 10 years after Davis. I made these general rules because trying to make AP for all the examples takes too long. Some antipatterns that contain verbs are now redundant. A possible result of the generalized APs is that this rule will not find all errors. -->
                <token skip="-1" chunk="I-VP" postag_regexp="yes" postag="VB.*"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Generalize. Any verb before the plural noun: You know that anyone wearing pants in November -->
                <token skip="-1" chunk="B-VP" postag_regexp="yes" postag="VB.*"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- insects collected in traps in nature reserves in Germany is (The generalized AP for verbs are not sufficient, but if I relax them, the rule does not find all the errors.) -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[NG]"/>
                <token postag="IN"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!--  maturity of loans made by domestic financial institutions to businesses in Germany is -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="E-NP-plural"/>
                <token chunk="B-VP" postag_regexp="yes" postag="VB[NG]"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- What versions of Jira does JPT support? -->
                <token postag="NNP"/>
                <token skip="-1">does</token>
                <token>?</token>
            </antipattern>
            <antipattern><!-- removal of price caps in California / absence of any older Iranian (Avestan) loanwords in Brahui -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token>of</token>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/><!-- Does not give the expected result without 'max' -->
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern><!-- coat of arms of Cuba -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token>of</token>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern><!-- chunker error: oil price spikes as Iraq -->
                <token chunk="B-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk="E-NP-plural" postag="VBZ"/>
                <token postag="CC"/>
            </antipattern>
            <antipattern><!-- one in 10 children dies -->
                <token regexp="yes">one|1</token>
                <token postag="IN"/>
                <token postag="CD"/>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern><!-- Two thirds of Azerbaijan -->
                <token postag="CD">
                    <exception regexp="yes">one|1</exception>
                    </token>
                <token chunk="E-NP-plural" postag="NNS" regexp="yes">thirds|fourths|fifths|sixths|sevenths|eighths|ninths|tenths|elevenths|twelfths|thirteenths|fourteenths|fifteenths|sixteenths|seventeenths|eighteenths|nineteenths|twentieths|thirtieths|f(ifs|or)tieths|sixtieths|seventieths|eightieths|ninetieths|hundredths|thousandths|millionths|billionths|trillionths</token>
                <token postag="IN"/>
                <token postag="NNP"/>
                <token/>
            </antipattern>
            <antipattern><!-- as... as -->
                <token skip="5">as</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token>as</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Tower_of_Hanoi -->
                <token>Towers</token>
                <token>of</token>
                <token regexp="yes">Brahma|Hanoi</token>
            </antipattern>
            <antipattern><!-- assignment of British Energy's contracts -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural"/><!-- 'Energy' is not NNS -->
                <token>'s</token>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern><!-- joining us now from his company headquarters in Houston is Kenneth -->
                <token chunk="B-VP" postag="VBG"/>
                <token skip="-1" regexp="yes">&object_pronouns;</token>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <antipattern><!-- Each of the major scripts of India -->
                <token postag="DT"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="1" max="4" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
            </antipattern>
            <antipattern><!-- migration with Han people from China  -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
            </antipattern>
            <antipattern><!-- One trend among imitators of Poe has been -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Whether the Russian Government shares any of the station's radar data with Azerbaijan is -->
                <token skip="-1">whether</token>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern><!-- series of bombings in Moscow -->
                <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/><!-- series is NN and NNS -->
                <token postag="IN"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- series of terribly long bombings in Moscow -->
                <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- It's been three weeks since Tom has been here -->
                <token>been</token>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token>since</token>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- the franchising of foreign goods and services to India -->
                <token chunk="E-NP-singular"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- variety of climates, soils, and drainage conditions in Brazil -->
                <token chunk="E-NP-singular"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token>,</token>
                <token chunk="B-NP-plural"/>
                <token min="0" max="1">,</token>
                <token regexp="yes">and|or</token>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- The death of thousands of people in Gaza -->
                <token chunk="E-NP-singular"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token postag="IN"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Plural words that are used as singular: athletics, data, ethics, military -->
                <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?" regexp="yes">athletics|data|ethics|media|military|politics</token><!-- Not: People in America is -->
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- an example subdomain that points to Apache -->
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token chunk="E-NP-singular"/>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="DT"/>
                <token chunk="B-NP-plural" postag="VBZ"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- analysis of the competitive effects of school vouchers in Florida -->
                <token chunk="E-NP-singular"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Translating sentences on Tatoeba -->
                <token postag="SENT_START"/>
                <token chunk="B-NP-plural" postag="VBG"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- invoices for Duke contracts 27291 and 27349 appear -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
                <token postag="NNS"/>
                <token postag="CD"/>
                <token regexp="yes">and|or</token>
                <token postag="CD"/>
            </antipattern>
            <antipattern><!-- Anything the corporate media spins against Bernie -->
                <token regexp="yes">(any|every)(thing|one|body)</token>
                <token chunk="B-NP-plural" postag_regexp="yes" postag="DT|PRP\$"/>
                <token chunk="I-NP-plural"/><!-- I cannot make min/max work here -->
                <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk="E-NP-plural" postag="VBZ"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- rate per 100,000 births for Guinea -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token>,</token>
                <token postag="CD" regexp="yes">[0-9]+</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- assumption pertinent to the ownership claims and assets of DPC -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="JJ"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Ignore incomplete sentences: weeks with Microsoft calls... -->
                <token postag="NNP"/>
                <token chunk="B-VP" postag="VBZ"/>
                <token>.</token>
                <token>.</token>
                <token>.</token>
            </antipattern>
            <antipattern><!-- One of the most striking, although inconclusive, features of Chronicles -->
                <token regexp="yes">one|1</token>
                <token>of</token>
                <token chunk="B-NP-singular"/>
                <token min="0" max="10" chunk="I-NP-singular"/>
                <token chunk="E-NP-singular"/>
                <token>,</token>
                <token postag_regexp="yes" postag="CC|RB"/>
                <token postag="JJ"/>
                <token>,</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- Ten years in Washington [http://grammartots.blogspot.com/2012/05/years-are.html] -->
                <token postag="CD"/>
                <token chunk="E-NP-plural" postag="NNS" regexp="yes">seconds|minutes|hours|days|weeks|months|years|decades|millennia|millenniums</token>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- all that remains of Ctesiphon -->
                <token>all</token>
                <token>that</token>
                <token chunk="E-NP-plural" postag="VBZ"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- translations of Disney works the -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
                <token postag="NNS"/>
                <token postag_regexp="yes" postag="DT|PRP\$"/>
            </antipattern>
            <antipattern><!-- Membership in the various branches, groups and subgroups of Indo-European -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token>,</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token min="0" max="1">,</token>
                <token regexp="yes">and|or</token>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- partnership between Tom James and the renowned mills of Huddersfield  -->
                <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                <token postag="IN"/>
                <token chunk="B-NP-singular"/>
                <token min="0" max="10" chunk="I-NP-singular"/>
                <token chunk="E-NP-singular"/>
                <token regexp="yes">and|or</token>
                <token chunk="B-NP-plural"/>
                <token min="0" max="10" chunk="I-NP-plural"/>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="IN"/>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- the sloth bear of Asia is www.lexico.com/definition/sloth_bear -->
                <token postag="DT"/>
                <token>sloth</token>
                <token>bear</token>
                <token>of</token>
                <token postag="NNP"/>
            </antipattern>
            <antipattern><!-- #4518 They are responsible... since ENA has defaulted. -->
                <token regexp="yes">I|you|we|they</token>
                <token skip="-1" regexp="yes">are|were</token>
                <token postag="CC">
                    <exception>for</exception><!-- Without this, the AP fails for the test sentence ['for' is CC] -->
                    </token>
                <token postag="NNP"/>
                <token>has</token>
                <token min="0" max="2" postag="RB"/>
                <token postag="VBN"/>
            </antipattern>
            <pattern>
                <token chunk="E-NP-plural" postag="NNS">
                    <exception postag_regexp="yes" postag="NNPS?"/>
                    <exception regexp="yes">\p{Lu}\p{L}+</exception><!-- Assume initial caps is a proper noun to prevent too many FP: Cache Jars in Memory -->
                    </token>
                <token postag="IN">
                    <exception regexp="yes">as|like|than|while</exception><!-- Subordinating conjunctions. 'After' is also a subordinating conjunction, thus this exception is not sufficient. If I add 'after', the Christmas error is not found. -->
                    </token>
                <token postag="NNP"/>
                <marker>
                    <token chunk="B-VP" postag="VBZ"/>
                </marker>
            </pattern>
            <message>With the plural noun '\1', the verb inflection '\4' is not correct.</message>
            <suggestion><match no="4" postag="VBP"/></suggestion>
            <suggestion><match no="4" postag="VBD"/></suggestion>
            <short>Agreement error</short>
            <example correction="show|showed">The test results after Christmas <marker>shows</marker> great improvement.</example>
            <example correction="have|had">Unfortunately, the results since Christmas <marker>has</marker> not been good.</example>
            <example correction="have|had">Natural gas imports from Canada <marker>has</marker> steadily declined.</example>
            <example correction="get|got">All activities in Echo <marker>gets</marker> recognized as scenes.</example>
            <example correction="know|knew">About 40–45% of educated people in Jamaica <marker>knows</marker> some form of Spanish.</example>
            <example correction="consist|consisted">The examples of Mike <marker>consists</marker> of many unusual sentences.</example>
            <example correction="are|was|were">By contrast, the relationships between these families within Austro-Asiatic <marker>is</marker> debated.</example><!-- The agreement error is between 'relationships' and 'is', not 'families' and 'is'. -->
            <example correction="exemplify|exemplified">Societal changes in China <marker>exemplifies</marker> this well.</example>
            <example correction="seem|seemed">The later responses from Hyundai <marker>seems</marker> clear in its acceptance of repudiation.</example><!-- Whether or not 'its' refers to the responses or to Hyundi, the correction is applicable. -->
            <example correction="have|had">During a trial period the County Council provisions for Gotland <marker>has</marker> been evolved to provisions for a Regional Council.</example>
            <example correction="do|did">The tests in LanguageTool <marker>does</marker> not always give the correct result.</example>
            <example correction="like|liked">Many people in America <marker>likes</marker> hamburgers and beer.</example>
            <example correction="need|needed">The potential arbitration proceedings with Shanghai <marker>needs</marker> to be added to the list as a retained litigation.</example>
            <example correction="are|was|were">Some aircraft in America <marker>is</marker> made by Boeing.</example><!-- aircraft/NN, aircraft/NNS -->
            <example correction="have|had">All errors by ENA <marker>has</marker> been corrected.</example><!-- #4518 -->
            <example>The test results after Christmas <marker>showed</marker> great improvement.</example>
            <example>Natural gas imports from Canada <marker>have</marker> steadily declined.</example>
            <example>Ports of GNU utilities for Microsoft Windows</example>
            <example>Types of tackles in Australian rules</example>
            <example>BS 57 Report on heads for Small Screws</example>
            <example>Oil price spikes as Iraq stops exporting in protest at UN sanctions.</example>
            <example>Tom has more friends than Mary does.</example>
            <example>It collects data via API calls to Insights.</example>
            <example>Kew Gardens in London has one of the biggest non-commercial compost heaps in Europe.</example>
            <example>New Relic now supports creating dashboards via API calls: https://docs...</example>
            <example>1910 – The Boy Scouts of America is incorporated by William D. Boyce.</example>
            <example>The controversial removal of price caps in California is allowing prices to rise.</example>
            <example>If this holds true, sounds like Burton plans to make things pretty messy.</example>
            <example>Any workarounds while Steve works on a fix?</example>
            <example>The coat of arms of Cuba features a fasces</example><!-- No closing punctuation. -->
            <example>A bunch of filings on Thursday is next.</example>
            <example>Make sure the box that reads Cache Jars in Memory is NOT checked.</example>
            <example>My Years of Pain is what gave me a unique insight into other people. </example>
            <example>1890 – The United Mine Workers of America is founded in Columbus, Ohio</example>
            <example>The relationship between the utility and AG Signs of Stockton spans two decades.</example>
            <example>Cheshvan has 29 days while Kislev has 30 days.</example>
            <example>The military of Algeria consists of the People's National Army (ANP), the...</example>
            <example>In The Knights for instance, Cleon's corrupt service to the people of Athens is originally depicted as a household relationship in which the slave dupes his master.</example>
            <example>Data from 2010 suggests that one in 10 children in Afghanistan dies before they are five years old.</example>
            <example>Two thirds of Azerbaijan is rich in oil and natural gas.</example>
            <example>Kate has three times as many records as Jane has.</example>
            <example>Tom hasn't been to Australia as many times as Mary has.</example>
            <example>I don't have as many pairs of socks as Tom does.</example>
            <example>For example, towers of Hanoi is a well understood in recursive implementation.</example>
            <example>The virtual assignment of British Energy's contracts to Enron gives the UK coal team total...</example>
            <example>And joining us now from his company headquarters in Houston is Kenneth Lay.</example>
            <example>Joining us now with her fans from Houston is Layla Kent.</example>
            <example>Visiting them now with their friends in Paris gives me great pleasure.</example>
            <example>Each of the major scripts of India has its own numeral glyphs.</example>
            <example>Contact and migration with Han people from China has brought Confucianism, Daoism...</example>
            <example>A Hewlett Packard office for French-speaking countries in Africa is in Algiers.</example>
            <example>One trend among imitators of Poe has been...</example>
            <example>Whether the Russian Government shares any of the station's radar data with Azerbaijan is unknown.</example>
            <example>The first of a series of bombings in Moscow kills one person and wounds 40 others</example>
            <example>Which very violent series of terribly long bombings in Moscow shows that the...?</example>
            <example>...decides to quit and join Galt's strike moments before Dagny arrives to try to persuade him otherwise.</example>
            <example>It's been three weeks since Tom has been here.</example>
            <example>Also, Enron will deliver forms as Barclays wishes.</example>
            <example>Oil prices spikes as Iraq stops exporting in protest at UN sanctions.</example><!-- 'Oil prices spikes' is not correct, but that is out of scope of this rule. -->
            <example>Terraxis wipes blues after Luther is gone.</example>
            <example>Their ability to provide services for India needs to be sorted out quickly.</example>
            <example>The only way to execute JavaScript actions in Chrome is via AppleScript.</example>
            <example>The franchising of foreign goods and services to India is in its infancy.</example>
            <example>The oldest of the non-Christian communities in Wales is Judaism.</example>
            <example>The earliest record of Hazara in the areas of Pakistan is found in Broadfoot's Sappers company from 1835 in Quetta.</example>
            <example>Tana's primary role is "special projects" but she is helping Susan and Samantha with daily matters until Stephanie begins work and has some experience.</example>
            <example>Tom is counting the days until Mary arrives.</example>
            <example>The ratepayers will be reminded for 10 years after Davis is gone about his expensive brilliance.</example>
            <example>Skis up to 280 cm have been produced in Finland, and the longest recorded ski in Norway is 373 cm.</example>
            <example>You know that anyone wearing pants in November is just visiting from Ohio.</example>
            <example>Another perk that draws many expats to Ecuador is its low cost of living.</example>
            <example>Q7: What versions of Jira does JPT support?</example>
            <example>The death of thousands of people in Gaza is inevitable.</example>
            <example>Ethics in English refers to several things.</example>
            <example>The word ethics in English refers to several things.</example>
            <example>Today women's athletics at UT has its own corporate structure and hierarchy.</example>
            <example>The variety of climates, soils, and drainage conditions in Brazil is reflected in the range of its vegetation types.</example>
            <example>Recent analysis of the competitive effects of school vouchers in Florida suggests that more competition improves performance in the regular public schools.</example>
            <example>Translating sentences on Tatoeba is more fun than doing homework.</example>
            <example>The revised invoices for Duke contracts 27291 and 27349 appear to be correct.</example>
            <example>Anything the corporate media spins against Bernie is simply their usual attack, smear, or LIES against “America’s Dad”!</example>
            <example>The 2010 maternal mortality rate per 100,000 births for Guinea is 680.</example>
            <example>Such an assumption pertinent to the ownership claims and assets of DPC is implicit in his provocative statement.</example>
            <example>...41% in 3 weeks with Microsoft calls...</example>
            <example>One of the most striking, although inconclusive, features of Chronicles is that its closing sentence is repeated as the opening of Ezra–Nehemiah.</example>
            <example>Ten years in Washington is longer than any other man has had it—too long!</example>
            <example>Because with this macro, then text data from Excel is still 12 MB but...</example>
            <example>The number of flying insects collected in traps in nature reserves in Germany has declined by 75% over the last 25 years.</example>
            <example>Today, all that remains of Ctesiphon is the shrine town of Salman Pak.</example>
            <example>In translations of Disney works the nephews have different local-sounding names.</example>
            <example>Since the adoption of a new constitution, early in 2010, the politics of Angola takes place in a framework of a presidential republic.</example><!-- Regression 2020-06-01 -->
            <example>The absence of any older Iranian (Avestan) loanwords in Brahui supports this hypothesis.</example>
            <example>Membership in the various branches, groups and subgroups of Indo-European is also genealogical.</example>
            <example>Membership in the various branches, groups, and subgroups of Indo-European is also genealogical.</example>
            <example>Yet, a close partnership between Tom James and the renowned mills of Huddersfield permits us to control costs and make CEO Super 180's readily available to you.</example>
            <example>The average maturity of loans made by domestic financial institutions to businesses in Germany is 4.28 years.</example>
            <example>The sloth bear of Asia is the most nocturnal of the bears.</example>
            <example>They are responsible for making the payments on these contracts since ENA has defaulted.</example><!-- #4518 -->
            <example type="triggers_error">During March, Limassol has average temperatures of during the day and at night, in other coastal locations in Cyprus is generally during the day and at night.</example><!-- Ignore this garbled sentence. -->
        </rule>

        <rulegroup id="MISSING_TO_BEFORE_A_VERB" name="Use 'to' before the base form of a verb"><!-- Premium #1405 -->
            <short>Possible grammar error</short>
            <antipattern><!-- www.tutorialspoint.com/unix/unix-file-permission.htm -->
                <token postag_regexp="yes" postag="VB.*" regexp="yes" inflected="yes">need|try|want|like|love</token>
                <token regexp="yes">execute|read|write</token>
                <token min="0">only</token>
                <token chunk="E-NP-singular" regexp="yes">access|rights</token>
            </antipattern>
            <antipattern><!-- You don't like love stories -->
                <token>love</token>
                <token regexp="yes">stor(y|ies)</token>
            </antipattern>
            <antipattern><!-- We need account information necessary to set it up -->
                <token>account</token>
                <token regexp="yes">informations?</token>
            </antipattern>
            <antipattern><!-- I have tried port forwarding -->
                <token>port</token>
                <token>forwarding</token>
            </antipattern>
            <antipattern><!-- I love break dancing -->
                <token>break</token>
                <token regexp="yes">dancing|dancers?</token>
            </antipattern>
            <antipattern><!-- I need cost reductions -->
                <token postag_regexp="yes" postag="VB.*" regexp="yes" inflected="yes">need|try|want|like|love</token>
                <token>cost</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|try</token>
                <token>ping</token>
                <token>me</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token chunk="I-VP" postag="VB" />
                <token regexp="yes">it|you</token>
                <token postag="MD" />
            </antipattern>
            <antipattern>
                <token inflected="yes">do</token>
                <token>love</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token>do</token>
                <token>it</token>
                <token regexp="yes">yoursel.*</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token regexp="yes">&uncommon_verbs;</token><!-- uncommon verbs -->
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token regexp="yes" case_sensitive="yes">GET|PATCH|POST|DELETE</token><!-- HTTP request types -->
            </antipattern>
            <antipattern><!-- If I need support that badly ... -->
                <token regexp="yes" inflected="yes">need|want</token>
                <token>support</token>
                <token>that</token>
                <token postag="RB" />
            </antipattern>
            <antipattern><!-- contracts we need include the -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token regexp="yes">&subject_pronouns;</token>
                <token>need</token>
                <token postag="VB"/>
                <token postag_regexp="yes" postag="DT|PRP\$|IN"/>
            </antipattern>
            <antipattern><!-- documents that the managers need include -->
                <token chunk="E-NP-plural" postag="NNS"/>
                <token>need</token>
                <token postag="VB"/>
                <token postag_regexp="yes" postag="DT|PRP\$|IN"/>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like</token>
                <token regexp="yes">help|support|advise|exercise|sleep|change|enter|access|thrust|force|love</token>
                <token postag="W?RB|IN|TO|VBG|PCT" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- missing DT -->
                <token>need</token>
                <token>transfer</token>
                <token regexp="yes">to|from</token>
            </antipattern>
            <antipattern><!-- He does not want support any more. -->
                <token regexp="yes">want|need</token>
                <token postag="NN:UN?" postag_regexp="yes" />
                <token>any</token>
                <token regexp="yes">more|longer</token>
            </antipattern>
            <antipattern>
                <token>need</token>
                <token regexp="yes">help|support</token>
                <token postag="NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- If you need help you will have to -->
                <token>need</token>
                <token regexp="yes">help|support</token>
                <token>you</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I want back my freedom -->
                <token regexp="yes" inflected="yes">need|want</token>
                <token>back</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">love|like|want</token>
                <token>fall</token>
                <token postag="W?RB|IN|VBG" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Love love love what you're doing! -->
                <token>love</token>
                <token>love</token>
            </antipattern>
            <antipattern>
                <token>like</token>
                <token>like</token>
            </antipattern>
            <antipattern>
                <token>try</token>
                <token>try</token>
            </antipattern>
            <antipattern><!-- may love replace all fear -->
                <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                <token>may</token>
                <token>love</token>
            </antipattern>
            <antipattern><!-- ... that I need up so that I can let tenants know about what is going on. -->
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|love|try</token>
                <token regexp="yes">.*fish</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/if_need_be -->
                <token regexp="yes">if|when|once</token>
                <token regexp="yes">needs?</token>
                <token>be</token>
            </antipattern>
            <antipattern><!-- need be no more perplexing  -->
                <token regexp="yes">needs?</token>
                <token>be</token>
                <token>no</token>
                <token postag="JJR" />
            </antipattern>
            <antipattern>
                <token>try</token>
                <token>catch</token>
                <token regexp="yes">logic|blocks?|functions?|code</token>
            </antipattern>
            <antipattern><!-- If I need help my mom can ... -->
                <token skip="2" regexp="yes">if|once|when|since</token>
                <token regexp="yes" inflected="yes">need|want</token>
                <token regexp="yes" skip="3">help|support|advise|exercise|sleep</token>
                <token postag="MD" />
            </antipattern>
            <antipattern><!-- Let love lead the way. -->
                <token>let</token>
                <token regexp="yes">love|hope</token>
                <token chunk="I-VP" />
            </antipattern>
            <antipattern><!-- Can you like show me how it works?  (like used as an adverb) -->
                <token postag="MD" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token>like</token>
            </antipattern>
            <antipattern>
                <token>drag</token>
                <token regexp="yes">&amp;|and</token>
                <token>drop</token>
            </antipattern>
            <antipattern><!-- She was tried found guilty and ... (missing comma between "tried" and "found") -->
                <token>tried</token>
                <token>found</token>
                <token>guilty</token>
            </antipattern>
            <antipattern>
                <token>make</token>
                <token>love</token>
                <token>happen</token>
            </antipattern>
            <antipattern><!-- We need set of ... (different error, missing article) -->
                <token>need</token>
                <token>set</token>
                <token>of</token>
            </antipattern>
            <antipattern><!-- When you love crab cakes -->
                <token>crab</token>
                <token regexp="yes">cakes?</token>
            </antipattern>
            <antipattern><!-- "needs" used as an archaic adverb (https://www.lexico.com/definition/needs) -->
                <token>must</token>
                <token>needs</token>
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- I wanted candy a few moments ago -->
                <token regexp="yes">needed|wanted</token>
                <token postag="NN:UN?" postag_regexp="yes" />
                <token regexp="yes" skip="3">an?</token>
                <token>ago</token>
            </antipattern>
            <antipattern><!-- I need cash advances -->
                <token>cash</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern><!-- I love Marvel a lot -->
                <token regexp="yes">need|want|like|love|hope|try</token>
                <token>marvel</token>
            </antipattern>
            <antipattern><!-- You love mature ladies. -->
                <token>love</token>
                <token>mature</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token>sled</token>
                <token>dogs</token>
            </antipattern>
            <antipattern>
                <token>ski</token>
                <token>poles</token>
            </antipattern>
            <antipattern><!-- Life and love contain ... -->
                <token postag="NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                <token regexp="yes">and|or|&amp;</token>
                <token>love</token>
            </antipattern>
            <antipattern><!-- Incorrect chunking: We need transfer confirmation. -->
                <token regexp="yes">need|want</token>
                <token>transfer</token>
                <token regexp="yes">confirmations?</token>
            </antipattern>
            <antipattern><!-- Incorrect chunking: We need travel insurance. -->
                <token regexp="yes">need|want</token>
                <token>travel</token>
                <token regexp="yes">insurances?</token>
            </antipattern>
            <antipattern><!-- Did all the bulbs you tried burn out? -->
                <token skip="2">all</token>
                <token chunk="E-NP-plural" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token postag="VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- He makes the woman he loves go through hard times. -->
                <token regexp="yes" chunk_re="B-NP.*">the|an?|th[oe]se|my|y?our|his|her|their</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token regexp="yes">s?he|we|they|it|I|you</token>
                <token postag="RB" min="0" />
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">need|want|like|love|hope|try</token>
                <token regexp="yes">stand|follow</token>
                <token>up</token>
                <token postag="NNS|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Shakespeare: "Or, if thou wilt needs marry, marry a fool, for wise men know well enough what monsters you make of them." -->
                <token>wilt</token>
                <token>needs</token>
                <token>marry</token>
            </antipattern>
            <antipattern><!-- When we needed help a lot of people just left. -->
                <token regexp="yes" skip="-1">when|once|if</token>
                <token regexp="yes" inflected="yes">need|want|love|like</token>
                <token regexp="yes">help|support|advise|exercise|sleep</token>
                <token>a</token>
                <token>lot</token>
            </antipattern>
            <antipattern><!-- I also love Take That -->
                <token case_sensitive="yes" regexp="yes" inflected="yes">like|love</token>
                <token case_sensitive="yes">Take</token>
                <token case_sensitive="yes">That</token>
            </antipattern>
            <antipattern><!-- When we need help it is ... -->
                <token postag="CC" />
                <token postag="PRP" />
                <token regexp="yes" inflected="yes">need|want</token>
                <token regexp="yes">help|support|love</token>
                <token regexp="yes">it|you</token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- What hopes do you have? -->
                <token regexp="yes">what|which</token>
                <token regexp="yes">hopes?</token>
                <token inflected="yes">do</token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern><!-- When there's anything you need let me know. (missing comma) -->
                <token regexp="yes" skip="8">when|once|if</token>
                <token inflected="yes" regexp="yes">need|want</token>
                <token>let</token>
                <token regexp="yes">us|me|them</token>
                <token>know</token>
                <token postag="RB" min="0" />
                <token postag="CC|PCT" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Who needs help the most? -->
                <token postag="W.*" postag_regexp="yes" skip="4" />
                <token regexp="yes" inflected="yes">need|want</token>
                <token regexp="yes">help|support|love</token>
                <token>the</token>
                <token regexp="yes">most|least</token>
            </antipattern>
            <antipattern><!-- I like fall a lot. -->
                <token regexp="yes" inflected="yes">like|love</token>
                <token>fall</token>
                <token>a</token>
                <token>lot</token>
            </antipattern>
            <antipattern><!-- He wanted to know what love felt like. -->
                <token>what</token>
                <token regexp="yes">love|hope</token>
                <token>felt</token>
                <token>like</token>
            </antipattern>
            <antipattern><!-- I was like wait a second ... -->
                <token>like</token>
                <token>wait</token>
                <token>a</token>
                <token regexp="yes">moment|minute|second</token>
            </antipattern>
            <antipattern><!-- If that's what you want please contact ... -->
                <token inflected="yes" regexp="yes">need|want|like|love|hope|try</token>
                <token>please</token>
                <token postag="VB" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- We need order no 1234 -->
                <token inflected="yes" regexp="yes">need|want|like|love|hope|try</token>
                <token>order</token>
                <token regexp="yes">no|nr|#</token>
                <token min="0">.</token>
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- I want back to my wonderful vacation -->
                <token>want</token>
                <token>back</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">love|want|like</token>
                <token>shower</token>
                <token>sex</token>
            </antipattern>
            <antipattern><!-- I hope do you like it? -->
                <token inflected="yes" regexp="yes">need|want|like|love|hope|try</token>
                <token>do</token>
                <token regexp="yes">you|I|they|we</token>
                <token postag="RB" min="0" />
                <token postag="VB" chunk_re=".-VP" />
            </antipattern>
            <antipattern><!-- I like slow, and classic music. -->
                <token inflected="yes" regexp="yes">like|love|need|want</token>
                <token>slow</token>
                <token min="0">,</token>
                <token>and</token>
                <token postag="JJ" chunk_re=".-NP.*" />
            </antipattern>
            <antipattern><!-- You need consent from someone -->
                <token inflected="yes">need</token>
                <token regexp="yes">consent|air</token>
            </antipattern>
            <antipattern><!-- I really need cash -->
                <token inflected="yes" regexp="yes">love|like|need</token>
                <token>cash</token>
            </antipattern>

            <rule><!-- B-VP + I-VP/VB + me/us/him/... -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token chunk="I-VP" postag="VB" />
                    </marker>
                    <token regexp="yes">it|them|him|her|you|me|us</token>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="want to test">We <marker>want test</marker> it.</example>
                <example correction="need to test">We <marker>need test</marker> it first.</example>
                <example correction="like to make">We <marker>like make</marker> it better.</example>
                <example correction="like to enhance">We <marker>like enhance</marker> it.</example>
                <example correction="want to let">I <marker>want let</marker> you down.</example>
                <example correction="want to make">Listen all the time, this bloody sentence just <marker>want make</marker> me mad and i want delete the game.</example>
                <example correction="need to tell">You <marker>need tell</marker> me exactly how this happened.</example>
                <example correction="want to try">Anyway, if you <marker>want try</marker> it on your own, then you can.</example>
                <example>Why does love make us so happy?</example>
                <example>Why would love make us happy?</example>
                <example>While I like do it yourself problem solving I feel this might be better left to BMW specialists.</example>
                <example>If you need help you're all by yourself.</example>
                <example>What hopes do you have?</example>
                <example>When there's anything you need let me know.</example>
                <example>What needs do you have in mind?</example>
            </rule>

            <rule><!-- I-VP + I-VP + me/us/him/... -->
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <token chunk="I-VP" postag="VB" />
                    </marker>
                    <token regexp="yes">it|them|him|her|you|me|us</token>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to see">I would <marker>like see</marker> us make this work.</example>
                <example correction="try to make">I would always <marker>try make</marker> it first.</example>
                <example correction="try to help">I shall <marker>try help</marker> you from here.</example>
                <example correction="like to have">I would <marker>like have</marker> them open for all US East Power.</example>
                <example correction="want to meet">I also wanted to know if you or Mr Lay may <marker>want meet</marker> them.</example>
                <example correction="try to contact">I will <marker>try contact</marker> them today, but don’t know what to ask them.</example>
                <example correction="try to get">I will <marker>try get</marker> you a copy of the February reports and send them to you.</example>
                <example correction="want to let">They don't <marker>want let</marker> me learn.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-NP-singular/DT/PRP$ -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-singular" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="wants to test">He <marker>wants test</marker> the tool.</example>
                <example correction="want to resolve">I <marker>want resolve</marker> the power basis curve issue.</example>
                <example correction="try to replicate">Restart PHP and <marker>try replicate</marker> your issue.</example>
                <example correction="needs to do">Tom let us know he <marker>needs do</marker> that.</example>
                <example correction="want to take">Don't you <marker>want take</marker> a break?</example>
                <example correction="try to write">Let's <marker>try write</marker> a song together.</example>
                <example correction="want to do">Does somebody <marker>want do</marker> my homework for me?</example>
                <example correction="need to add">Hi, we <marker>need add</marker> an SSL certificate on my website.</example>
                <example correction="need to have">You <marker>need have</marker> a good microphone because we care about sound quality.</example>
                <example correction="need to transfer">I also <marker>need transfer</marker> the name to another part of our deployment system.</example>
                <example>If I'm desperate I turn up in person and hassle reception if I need support that badly.</example>
                <example>Life and love contain the whole thing.</example>
                <example>Who needs help the most?</example>
                <example>I like fall a lot.</example>
                <example>When we needed help a lot of people just left.</example>
                <example>Talk to the people that need help the most.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + B-NP-singular/DT/PRP$ -->
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-singular" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to test">I would <marker>like test</marker> the tool.</example>
                <example correction="like to make">Tom doesn't <marker>like make</marker> the test.</example>
                <example correction="try to take">I can <marker>try take</marker> a look and see if I can get anything running.</example>
                <example correction="need to know">I assumed no because you would personally <marker>need know</marker> the language to string a sentence together.</example>
                <example correction="love to listen">If some of you have some idea about how could I implement I would <marker>love listen</marker> your contribution.</example>
                <example correction="want to do">You will <marker>want do</marker> this while the app is not reporting.</example>
                <example correction="need to add">In those cases, you would <marker>need add</marker> an initial forward slash.</example>
                <example correction="want to take">You may also <marker>want take</marker> a look at this.</example>
                <example correction="trying to mount">I'm <marker>trying mount</marker> my folder with code in my container.</example>
                <example correction="try to solve">Will work on something to <marker>try solve</marker> that.</example>
                <example correction="want to be">I know Tom doesn't <marker>want be</marker> the next one to do that.</example>
                <example correction="tried to improve">Companies such as Coca-Cola have actively <marker>tried improve</marker> their efficiency of water usage.</example>
                <example>Dear God, May love replace all fear.</example>
                <example>Let love lead the way.</example>
                <example>He does not want support any more.</example>
                <example>Don't let hope become a memory.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-NP-singular/NN:UN -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|hope|try</token><!-- no love/like (too many false alarms) -->
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk="B-NP-singular" min="0" />
                    <token postag="NN:UN?|NNP" postag_regexp="yes" chunk="E-NP-singular" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="want to spend">I <marker>want spend</marker> time with my friends.</example>
                <example correction="want to thank">I <marker>want thank</marker> everyone for their participation.</example>
                <example correction="try to use">Can you <marker>try use</marker> Chrome in Incognito mode, or with all add-ons disabled and see if this helps?</example>
                <example>We need account information necessary to set it up such as name, TIN etc.</example>
                <example>You needed help making sense of it all.</example>
                <example>People who love doubt nothing, or doubt everything.</example>
                <example>If it's that what you want please contact your teacher.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + B-NP-singular/NN:UN -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="I-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk="B-NP-singular" min="0" />
                    <token postag="NN:UN?|NNP" postag_regexp="yes" chunk="E-NP-singular" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to spend">I would <marker>like spend</marker> time with my friends.</example>
                <example correction="try to persuade">Tom will <marker>try persuade</marker> Mary to do that.</example>
                <example>Also which trader will need read only access.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-NP-plural -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-NP-plural">
                        <exception>pleas</exception><!-- misspelling of "please"-->
                    </token>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="wants to have">He <marker>wants have</marker> all features.</example>
                <example correction="wants to have">He <marker>wants have</marker> car parts.</example>
                <example correction="try to run">Can you <marker>try run</marker> the following commands?</example>
                <example correction="try to get">Let me <marker>try get</marker> some folks in our Community Slack instance to have a try at this.</example>
                <example correction="want to improve">They <marker>want improve</marker> his skills.</example>
                <example>I need cost reductions, improved cash flow and support.</example>
                <example>We always love best the people who need us.</example>
                <example>I wanted candy a few moments ago.</example>
                <example>I love marvel movies a lot.</example>
                <example type="triggers_error">If it has a roaring sound coming from the rear, then you need rear wheel bearings.</example>
                <example>You love mature ladies.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + B-NP-plural -->
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-NP-plural">
                        <exception>pleas</exception><!-- misspelling of "please"-->
                    </token>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to test">I would <marker>like test</marker> all features first.</example>
                <example correction="like to produce">I actually represent my employer which would <marker>like produce</marker> LED light drivers.</example>
                <example correction="like to involve">I would <marker>like involve</marker> more people with vision, means and desire to help make this a reality.</example>
                <example correction="try to document">I’ll <marker>try document</marker> my efforts and contribute something back myself.</example>
                <example correction="want to thank">So I do <marker>want thank</marker> the guys for all the help offered.</example>
                <example>You don't like love stories.</example>
            </rule>

            <rule><!-- B-VP + VB + the/a/... -->
                <antipattern>
                    <token regexp="yes" inflected="yes" skip="2">like|love|try|want</token>
                    <token>a</token>
                    <token min="0">whole</token>
                    <token>lot</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_a;</token>
                    <token>a</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB">
                            <exception regexp="yes">even|green|blue|yellow|black|gr[ea]y</exception>
                            <exception postag="IN" />
                        </token>
                    </marker>
                    <token regexp="yes">the|an?|my|y?our|his|her|their</token>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="want to test">We <marker>want test</marker> the tool first.</example>
                <example correction="try to close">Could you <marker>try close</marker> the game and restart?</example>
                <example correction="want to mimic">I <marker>want mimic</marker> your specific case.</example>
                <example correction="try to get">They cannot do much except <marker>try get</marker> the players to somehow shake hands.</example>
                <example>The gas contracts we need include the following.</example>
                <example>At the end just facet on whatever attribute you want down your rows.</example>
                <example correction="try to write">Let's <marker>try write</marker> a song together.</example>
                <example correction="need to buy">I <marker>need buy</marker> a new car.</example>
                <example>Hanako likes cake a lot.</example>
                <example>She likes cake a whole lot.</example>
                <example>Maharashtra claims that it doesn't need even the 740 MW now generated offtake, the higher the unit price of DPC power.</example>
                <example>They like Option A for closeout setoff, which limits everything to just the parties, no affiliates and no other agreements.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-PP/IN -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-PP" postag="IN" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="want to go">We <marker>want go</marker> to the cinema.</example>
                <example correction="need to concentrate">To make the turn even tighter, you <marker>need concentrate</marker> on the strength of your core.</example>
                <example correction="Try to get"><marker>Try get</marker> in our heads.</example>
                <example correction="need to talk">You <marker>need talk</marker> to them about what they can/will provide.</example>
                <example correction="need to speak">However, before transacting, we <marker>need speak</marker> with Mark for legal approval.</example>
                <example correction="love to listen">I <marker>love listen</marker> to music.</example>
                <example>We all need help from time to time.</example>
                <example>I need advise about how to cope.</example>
                <example>He makes the woman he loves go through hard times.</example>
                <example>The things he needs depend on how much he earns.</example>
                <example>He understood what love felt like.</example>
            </rule>

            <rule><!-- B-ADVP (because wrong chunking of 'like') + B-VP/VB + B-PP/IN -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-ADVP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="B-VP" />
                    </marker>
                    <token chunk="B-PP" postag="IN" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to go">I <marker>like go</marker> to the pool.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + B-PP/IN -->
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-PP" postag="IN" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to go">We would <marker>like go</marker> to the cinema.</example>
                <example correction="like to respond">Dear Schuyler, I would <marker>like respond</marker> to your mail concerning the ISDA Protocol.</example>
                <example correction="need to stay">How many more days do you think Tom will <marker>need stay</marker> in the hospital?</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-PRT/RP -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-PRT" postag="IN|RP" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to hang">I <marker>like hang</marker> out with the crew.</example>
                <example correction="need to set">I <marker>need set</marker> up a bigger timeout number.</example>
                <example>What do you need help with?</example>
                <example>I love stand up comedians.</example>
                <example>Did all the bulbs you tried burn out?</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + B-PRT/RP -->
                <antipattern><!-- I was like come on give me a new cool toy. -->
                    <token inflected="yes">be</token>
                    <token>like</token>
                    <token>come</token>
                    <token>on</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="I-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-PRT" postag="IN|RP" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to hang">I would <marker>like hang</marker> out with the crew.</example>
                <example correction="tried to strike">We have <marker>tried strike</marker> up a working relationship with the certification team.</example>
                <example>I was like come on give me a new cool toy.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-ADVP/RB -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-ADVP" postag="W?RB" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="needs to go">He <marker>needs go</marker> there.</example>
                <example correction="want to try">We <marker>want try</marker> badly.</example>
                <example correction="try to explain">Let me <marker>try explain</marker> again.</example>
                <example correction="want to go">I <marker>want go</marker> back to work.</example>
                <example correction="hope to be">I <marker>hope be</marker> here.</example>
                <example correction="tried to log">I <marker>tried log</marker> off and log on.</example>
                <example correction="want to know">Do you still <marker>want know</marker> why I'm going?</example>
                <example correction="want to go">Tom and Mary said they <marker>want go</marker> back to Boston someday.</example>
                <example correction="needs to be">Tom has already told Mary she <marker>needs be</marker> there tomorrow at 2:30.</example>
                <example correction="want to know">Do you still <marker>want know</marker> where I live?</example>
                <example>It is working on the bulletin board that I need up so that I can let tenants know about what is going on.</example>
                <example>I need sleep tonight.</example>
                <example>The ones you love walk out slowly.</example>
            </rule>

            <rule><!-- + I-VP + I-VP/VB + B-ADVP/RB -->
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token chunk="B-ADVP" postag="W?RB" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to go">We would <marker>like go</marker> there.</example>
                <example>Tom called Mary to tell her he might need help later in the afternoon.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + PCT/CC -->
                <antipattern>
                    <token postag="PCT" />
                    <token spacebefore="no" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP">
                            <exception regexp="yes">fall|help|support|advise|exercise|hope|stun|force</exception>
                            <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                            <exception>please</exception>
                        </token>
                    </marker>
                    <token postag="PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="needs to go">He <marker>needs go</marker>.</example>
                <example correction="try to install">Installer will detect PHP 7 and <marker>try install</marker>.</example>
                <example correction="want to learn">Just talk about the language that you <marker>want learn</marker>.</example>
                <example correction="need to apply">Please note that the need is immediate, and only candidates able to relocate quickly <marker>need apply</marker>.</example>
                <example correction="want to spend">Don't complain if the $3400.00 is more than you <marker>want spend</marker>.</example>
                <example correction="want to say">Is there anything else you <marker>want say</marker>?</example>
                <example correction="want to sit">So far I just <marker>want sit</marker> and smoke a cigarette or lay whole day.</example>
                <example>I love fall.</example>
                <example>I need help.</example>
                <example>Well, we all need hope.</example>
                <example>Or if need be, Dad says he can come down himself and do it.</example>
                <example>I love crawfish.</example>
                <example>And if need be, we will have the flexibility to alter our itinerary.</example>
                <example>Do I need live.auth.example.com or auth.example.com?</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB/SENT_END -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <and>
                            <token postag="SENT_END" />
                            <token postag="VB" chunk="I-VP">
                                <exception regexp="yes">fall|help|support|advise|exercise|hope|stun|force</exception>
                                <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                                <exception>please</exception>
                            </token>
                        </and>
                    </marker>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="needs to go">He <marker>needs go</marker></example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + PCT/CC -->
                <antipattern>
                    <token postag="PCT" />
                    <token spacebefore="no" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP">
                            <exception regexp="yes">fall|help|support|advise|exercise|hope|stun</exception>
                            <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                            <exception>please</exception>
                        </token>
                    </marker>
                    <token postag="PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to go">We would <marker>like go</marker>.</example>
                <example correction="want to know">I really do <marker>want know</marker>.</example>
                <example>Which seat do you want please?</example>
                <example>I didn't need drag &amp; drop.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB/SENT_END -->
                <pattern>
                    <marker>
                        <token regexp="yes" chunk="I-VP" inflected="yes">need|want|like|love|hope|try</token>
                        <and>
                            <token postag="SENT_END" />
                            <token postag="VB" chunk="I-VP">
                                <exception regexp="yes">fall|help|support|advise|exercise|hope|stun</exception>
                                <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                                <exception>please</exception>
                            </token>
                        </and>
                    </marker>
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to go">We would <marker>like go</marker></example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + B-VP/TO -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="TO" />
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="want to improve">I <marker>want improve</marker> to become a better man.</example>
                <example>They need help to understand their office equipment.</example>
                <example>Tana, all the people on my previous list need access to add comments.</example>
                <example>The research project is going well, except that a lot of the articles we need have to be ordered because our libraries do not carry the journals.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + B-VP/TO -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="I-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="TO" />
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="need to improve">I would <marker>need improve</marker> to become a better man.</example>
                <example correction="want to try">Enron may <marker>want try</marker> to renegotiate the contract.</example>
            </rule>

            <rule><!-- B-VP + I-VP/VB + W.* -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="B-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="W.*" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="want to know">I <marker>want know</marker> who he has become.</example>
            </rule>

            <rule><!-- I-VP + I-VP/VB + W.* -->
                <pattern>
                    <marker>
                        <token regexp="yes" inflected="yes" chunk="I-VP">need|want|like|love|hope|try</token>
                        <token postag="VB" chunk="I-VP" />
                    </marker>
                    <token postag="W.*" postag_regexp="yes" />
                </pattern>
                <message>The verb "\2" needs to be in the to-infinitive form.</message>
                <suggestion>\1 to \2</suggestion>
                <example correction="like to know">I would <marker>like know</marker> who he has become.</example>
            </rule>

            <rule><!-- Need is possibly a modal verb. Use chunks (refer to the next rule). -->
                <antipattern><!-- www.lexico.com/definition/if_need_be -->
                    <token regexp="yes">if|there</token><!-- MFU: I did not find a reference for 'there need be' -->
                    <token>need</token>
                    <token>be</token>
                </antipattern>
                <pattern>
                    <token chunk="B-VP" postag_regexp="yes" postag="VBP?">need</token><!-- base form only -->
                    <marker>
                        <or>
                            <token chunk="I-VP" postag="VB"><!-- verbs that are not also nouns (e.g. "believe") -->
                                <exception postag_regexp="yes" postag="NN.*|JJR?"/>
                            </token>
                            <token regexp="yes">buy|convert|curl|fill|find|fix|get|go|hope|keep|know|look|make|move|pick|ping|preload|put|redirect|remove|repeat|run|show|slip|spell|stun|swamp|take|think|use|wait|weed</token><!-- verbs that are rarely used as nouns after "need" and which are not adjectives -->
                        </or>
                    </marker>
                    <or>
                        <token chunk="B-NP-singular"/>
                        <token chunk="B-NP-plural">
                            <exception>pleas</exception><!-- Incorrect spelling of "please" -->
                        </token>
                    </or>
                </pattern>
                <message>Make sure that '\1 \2' is correct. If '\1' is a modal verb, the text is correct. If '\1' is a lexical verb, use <suggestion>to \2</suggestion>.</message>
                <url>https://www.lexico.com/definition/need</url>
                <example correction="to accelerate">I think we need <marker>accelerate</marker> this process.</example>
                <example correction="to use">I need <marker>use</marker> subtitles on my video.</example>
                <example correction="to use">Do the technicians need <marker>use</marker> oil?</example>
                <example correction="to buy">I need <marker>buy</marker> a new car.</example>
                <example correction="to bring">I need <marker>bring</marker> some flowers.</example>
                <example correction="to bring">The technicians need <marker>bring</marker> washers.</example>
                <example correction="to do">You know you need <marker>do</marker> that, don't you?</example>
                <example correction="to install">I think i need <marker>install</marker> SpringScanner.</example>
                <example correction="to be">Others can view your app’s data, they just need <marker>be</marker> granted permission- by You!</example>
                <example correction="to write">We need <marker>write</marker> access courses in sociology and media studies.</example><!-- www.lexico.com/definition/access_course -->
                <example correction="to include">We need <marker>include</marker> the following information in the proposal:</example>
                <example>I think we need <marker>to accelerate</marker> this process.</example>
                <example>I need help with this task.</example><!-- help/I-VP -->
                <example>Please i need help</example><!-- No closing punctuation -->
                <example>I really need help.</example>
                <example>We so badly need rain.</example>
                <example>People need love.</example>
                <example>People need people.</example>
                <example>I need people I can rely on.</example>
                <example>Children need sleep.</example>
                <example>Do you need toilet paper?</example>
                <example>Do you need water resistant?</example><!-- Missing noun after 'water resistant' -->
                <example>Do you need help moving?</example>
                <example>The mechanics need help moving to the new workshop.</example>
                <example>I bring mine if need be.</example>
                <example>If need be you can order an additional one.</example>
                <example>If a grammar does generate the empty string, it will be necessary to include the rule, but there need be no other ε-rule.</example>
                <example>Tom and Mary really need help.</example>
                <example>I need help also.</example><!-- Context dependent. Possibly 'to' is missing. -->
                <example>You need better mechanics.</example>
                <example>We need lower taxes.</example>
                <example>We need better focus.</example>
                <example>We need better support.</example><!-- No chunk information for 'support'. -->
                <example>Do the technicians need police protection?</example><!-- police/B-NP-plural -->
                <example>Do the technicians need police truncheons?</example>
                <example>I need help every day.</example>
                <example>I need like 8-10.</example>
                <example>Let me choose what I need cause I found it.</example>
                <example>Also let them know what you are doing to help yourself and what you need help with.</example>
                <example>When the devs need fast cash then put it on sale for $1500.</example>
                <example>That’s why I need step 4 of my script.</example>
                <example>My understanding is that you need rank 1 or 2 to register for a given week.</example>
                <example>I need deal #854688 pathed for EPGT and for TETC.</example>
                <example>We need help all the time.</example>
                <example>... we have been thinking that they need help big time.</example>
                <example>I need help what to look for please.</example>
                <example>I haven't used them, so if you need help you should ask on the Script Debugger Forum.</example>
                <example>You need love He has got it.</example>
                <example>I haven't used them, so if you need help you should ask on the Script Debugger Forum.</example>
                <example>... like movies with strong emotional content, and I need help it’s getting out of my hands!</example>
                <example>If it turns out you need help I hope you can get it easily.</example>
                <example> I also added my terminal information I need help I’ve been trying to fix it and I cant find anything that works</example>
                <example>... but if you guys need help I could try to see if I can do the work well enough.</example>
                <example>If it has a roaring sound coming from the rear, then you need rear wheel bearings.</example><!-- rear/I-VP -->
                <example>I need help pleas.</example>
                <example>We need account information necessary to set it up such as name, TIN etc.</example>
                <example>permissions: ['r'] // need read permission to create subscriptions!</example>
                <example>I need deal date, start date, end date, premium, strike price,...</example>
                <example>I need access ASAP as I am supporting a trader who does most of his deals on EOL.</example>
                <example>Do we really need duplicate hero type association when there are so many troop types?</example>
                <example>I need license key location, because I added it to the in-correct account, so I need to change it to another license key.</example><!-- license/I-VP -->
                <example>We need license and cost information before we continue this discussion about buying your software.</example><!-- license/B-NP-singular -->
                <example>And if you do have a project of your own where you need design help, you can of course submit it there too.</example>
                <example>We need complete well characteristic data (depth, basin, age) in order to be accurate.</example>
                <example>I need cost reductions, improved cash flow and SUPPORT.</example>
                <example>I need change overs to happen on Mondays.</example>
                <example>The gas contracts we need include the following, can you give us timescales.</example>
                <example>The documents that the managers need include the following:</example>
                <example>That’s right, but you need write access to the data directory too.</example>
                <example>All you need bring are sheets.</example><!-- Ambiguous -->
                <example>If there is any other info you need let me know.</example><!-- missing comma -->
<!-- Not found --><example>I felt i need <marker>express</marker> this feeling so i made this little poem:</example>
<!-- #2312 Testrules error. The GUI finds the error, but testrules says " didn't actually trigger an error"
<example type="triggers_error">At this stage no further discussion need take place on this point.</example> Modal
<example type="triggers_error">You need say nothing more.</example> Ambiguous: do not make an antipattern.
<example type="triggers_error">You need go only one stop on the underground.</example> Ambiguous: do not make an antipattern.
<example type="triggers_error">If you received new @GLOBAL license keys recently (within the last 6 months to a year), you need do nothing, otherwise contact FEA to receive updated license keys.</example>
-->
            </rule>

            <rule><!-- Need is possibly a modal verb. Special cases: do not use chunks -->
                <antipattern><!-- need lower taxes -->
                    <token>need</token>
                    <token chunk="B-NP-plural" postag_regexp="yes" postag="JJR?"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- Verbs that are not noun or not usually nouns -->
                    <token>need</token>
                    <token postag_regexp="yes" postag="NN.*">
                        <exception regexp="yes">buy|convert|curl|fill|find|fix|get|go|hope|keep|know|look|make|move|pick|ping|preload|put|redirect|remove|repeat|run|show|slip|spell|stun|swamp|take|think|use|wait|weed</exception><!-- Copy from rule 1 -->
                    </token>
                </antipattern>
                <pattern>
                    <token chunk="B-VP" postag_regexp="yes" postag="VBP?">need</token><!-- base form only -->
                    <marker>
                        <token postag="VB"/>
                    </marker>
                    <or>
                        <token postag="NNS">
                            <exception>pleas</exception><!-- Incorrect spelling of "please" -->
                        </token>
                        <token regexp="yes">(https?|www).*</token>
                    </or>
                    <token postag_regexp="yes" postag="PCT|IN"/>
                </pattern>
                <message>Make sure that '\1 \2' is correct. If '\1' is a modal verb, the text is correct. If '\1' is a lexical verb, use <suggestion>to \2</suggestion>.</message>
                <url>https://www.lexico.com/definition/need</url>
                <example correction="to use">Even native English speakers need <marker>use</marker> subtitles.</example><!-- use/B-NP-plural. Do not use the chunker. -->
                <example correction="to use">Did the technicians need <marker>use</marker> washers?</example>
                <example correction="to bring">The technicians need <marker>bring</marker> washers for the test.</example><!-- washers/B-ADVP -->
                <example correction="to remove">I guess that means I need <marker>remove</marker> https://docs.cert-manager.io/en/release-0.4/index.html from my cluster.</example><!-- https has no chunk information. -->
                <example correction="to invent">There are a lot of issues we to need <marker>invent</marker> solutions for, or to collaborate with the CG to get them specified.</example>
                <example>Even native English speakers need <marker>to use</marker> subtitles.</example>
                <example>We need lower taxes.</example>
                <example>You need better mechanics.</example>
                <example>Do the technicians need truncheons?</example>
                <example>Cool, but We Need Shrimp Warriors too!</example>
                <example>Do i need smart things hub for this?</example>
                <example>Need to know by tomorrow morning because we will be loading to Unify and need contract numbers assigned.</example>
                <example>I need help pleas.</example>
                <example>I think you need better photos.</example>
                <example>I need cost reductions, improved cash flow and SUPPORT.</example>
                <example>I think we need price caps all the time not just when we're in an emergency.</example>
                <example>...and just how much I rely on my mother to help remind me of things I need like meds and food etc.</example>
                <example>In order to support the greenfield merchant decision making process for '01, we need price forecasts 1.</example>
                <example>You need brake pads and rotors, and make sure the calipers move freely.</example>
                <example>If the shop tells you that you need brake pads and new rotors don’t be surprised.</example>
                <example>I just need ping monitors so it’s not useful for me to sign up for a paid account (maybe in the future)!</example>
                <example>This is just a reminder that we need PEP forms and ratings on those associates under your charge that will be represented by Mark Russ.</example>
                <example>All you need bring are sheets.</example><!-- Ambiguous -->
                <example>Let me know if something doesn't show up, or if you need deal numbers.</example>
                <example>I would like to use this for a File Export, so I only need read Permissions.</example>
                <example>We need team leaders, walkers and volunteers to help us reach our goal.</example>
                <example>If you have a jack, you need jack stands.</example>
                <example>I’m a developer: I need log files to troubleshooting my house</example>
                <example>I need ice cubes.</example>
                <example>They are herbivores, and need forest environments to survive.</example>
                <example>all they need to do is rework the weapons a little to reflect current powerlevel of troops most of them just need cost adjustments.</example>
                <example>Sandy bottoms without rocks need pyramid weights.</example>
                <example>My black shoes need heel repairs.</example>
                <example>The idea behind this tool is to help us track in writing the multitude of work we need cost estimates on.</example>
                <example>... but they need gas utilities in California opposed interstate capacity expansions into the state.</example>
                <example>All animals and some plants need trace amounts of selenium.</example>
                <example>I need text files for my domain certificate, how can I get them?</example>
                <example>If I need Shield stones, I don’t want other stones, keys or souls inflating the price.</example>
                <example>"In the short term, we need price caps," Gov. Davis has said to state legislators.</example>
                <example>If you need code samples, I can zip up the storybook code and send it to your email.</example>
                <example>But it turns out the Pentagon has plenty of folks who need satellite phones, particularly in the Navy.</example>
<!-- TO DO --><example>We need <marker>cost</marker> increases in the frequency of the testing.</example><!-- better as "cost the increases..." -->
<!-- Testrules says no error, but the GUI finds an error
                <example type="triggers_error">I need change overs to happen on Mondays.</example> * The correct noun is 'changeovers'. Refer to #3022
                <example type="triggers_error">You need shit loads of luck!</example> * If the user accepts the LT suggestion 'shitloads', there is no incorrect warning.
-->
            </rule>

            <rule><!-- want/need/try -->
                <antipattern><!-- needs vary region to region -->
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token postag_regexp="yes" postag="VB[PD]?"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                    <token>to</token>
                    <token><match no="2"/></token>
                </antipattern>
                <antipattern><!-- Men's wants become -->
                    <token postag="POS">'s</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token postag_regexp="yes" postag="VB[PD]?"/>
                </antipattern>
                <antipattern><!-- www.collinsdictionary.com/dictionary/english/if-need-be-if-needs-be -->
                    <token>if</token>
                    <token>needs</token>
                    <token>be</token>
                </antipattern>
                <antipattern><!-- #3223 you wanted please let / have additional needs please let -->
                    <token>please</token>
                    <token postag_regexp="yes" postag="VBP?|RB"/>
                </antipattern>
                <antipattern><!-- our higher needs become more important -->
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>needs</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern><!-- He wants auto-renew turned off. -->
                    <token inflected="yes" regexp="yes">need|try|want</token>
                    <token chunk_re="E-NP.*" />
                    <token chunk_re=".-VP" postag="VB[DG]" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag_regexp="yes" postag="VB.*" regexp="yes" inflected="yes">need|try|want
                        <exception>need</exception><!-- Refer to rule 1 and rule 2 -->
                        </token>
                    <marker>
                        <or>
                            <token postag="VB"><!-- verbs that are not also nouns (e.g. "believe") -->
                                <exception postag_regexp="yes" postag="NN.*|JJR?"/>
                            </token>
                            <token regexp="yes">buy|convert|curl|fill|find|fix|get|go|hope|keep|know|look|make|move|pick|ping|preload|put|redirect|remove|repeat|run|show|slip|spell|stun|swamp|take|think|use|wait|weed</token><!-- verbs that are rarely used as nouns after "need" and which are not adjectives -->
                        </or>
                    </marker>
                    <token postag_regexp="yes" postag="DT|PRP\$|JJR?|NN.*"/>
<!-- This method causes testrules to give incorrect "triggers_error" messages. In order to keep the examples as a test, I used only one token.
                    <or>
                        <token chunk="B-NP-singular"/>
                        <token chunk="B-NP-plural">
                            <exception>pleas</exception>
                            </token>
                        <token chunk="E-NP-singular"/> * try use oil? *
                        <token chunk="E-NP-plural"/> * needed use subtitles *
                    </or>
-->
                </pattern>
                <message>Did you mean <suggestion>to \2</suggestion>?</message>
                <example correction="to accelerate">I hope that they try <marker>accelerate</marker> this process.</example>
                <example correction="to use">I needed <marker>use</marker> subtitles on my video.</example><!-- use/B-NP-plural -->
                <example correction="to use">Did the technicians try <marker>use</marker> oil?</example>
                <example correction="to buy">She really needs <marker>buy</marker> a new car.</example>
                <example correction="to bring">I am trying <marker>bring</marker> some sanity to this project.</example>
                <example correction="to bring">The technician needs <marker>bring</marker> washers.</example><!-- needs/E-NP-plural -->
                <example correction="to do">You know she tried <marker>do</marker> that, don't you?</example>
                <example correction="to install">I think you will want <marker>install</marker> the SpringScanner software.</example>
                <example correction="to be">They just want <marker>be</marker> important people!</example>
                <example correction="to write">We can try <marker>write</marker> access courses in sociology and media studies.</example>
                <example correction="to include">She wants <marker>include</marker> the following information in the proposal:</example>
                <example correction="To Add">Step 3: Try <marker>Add</marker> a Device for Testing.</example>
                <example correction="To Encode">Add a bit of CSS to get the font and style you want <marker>Encode</marker> any special characters in the copied text as HTML entities.</example><!-- Missing full stop between sentences. -->
                <example>I hope that they try <marker>to accelerate</marker> this process.</example>
                <example>We all want better television.</example>
                <example>Nor should CBM be standardized because needs vary region to region.</example>
                <example>Men's wants become greater in proportion to the increase in their income.</example>
                <example>If needs be lay it on a bit thick.</example>
                <example>Our higher needs become more important.</example>
                <example>If any further clarification is needed please feel free to contact me.</example>
                <example>Please if any more information is needed please call me x34710.</example>
                <example>If it is not what you wanted please let me know.</example>
                <example>If further information is needed please feel free to contact me.</example><!-- #3223 -->
                <example>... that may have additional needs please let me know.</example><!-- #3223 -->
                <example>If it is not what you wanted please let me know.</example><!-- #3223 -->
                <example>If you need any research needs please contact Avril Forster X58768...</example><!-- #3223 contact/B-NP-singular -->
                <example>He wants auto-renew turned off.</example>
<!-- False negative --><example>I think you will want <marker>install</marker> SpringScanner.</example>
<!-- Testrules says no error, but the GUI finds an error
                <example type="triggers_error">Try Add a Device and just let it search for a while.</example>
-->
            </rule>

        </rulegroup>

        <rulegroup id="THERE_VBP_NN" name="There are (is) a ..."><!-- #1924 -->
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <marker>
                        <token regexp="yes">are|exist</token>
                    </marker>
                    <token regexp="yes">an?|the</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes" chunk="E-NP-singular"/>
                    <token>of</token>
                    <token postag="NNP?S" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <marker>
                        <token regexp="yes">are|exist</token>
                    </marker>
                    <token regexp="yes">an?|the</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes" chunk="E-NP-singular"/>
                    <token>of</token>
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <marker>
                        <token regexp="yes">are|exist</token>
                    </marker>
                    <token regexp="yes">an?|the</token>
                    <token postag="NN(:UN?)?" postag_regexp="yes" chunk="E-NP-singular">
                        <exception postag="NNP?S|JJ" postag_regexp="yes" />
                        <exception regexp="yes">handful|set|lot|many|couple|number|bunch|plethora|multitude|variety|plenty|total|range|infinitude|few|class|pair|myriad|array|abundance</exception>
                    </token>
                </pattern>
                <message>Possible agreement error. Did you mean <suggestion><match no="3" postag="VBZ"/></suggestion>?</message>
                <example correction="is">There <marker>are</marker> a theory which states that the earth is flat.</example>
                <example correction="is">There <marker>are</marker> a dog.</example>
                <example correction="is">There <marker>are</marker> a monument.</example>
                <example correction="is">There <marker>are</marker> a blackboard, a lamp, a door, two windows...</example><!-- https://esllibrary.com/blog/there-is-there-are -->
                <example correction="exists">There <marker>exist</marker> a school for 150 pupils and a library.</example>
                <example correction="exists">There <marker>exist</marker> a proposition to create a beltway around the Black Sea.</example>
                <example correction="exists">There <marker>exist</marker> a river that runs from Pittsburgh down into West Virginia.</example>
                <example>There is a dog.</example>
                <example>There are a lot out there.</example>
                <example>There are a minority of Kashmiris living there also.</example>
                <example>There are a myriad of locations to explore.</example>
                <example>There are a pair of dormers with sashes.</example>
                <example>There are a class of image artifacts specific to helical acquisition.</example>
                <example>There are a pair of rectangular towers supported by pillars on both ends.</example>
                <example>There is a theory which states that the earth is flat.</example>
                <example>There exists a river that runs from Pittsburgh down into West Virginia.</example>
                <example>There are people who favor this one.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <token regexp="yes">are|exist</token>
                    <marker>
                        <token postag="NN(:UN)?" postag_regexp="yes" chunk="E-NP-singular"/>
                    </marker>
                    <token>of</token>
                    <token postag="NNP?S" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <token regexp="yes">are|exist</token>
                    <marker>
                        <token postag="NN(:UN)?" postag_regexp="yes" chunk="E-NP-singular"/>
                    </marker>
                    <token>of</token>
                    <token chunk="B-NP-plural"/>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <token regexp="yes">are|exist</token>
                    <marker>
                        <token postag="NN(:UN)?" postag_regexp="yes" chunk="E-NP-singular" skip="-1"/>
                    </marker>
                    <token>and</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>there</token>
                    <token regexp="yes">are|exist</token>
                    <marker>
                        <token postag="NN(:UN)?" postag_regexp="yes" chunk="E-NP-singular"/>
                    </marker>
                    <token postag="WP"/>
                    <token postag="VBZ" chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- although there are airbag recalls -->
                    <token postag="SENT_START|CC" postag_regexp="yes" />
                    <token>there</token>
                    <token regexp="yes">are|exist</token>
                    <token chunk="E-NP-singular" postag="NN(:UN)?" postag_regexp="yes" />
                    <token postag="NNS" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START|CC" postag_regexp="yes" />
                    <token>there</token>
                    <token regexp="yes">are|exist</token>
                    <marker>
                        <token postag="NN(:UN)?" postag_regexp="yes" chunk="E-NP-singular">
                            <exception postag="NNP?S|JJ|CD|DT" postag_regexp="yes" regexp="yes">(?!time$).+</exception>
                            <exception regexp="yes">handful|set|lot|many|couple|number|bunch|plethora|multitude|variety|plenty|total|range|infinitude|few|class|pair|myriad|array|abundance</exception>
                            <exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                        </token>
                    </marker>
                </pattern>
                <message suppress_misspelled="yes">Possible agreement error. Did you mean <suggestion><match no="4" postag_replace="NNS" postag="N.*" postag_regexp="yes" /></suggestion>?</message>
                <example correction="reports">There are <marker>report</marker> that prostitution has become a new organised crime in Kosovo.</example>
                <example correction="ochreae">There are <marker>ochrea</marker> up to 12 centimeters in length.</example>
                <example correction="examples">There are <marker>example</marker> of every kind of famous women from every period.</example>
                <example correction="arguments">There are <marker>argument</marker> whether he is the best top scorer of Ukrainian First League.</example>
                <example correction="circles">There are <marker>circle</marker> outside the triangle that have letters inscribed on them.</example>
                <example correction="times">I am both happy with it but also unhappy with it because there are <marker>time</marker> that it just frustrates me.</example>
                <example correction="texts">Right now there are <marker>text</marker> in the UI that could be expanded without issue.</example>
                <example>There are reports that prostitution has become a new organised crime in Kosovo.</example>
                <example>There are government and privately owned educational institutes.</example>
                <example>There are no recalls or complaints on the Civic airbag system, although there are airbag recalls on other vehicles.</example>
            </rule>
        </rulegroup>

    </category>

    <!-- ====================================================================== -->
    <!-- Collocations -->
    <!-- ====================================================================== -->
    <category id="COLLOCATIONS" name="Collocations" type="grammar">
        <rulegroup id="TAKE_INTO_ACCOUNT" name="take into account">
            <url>https://www.merriam-webster.com/dictionary/take%20into%20account</url>
            <rule>
                <pattern>
                    <token inflected="yes">take</token>
                    <token chunk_re="E-NP.*" min="0" />
                    <token>into</token>
                    <marker>
                        <token>count</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>account</suggestion>?</message>
                <example correction="account">I will take it into <marker>count</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">take</token>
                    <token chunk_re="E-NP.*" min="0" />
                    <marker>
                        <token>in</token>
                        <token>to</token>
                    </marker>
                    <token>account</token>
                </pattern>
                <message>The correct preposition here seems to be <suggestion>into</suggestion>?</message>
                <example correction="into">I will take it <marker>in to</marker> account.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BETTER_SAFE_THAN_SORRY" name="Better safe than sorry">
            <url>https://www.merriam-webster.com/dictionary/%28it%27s%29%20better%20%28to%20be%29%20safe%20than%20sorry</url>
            <rule>
                <antipattern>
                    <token>better</token>
                    <token>to</token>
                    <token>be</token>
                    <token>safe</token>
                    <token>than</token>
                    <token>sorry</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">b[ea]tter</token>
                    <token regexp="yes">too?</token>
                    <token regexp="yes">bee?</token>
                    <token regexp="yes">sa[fv]e</token>
                    <token regexp="yes">th[ae]n</token>
                    <token>sorry</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>better to be safe than sorry</suggestion>?</message>
                <example correction="better to be safe than sorry">It's <marker>batter to be save then sorry</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>better</token>
                    <token min="0">be</token>
                    <token>safe</token>
                    <token>than</token>
                    <token>sorry</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">b[ea]tter</token>
                    <token min="0">be</token>
                    <token regexp="yes">sa[fv]e</token>
                    <token regexp="yes">th[ae]n</token>
                    <token>sorry</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>better \2 safe than sorry</suggestion>?</message>
                <example correction="Better safe than sorry"><marker>Batter save then sorry</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="TO_WHO_IT_MAY_CONCERN" name="To whom it may concern">
            <antipattern>
                <token>to</token>
                <token>whom</token>
                <token>it</token>
                <token>may</token>
                <token>concern</token>
            </antipattern>
            <pattern>
                <token regexp="yes">too?</token>
                <token regexp="yes">whom?</token>
                <token regexp="yes">i[stn]</token>
                <token regexp="yes">ma?y|might</token>
                <token regexp="yes">concerns?</token>
            </pattern>
            <message>Did you mean the introductory phrase <suggestion>to whom it may concern</suggestion>?</message>
            <url>https://www.lexico.com/definition/to_whom_it_may_concern</url>
            <example correction="To whom it may concern"><marker>To who it my concern</marker>,</example>
        </rule>
        <rulegroup id="SALAAM_ALAIKUM" name="salaam alaikum">
            <rule>
                <antipattern>
                    <token>salaam</token>
                    <token>alaikum</token>
                </antipattern>
                <pattern>
                    <token>as</token>
                    <token regexp="yes">saa?ll?aa?mu?</token>
                    <token regexp="yes">all?a?i?kum</token>
                </pattern>
                <message>Did you mean the Arabic phrase <suggestion>assalamu alaikum</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/assalamu%20alaikum</url>
                <example correction="Assalamu alaikum"><marker>As salaamu alaikum</marker>, my friend.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">as?sall?aa?mu-?all?ai?kum</token>
                </pattern>
                <message>Did you mean the Arabic phrase <suggestion>assalamu alaikum</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/assalamu%20alaikum</url>
                <example correction="Assalamu alaikum"><marker>Assalaamualaikum</marker>, my friend.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>salaam</token>
                    <token>alaikum</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">a?saa?ll?aa?mu?</token>
                    <token regexp="yes">all?a?i?kum</token>
                </pattern>
                <message>Did you mean the Arabic phrase <suggestion>salaam alaikum</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/salaam%20alaikum</url>
                <example correction="Salaam alaikum"><marker>Salam alaikum</marker>, my friend.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>assalamu</token>
                    <token>alaikum</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">ass?aa?ll?aa?mu?</token>
                    <token regexp="yes">all?a?i?kum</token>
                </pattern>
                <message>Did you mean the Arabic phrase <suggestion>assalamu alaikum</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/assalamu%20alaikum</url>
                <example correction="Assalamu alaikum"><marker>Asalamu alaikum</marker>, my friend.</example>
            </rule>
        </rulegroup>
        <rule id="DID_A_MISTAKE" name="made (did) a mistake">
            <pattern>
                <marker>
                    <token regexp="yes">
                        did|done
                        <exception scope="previous" postag="W.*|SENT_START" postag_regexp="yes" />
                    </token>
                </marker>
                <token regexp='yes'>an?|some</token>
                <token regexp='yes'>mistakes?|errors?</token>
            </pattern>
            <message>Did you mean <suggestion>made</suggestion>?</message>
            <example correction='made'>I <marker>did</marker> a mistake</example>
            <example>When did a mistake appear?</example>
            <example>Did a mistake make it worse?</example>
        </rule>
        <rule id="HAVE_CD_YEARS" name="Wrong phrase: have x years old (be x years old)">
            <pattern>
                <token inflected="yes">have</token>
                <token postag="CD"/>
                <token>years</token>
                <token>old</token>
            </pattern>
            <message>This phrase is used with 'be'.</message>
            <suggestion><match no="1" postag_regexp="yes" postag="VB.*">be</match> <match no="2"/> <match no="3"/> <match no="4"/></suggestion>
            <short>Wrong phrase</short>
            <example>I am 25 years old.</example>
            <example correction="is 25 years old">He <marker>has 25 years old</marker>.</example>
        </rule>
        <rule id="IN_NOWADAYS" name="Wrong phrase: 'in nowadays' (nowadays)">
            <pattern>
                <token>in</token>
                <token>nowadays</token>
            </pattern>
            <message>\2 is used without 'in'.</message>
            <suggestion>\2</suggestion>
            <short>Wrong phrase</short>
            <example correction="Nowadays"><marker>In nowadays</marker>, many organizations are jumping in the social websites bandwagon.</example>
            <example>Nowadays, many organizations are jumping in the social websites bandwagon</example>
        </rule>
        <rulegroup id="SUPERIOR_THAN" name="Wrong preposition: 'superior/inferior than' (superior/inferior to)">
            <rule>
                <pattern>
                    <token regexp="yes"><exception scope="previous">more</exception>superior|inferior</token>
                    <marker>
                        <token>than</token>
                    </marker>
                </pattern>
                <message>The adjective '\1' is normally used with <suggestion>to</suggestion>.</message>
                <short>Wrong collocation</short>
                <example correction="to">He feels inferior <marker>than</marker> us.</example>
            </rule>
            <rule>
                <pattern>
                    <token>more</token>
                    <token regexp="yes">superior|inferior</token>
                    <token>than</token>
                </pattern>
                <message>The adjective '\1' is normally used with 'to' and does not require 'more' (implicit comparative). Most likely, you should write: <suggestion>\2 to</suggestion>.</message>
                <short>Wrong collocation</short>
                <example correction="inferior to">He feels <marker>more inferior than</marker> us.</example>
                <example>He feels inferior to them.</example>
            </rule>
        </rulegroup>
        <rule id="OBVIOUS_FOR" name="Wrong preposition: 'obvious for' (obvious to)">
            <pattern>
                <token>obvious</token>
                <token>for</token>
                <token postag="PRP|NN.*" postag_regexp="yes"><exception regexp="yes">he|years|decades|months</exception></token>
            </pattern>
            <message>The adjective '\1' is normally used with 'to'.</message>
            <suggestion>\1 to \3</suggestion>
            <example correction="obvious to me">It's <marker>obvious for me</marker>.</example>
        </rule>
        <rule id="TODAY_MORNING" name="Wrong phrase: 'today morning' (this morning)">
            <pattern>
                <token>today</token>
                <token regexp="yes">morning|afternoon|evening</token>
            </pattern>
            <message>This is a non-standard collocation. Normally, <suggestion>this \2</suggestion> is used.</message>
            <short>Wrong collocation</short>
            <example correction="this evening">I'm going home <marker>today evening</marker>.</example>
        </rule>
        <rule id="YESTERDAY_NIGHT" name="Wrong phrase: 'yesterday night' (last night)">
            <pattern>
                <token>yesterday</token>
                <token>night</token>
            </pattern>
            <message>This is a non-standard collocation. Normally, <suggestion>last night</suggestion> is used.</message>
            <short>Wrong collocation</short>
            <example correction="last night">I was there <marker>yesterday night</marker>.</example>
        </rule>
        <rule id="TODAY_NIGHT" name="Wrong phrase: 'today night' (tonight)">
            <pattern>
                <token>today</token>
                <token>night</token>
            </pattern>
            <message>This is a non-standard collocation. Normally, <suggestion>tonight</suggestion> is used instead.</message>
            <short>Wrong collocation</short>
            <example correction="tonight">I'm going fishing <marker>today night</marker>.</example>
        </rule>
        <rule id="WORRY_FOR" name="Wrong collocation: 'worry for' (worry about)">
            <antipattern>
                <token skip="2">for</token>
                <token regexp="yes">time|seconds?|minutes?|hours?|weeks?|months?|years?|days?|sake</token>
            </antipattern>
            <antipattern>
                <token>for</token>
                <token>now</token>
            </antipattern>
            <antipattern>
                <token>for</token>
                <token skip="1">no</token>
                <token>reason</token>
            </antipattern>
            <antipattern>
                <token postag="DT|JJ|PRP\$" postag_regexp="yes"/>
                <token inflected="yes">worry</token>
            </antipattern>
            <pattern>
                <token inflected="yes">worry</token>
                <token>for</token>
            </pattern>
            <message>The verb 'worry' does not normally take the preposition 'for'. Did you mean <suggestion>\1 about</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="worry about">Don't <marker>worry for</marker>.</example>
            <example>I am worried about her.</example>
            <example>Facebook has worried for a long time about falling share amongst teenagers.</example>
            <example>I would not worry for now.</example>
        </rule>
        <rule id="SINKING_HIP" name="a sinking (s)hip">
            <pattern case_sensitive="yes">
                <token>sinking</token>
                <marker><token regexp="yes">[hs]ip</token></marker>
            </pattern>
            <message>Did you mean <suggestion>ship</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="ship">The idiom 'like rats fleeing a sinking <marker>hip</marker> is used in reference to people abandoning an enterprise once it seems likely to fail.</example>
        </rule>
  <rulegroup id="COLLOCATION_ERRORS_BOKOMARU" name="Common collocation errors">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
      <url>https://www.dailywritingtips.com/apply-to-apply-for-and-apply-with/</url>
      <short>Collocation error</short>
    <rule id='APPLY_TO' name='Collocation: apply to/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token skip="2">same</token>
            <token inflected="yes">apply</token>
        </antipattern>
      <pattern>
          <token  inflected="yes">apply</token>
          <token>to</token>
          <token min='0' postag="DT"/>
          <token min='0'>more</token>
          <token regexp="yes">assistance|welfare|funds|membership</token>
      </pattern>
      <message>You can apply "to" a company or university, but you apply "for" \4.</message>
      <suggestion>\1 for <match no='3' include_skipped='all'/> <match no='4' include_skipped='all'/> \5</suggestion>
      <example correction='apply for welfare'>You can <marker>apply to welfare</marker>.</example>
      <example>You can apply to the job online.</example>
      <example correction='apply for more assistance'>You can <marker>apply to more assistance</marker>.</example>
      <example>The same would apply to funds received from a shipper who is under balanced.</example>
    </rule>
    <rule id='APPLY_FOR' name='Collocation: apply for/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token  inflected="yes">apply</token>
          <token>for</token>
          <token postag_regexp="yes" postag="PRP\$|DT"/>
          <token regexp="yes">company|university|college|school</token>
      </pattern>
      <message>You can apply "for" a job or welfare, but you apply "to" a \4.</message>
      <suggestion>\1 to \3 \4</suggestion>
      <example correction='apply to another University'>You try and <marker>apply for another University</marker>!</example>
    </rule>
    <rule id='VERB_IN_AT' name='Collocation: Sit in/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token postag_regexp="yes" postag="PRP|NNP"/>
          <token regexp="yes" inflected="yes">sit|eat|work</token>
          <token>in</token>
          <token postag_regexp="yes" postag="PRP\$|DT"/>
          <token>desk</token>
      </pattern>
      <message>The usual preposition for activities involving a desk is "at".</message>
      <suggestion>\1 \2 at \4 \5</suggestion>
      <example correction='I eat at my desk'>At lunch, I eat with my colleague working or <marker>I eat in my desk</marker> alone.</example>
    </rule>
    <rule id='BETWEEN_TO_AND' name='Collocation: Between ... to/and ...'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>between</token>
          <token postag='CD'/>
          <token>to</token>
          <token postag='CD'/>
      </pattern>
      <message>After "between", use "and", not "to".</message>
      <suggestion>\1 \2 and \4</suggestion>
      <example correction='between three and five'>Children <marker>between three to five</marker> are cute.</example>
      <example>...aspen parkland, a biome transitional between prairie to the south and boreal forest to the north.</example>
      <example>...causing the electrostatic interactions between them to be strong.</example>
    </rule>
    <rule id='WELL_IN_ON' name='Collocation: Well in/on'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes" inflected="yes">do|be</token>
          <token regexp="yes">well|badly</token>
          <token>in</token>
          <token regexp="yes">exams|tests|examinations</token>
      </pattern>
      <message>Use "\2 on" with "\4". Try this: <suggestion>\1 \2 on \4</suggestion>.</message>
      <example correction='do badly on tests'>I <marker>do badly in tests</marker> because I'm lazy.</example>
    </rule>
    <rule id='ADMITTED_AT_TO' name='Collocation: Admitted at/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern case_sensitive="yes">
          <token>admitted</token>
          <token>at</token>
          <token regexp="yes">\p{Lu}.+</token>
          <token regexp="yes">University|College|Hospital|Clinic</token>
      </pattern>
      <message>The usual collocation for "admit" is "to", not "at".</message>
      <suggestion>\1 to \3 \4</suggestion>
      <example correction='admitted to Princeton College'>On his way to an interview to be <marker>admitted at Princeton College</marker>, Quentin and his childhood best friend James arrive on a crime scene where they find the corpse of the man who was supposed to interview the former, along with a very nonchalant paramedic.</example>
    </rule>
    <rule id='SUMMON_AT_TO' name='Collocation: Summon at/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">summon</token>
          <token>at</token>
          <token regexp="yes">an?|the</token>
          <token min='0' regexp="yes">very|really</token>
          <token min='0' postag="JJ">
            <exception regexp='yes'>very|really</exception></token>
          <token postag_regexp="yes" postag="NN(:UN?)?">
            <exception regexp="yes">moment|time</exception></token>
      </pattern>
      <message>The usual collocation is "summon to" a place, or "summon at" a time/moment. Use "to" instead: <suggestion>\1 to \3 <match no='4' include_skipped='all'/> <match no='5' include_skipped='all'/> \6</suggestion>.</message>
      <example correction='summoned to an examination'>Without him knowing, Quentin was <marker>summoned at an examination</marker> in order to get his admission to this institution.</example>
      <example correction='summoned to a particular examination'>Without him knowing, Quentin was <marker>summoned at a particular examination</marker> in order to get his admission to this institution.</example>
      <example correction='summoned to a very particular examination'>Without him knowing, Quentin was <marker>summoned at a very particular examination</marker> in order to get his admission to this institution.</example>
    </rule>
    <rule id='IN_THE_INTERNET' name='Collocation: in/on the Internet'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
        <token regexp="yes">internet|website|TV|television|web</token>
        <token>'s</token>
      </antipattern>
      <antipattern><!-- in the internet archive -->
        <token>in</token>
        <token>the</token>
        <token chunk="B-NP-singular" />
        <token chunk_re="[IE]-NP-singular" />
      </antipattern>
      <antipattern>
        <token>internet</token>
        <token>age</token>
      </antipattern>
      <antipattern>
        <token>on</token>
        <token>in</token>
      </antipattern>
      <pattern>
          <token>in</token>
          <token>the</token>
          <token chunk="E-NP-singular" regexp="yes">internet|website|TV|television|web</token>
      </pattern>
      <message>The usual collocation for technology is "on", not "in".</message>
      <suggestion>on the \3</suggestion>
      <example correction='on the internet'>Land reclamation is <marker>in the internet</marker>.</example>
      <example>Land reclamation is <marker>on the internet</marker>.</example>
      <example>... went on to star in the <marker>TV series</marker> Murder, She Wrote as Jessica Fletcher.</example>
      <example>There are many jobs available in the <marker>computer industry</marker>.</example>
      <example>It is stored in the computer's memory.</example>
      <example>In the internet age the use of the term...</example>
    </rule>
    <rule id='ACCOMPANY_WITH' name='Collocation: accompany with/by'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">accompany</token>
          <token>with</token>
      </pattern>
      <message>The usual collocation for "accompany" is "by", not "with".</message>
      <suggestion>\1 by</suggestion>
      <example correction='accompany by'>Land reclamation is always <marker>accompany with</marker> pollution.</example>
    </rule>
    <rule id='POPULAR_AMONG_WITH' name='Collocation: Popular among/with' default='off'>
    <!-- XXX although 'popular with' is more common, 'popular among' has widespread usage with a slightly different meaning -->
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>popular</token>
          <token>among</token>
      </pattern>
      <message>The usual collocation for "popular" is "with", not "among".</message>
      <suggestion>popular with</suggestion>
      <example correction='popular with'>John's <marker>popular among</marker> his friends.</example>
    </rule>
    <rule id='PLAY_WITH_FOR' name='Collocation: Play with/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token inflected="yes">play</token>
          <token min="0" postag="RB"/>
          <token>with</token>
        </marker>
          <token postag_regexp="yes" postag="DT|NNP|PRP\$?"/>
          <token>team</token>
      </pattern>
      <message>Use "for" with "play".</message>
      <suggestion>\1 <match no='2' include_skipped='all'/> for</suggestion>
      <example correction='plays regularly for'>He <marker>plays regularly with</marker> that team.</example>
    </rule>
    <rule id='OPPOSITE_FROM_TO' name='Collocation: Opposite from/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>opposite</token>
          <token>from</token>
          <token postag_regexp="yes" postag="DT|NNP|PRP\$?"/>
      </pattern>
      <message>Use "to" with "opposite".</message>
      <suggestion>\1 to \3</suggestion>
      <example correction='opposite to ours'>Their house is <marker>opposite from ours</marker>.</example>
    </rule>
    <rule id='MARRY_WITH' name='Collocation: Marry with/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
        <token skip="5">married</token>
        <token regexp="yes">child(ren)?|daughters?|sons?|bab(y|ies)|kids?|forms?|rites?</token>
      </antipattern>
      <pattern>
        <token><exception postag="PRP|WP|NNP" postag_regexp="yes"/></token>
        <marker>
          <token>married</token>
          <token>with</token>
        </marker>
          <token postag_regexp="yes" postag="DT|NNP|PRP.*"/>
      </pattern>
      <message>The correct expression is "being married to somebody".</message>
      <suggestion>\2 to</suggestion>
      <example correction='married to'>Angela was <marker>married with</marker> a rich man.</example>
      <example>She is married with a child of her own.</example>
      <example>Tom is married with a three-year-old daughter.</example>
      <example>I would say being married with a kid is the happiest I've been in my life.</example>
      <example>They have been married with Catholic rites five years ago.</example>
    </rule>
    <rule id='PREFER_OVER_TO' name='Collocation: Prefer over/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">prefer</token>
          <token postag="JJ.*" postag_regexp="yes" min="0" />
          <token postag_regexp="yes" postag="NN.*"/>
          <token>over</token>
          <token postag="JJ.*" postag_regexp="yes" min="0" />
          <token postag_regexp="yes" postag="NN.*"/>
      </pattern>
      <message>Consider using "to" with "prefer".</message>
      <suggestion>\1 \2 \3 to \5 \6</suggestion>
      <url>https://dictionary.cambridge.org/grammar/british-grammar/prefer</url>
      <example correction='prefers overalls to skirts'>She much <marker>prefers overalls over skirts</marker>, because she enjoys playing in the mud</example>
    </rule>
    <rule id='PREFER_INSTEAD_OF_TO' name='Collocation: Prefer instead of/to'>
      <pattern>
          <token inflected="yes">prefer</token>
          <token postag="JJ.*" postag_regexp="yes" min="0" />
          <token postag_regexp="yes" postag="NN.*"/>
          <token>instead</token>
          <token>of</token>
          <token postag="JJ.*" postag_regexp="yes" min="0" />
          <token postag_regexp="yes" postag="NN.*"/>
      </pattern>
      <message>Consider using "to" with "prefer".</message>
      <suggestion>\1 \2 \3 to \6 \7</suggestion>
      <url>https://dictionary.cambridge.org/grammar/british-grammar/prefer</url>
      <example correction='prefers overalls to skirts'>She much <marker>prefers overalls instead of skirts</marker>, because she enjoys playing in the mud</example>
    </rule>
    <rule id='TALK_AT_TO' name='Collocation: Talk at/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">talk</token>
          <token>at</token>
          <token postag="NNP"/>
      </pattern>
      <message>Talking at someone means they aren't listening. You probably meant this: <suggestion>\1 to \3</suggestion> or <suggestion>\1 with \3</suggestion>.</message>
      <example correction='talking to Charles|talking with Charles'>I was <marker>talking at Charles</marker> about</example>
    </rule>
    <rule id='STRESS_OUT_FOR_OVER' name='Collocation: Stress out for/over'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">stress</token>
          <token>out</token>
          <token>for</token>
          <token>everything</token>
      </pattern>
      <message>The usual preposition in this context is "over" or "about".</message>
      <suggestion>\1 \2 over \4</suggestion>
      <suggestion>\1 \2 about \4</suggestion>
      <example correction='stressing out over everything|stressing out about everything'>I have to stop <marker>stressing out for everything</marker>.</example>
    </rule>
    <rule id='TIRED_OF_FROM' name='Collocation: Tired of/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>tired</token>
          <token>of</token>
          <token min="0">the</token>
          <token>last</token>
          <token>night</token>
      </pattern>
      <message>The usual preposition in this context is "from".</message>
      <suggestion>tired from last night</suggestion>
      <example correction='tired from last night'>I am always <marker>tired of the last night</marker></example>
    </rule>
    <rule id='REPERCUSSION_WITH_ON' name='Collocation: Repercussion with/on'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">repercussion</token>
          <token>with</token>
      </pattern>
      <message>The usual preposition for "repercussion" is "on", not "with".</message>
      <suggestion>\1 on</suggestion>
      <example correction='repercussions on'>This action has <marker>repercussions with</marker> the entire community.</example>
    </rule>
    <rule id='LOOK_AT_TO' name='Collocation: Look at/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">look</token>
          <token>at</token>
          <token regexp='yes'>a|the</token>
          <token>mirror</token>
      </pattern>
      <message>The usual preposition for "mirror" is "in", not "at".</message>
      <suggestion>\1 in a mirror</suggestion>
      <example correction='looking in a mirror'>I suppose what makes me unusual is the fact that I can put on make up without <marker>looking at a mirror</marker>.</example>
    </rule>
    <rule id='PASSIONATE_BY_ABOUT' name='Collocation: Passionate by/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">passionated?</token>
          <token>by</token>
      </pattern>
      <message>The usual preposition for "passionate" is "about", not "by".</message>
      <suggestion>passionate about</suggestion>
      <example correction='passionate about'>I am very <marker>passionated by</marker> my job.</example>
    </rule>
    <rule id='PASSIONATE_BY_ABOUT_2' name='Collocation: passionate by/about (stricter)' default='off'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
      <marker>
          <token postag_regexp="yes" postag="VB[PZD]|R[BP]"/>
          <token>passionate</token>
          <token>by</token>
      </marker>
          <token min="0" postag_regexp="yes" postag="DT|PRP\$"/>
          <token postag_regexp="yes" postag="NN:UN?"/>
      </pattern>
      <message>The usual preposition for "passionate" is "about", not "by".</message>
      <suggestion>\1 passionate about</suggestion>
      <suggestion>\1 inspired by</suggestion>
      <example correction='really passionate about|really inspired by'>I'm <marker>really passionate by</marker> the chocolate, it's my vocation.</example>
    </rule>
    <rule id='IN_THE_OUTSIDE' name='Collocation: in/on the outside'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>in</token>
          <token>the</token>
          <token>outside</token>
        </marker>
          <token postag_regexp="yes" postag="IN|SENT_END|,"/>
      </pattern>
      <message>The usual preposition for "outside" is "on", not "in".</message>
      <suggestion>on the outside</suggestion>
      <example correction='on the outside'>There are white windows <marker>in the outside</marker> of the house.</example>
    </rule>
    <rule id='IN_A_ISLAND' name='Collocation: in/on a island'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>in</token>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
          <token min="0" postag="JJ"/>
          <token>island</token>
        </marker>
          <token>
            <exception postag_regexp="yes" postag="N.*"/></token>
      </pattern>
      <message>The usual preposition for "island" is "on", not "in".</message>
      <suggestion>on \2 <match no='3' include_skipped='all'/> island</suggestion>
      <url>https://languagetool.org/insights/post/indefinite-articles/</url>
      <example correction='on a small island'>Our house is located <marker>in a small island</marker> surrounded by ices. There are no other houses around us.</example>
    </rule>
    <rule id='CRAZY_ON_WITH' name='Collocation: Crazy on/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes" inflected="yes">drive|make</token>
          <token regexp="yes">me|you|him|her|us|them</token>
    <!-- object case pronouns -->
        <marker>
          <token>crazy</token>
          <token>on</token>
        </marker>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
          <token postag_regexp="yes" postag="N.*">
            <exception regexp="yes">drug|medicine|narcotic|hallucinogen</exception></token>
      </pattern>
      <message>The usual preposition for "crazy" is "with", not "on".</message>
      <suggestion>crazy with</suggestion>
      <example correction='crazy with'>What makes me <marker>crazy on</marker> this dwelling is that some time we are higher than the clouds.</example>
    </rule>
    <rule id='HIDE_OF_FROM' name='Collocation: Hide of/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token inflected="yes">hide</token>
          <token>of</token>
        </marker>
          <token postag_regexp="yes" postag="DT|PRP\$|JJ|VBG"/>
          <token/>
      </pattern>
      <message>The usual preposition for "\1" is "from", not "\2".</message>
      <suggestion>\1 from</suggestion>
      <example correction='hide from'>This is very useful to <marker>hide of</marker> prying tourists.</example>
    </rule>
    <rule id='CONCENTRATE_WITH_ON' name='Collocation: Concentrate with/on'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">be</token>
          <marker>
              <token regexp="yes">concentrat(?:ing|ed)</token>
              <token>
                  <exception regexp="yes">on|in|at</exception></token><!-- MFU 2019-08-30. Oxford Collocations Dictionary for students of English, 2nd edition -->
          </marker>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
      </pattern>
      <message>The usual preposition for "concentrate" is "on", "in", or "at", not "\3". Do you mean <suggestion>\2 on</suggestion>, <suggestion>\2 in</suggestion>, or <suggestion>\2 at</suggestion>?</message>
      <example correction='concentrated on|concentrated in|concentrated at'>I know my life is not very interesting because I am <marker>concentrated with</marker> my studies.</example>
      <example>I know my life is not very interesting because I am <marker>concentrated on</marker> my studies.</example>
      <example>Over 99.94% of an atom's mass is concentrated in the nucleus.</example>
    </rule>
    <rule id='DIFFERENCE_ABOUT_BETWEEN' name='Collocation: Difference about/between'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>difference</token>
          <token>about</token>
        </marker>
          <token regexp='yes'>an?|the</token>
          <token/>
          <token>and</token>
          <token regexp='yes'>an?|the</token>
          <token/>
      </pattern>
      <message>The usual preposition for "difference" is "between", not "about".</message>
      <suggestion>difference between</suggestion>
      <example correction='difference between'>There is not big <marker>difference about</marker> the week and the weekend to me.</example>
    </rule>
    <rule id='IMPORTANT_WITH_TO' name='Collocation: Important with/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>important</token>
          <token>with</token>
          <token postag_regexp="yes" postag="NNP|PRP">
            <exception regexp="yes">an?|all|many|some|multiple|most</exception></token>
      </pattern>
      <message>The usual preposition for "\1" is "to", not "with".</message>
      <suggestion>\1 to \3</suggestion>
      <example correction='important to you'>Family who is closest and <marker>important with you</marker>.</example>
    </rule>
    <rule id='CONSIST_TO_OF' name='Collocation: Consist to/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">consist</token>
          <token>to</token>
      </pattern>
      <message>The usual preposition for "\1" is "of", not "to".</message>
      <suggestion>\1 of</suggestion>
      <example correction='consists of'>There is a program in medicine and this program <marker>consists to</marker> diagnostic people to know if  their body works well.</example>
    </rule>
    <rule id='IN_ON_BIRTHDAY' name='Collocation: in/on birthday'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <marker>
          <token>in</token>
          <token postag="PRP$"/>
          <token>birthday</token>
          </marker>
          <token>
            <exception regexp="yes">suits?|specials?</exception></token>
      </pattern>
      <message>The usual preposition for "birthdays" is "on".</message>
      <suggestion>on \2 \3</suggestion>
      <example correction='on my birthday'>My favorite thing is bag, I love my bag very much because it is a gift from my girl friend <marker>in my birthday</marker>, it is a red bag, I have kept it for 2 years and forever.</example>
      <example>In its birthday special "Seven Ages of Murdoch", the site tells Murdoch's life story in seven animated cartoons.</example>
    </rule>
    <rule id='PARTICIPATE_TO_IN' name='Collocation: Participate to/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
          <token>to</token>
          <token regexp='yes'>a|some|any</token>
          <token>degree</token>
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">participate</token>
          <token>to</token>
        </marker>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
      </pattern>
      <message>The usual preposition for "\1" is "in", not "to".</message>
      <suggestion>\1 in</suggestion>
      <example correction='participate in'>They <marker>participate to</marker> many activities, which contains organize laboratory experiments, supervise students research, conducting many lectures and of course, writing textbooks.</example>
    </rule>
    <rule id='ON_IN_A_MEETING' name='Collocation: on/in a meeting'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token postag_regexp="yes" postag="NNP|PRP"/>
          <token inflected="yes">be</token>
          <token>on</token>
          <token min="0" postag="DT"/>
          <token>meeting</token>
        </marker>
          <token>
            <exception postag_regexp="yes" postag="NN:UN?"/></token>
      </pattern>
      <message>The usual preposition for "\4 \5" is "in", not "on".</message>
      <suggestion>\1 \2 in <match no='4' include_skipped='all'/> meeting</suggestion>
      <example correction='I was in a meeting'><marker>I was on a meeting</marker>.</example>
    </rule>
    <rule id='IN_AT_THE_MORNING' name='Collocation: at/in the morning'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>at</token>
          <token>the</token>
          <token regexp="yes">morning|afternoon</token>
        </marker>
          <token postag_regexp="yes" postag="CC|SENT_END"/>
      </pattern>
      <message>The usual preposition for "\3" is "in", not "at".</message>
      <suggestion>in the \3</suggestion>
      <example correction='in the morning'>I hardly ever drinks coffee <marker>at the morning</marker> because this make me crazy.</example>
    </rule>
    <rule id='IN_ON_A_TEAM' name='Collocation: in/on a team'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>the</token>
          <token regexp="yes" skip="-1">person|guy|chap|one</token>
    <!-- Singular only -->
          <token skip="-1">need</token>
    <!-- Present tense only-->
        <marker>
          <token>in</token>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
          <token>team</token>
        </marker>
      </pattern>
      <message>The usual preposition for "team" is "on", not "in".</message>
      <suggestion>on \5 \6</suggestion>
      <example correction='on his team'>I’m the one Frank Catania need <marker>in his team</marker>.</example>
    </rule>
    <rule id='ADDICTION_TO_OF' name='Collocation: addiction to/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>addiction</token>
          <token>of</token>
          <token>drugs</token>
      </pattern>
      <message>The usual preposition for "\1" is "to". Did you mean <suggestion>\1 to \3</suggestion>?</message>
      <example correction='addiction to drugs'>I would like to work with people who have an <marker>addiction of drugs</marker>.</example>
    </rule>
    <rule id='ON_IN_CHARGE_OF' name='Collocation: on/in charge of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">is|was</token>
          <token regexp='yes'>an?|the</token>
          <token>person</token>
          <token>on</token>
          <token>charge</token>
          <token regexp="yes">of|to</token>
      </pattern>
      <message>The usual preposition for "\5" is "in". Did you mean <suggestion>\1 \2 \3 in charge of</suggestion>?</message>
      <example correction='is the person in charge of'>Julie <marker>is the person on charge to</marker> the security.</example>
    </rule>
    <!--rule> XXX Because I only think about the summer season, I only work for the summer holidays. XXX This is correct. Enable only after improvement.
      <pattern>
          <token>for</token>
          <token regexp='yes'>an?|the</token>
          <token regexp="yes">winter|spring|summer|fall</token>
          <token regexp="yes">vacation|holiday|holidays</token>
      </pattern>
      <message>The usual preposition for \4 is "during." Did you mean <suggestion>during the \3 \4</suggestion>?</message>
      <example correction='during the summer holidays'>I work only <marker>for the summer holidays</marker>.</example>
    </rule>
    <rule id='XXXXX' name='Collocation: '>
    < Created by Nicholas Walker (Bokomaru), 2017-11-14 >
      <pattern>
          <token>when</token>
          <token/>
          <token inflected="yes">be</token>
          <token>in</token>
          <token regexp="yes">vacation|holiday</token>
      </pattern>
      <message>The usual preposition for \5 is "on." Did you mean <suggestion>\1 \2 \3 on \5</suggestion>?</message>
      <example correction=''><marker></marker>I work only for the summer holidays.</example>
    </rule-->
    <rule id='IN_AT_A_PARTY' name='Collocation: in/at a party'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>in</token>
          <token>a</token>
          <token>party</token>
      </pattern>
      <message>Unless you mean "in a political party", the usual preposition for a party is "at".</message>
      <suggestion>at a party</suggestion>
      <example correction='at a party'>Later, I started working as a Research Assistant in university projects again, where I met her <marker>in a party</marker>.</example>
    </rule>
    <rule id='WORK_IN_ON_A_PROJECT' name='Collocation: in (on) university projects'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token postag_regexp="yes" postag="PRP|NNP"/>
          <token>started</token>
        <marker>
          <token regexp="yes">work|working</token>
          <token min='0'>as</token>
          <token min='0'>a</token>
          <token min='0' max='2' postag_regexp="yes" postag="NN(:UN?)?"/>
          <token>in</token>
          <token postag_regexp="yes" postag="JJ|NN(:UN?)?"/>
          <token>projects</token>
        </marker>
      </pattern>
      <message>The usual preposition for "\3...projects" is "on". Did you mean <suggestion>\3 <match no='4' include_skipped='all'/> <match no='5' include_skipped='all'/> <match no='6' include_skipped='all'/> on \8 projects</suggestion>?</message>
      <example correction='working as a Research Assistant on university projects'>Later, I started <marker>working as a Research Assistant in university projects</marker> again.</example>
    </rule>
    <rule id='SUFFER_OF_WITH' name='Collocation: suffer of/with/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>of</token>
            <token>course</token>
        </antipattern>
        <antipattern>
            <token postag="DT" />
            <token postag="JJ.*" postag_regexp="yes" min="0" />
            <token chunk="E-NP-singular">suffering</token>
        </antipattern>
      <pattern>
          <token inflected="yes">suffer</token>
          <token>of</token>
      </pattern>
      <message>The usual preposition for this expression is "from" or "with".</message>
      <suggestion>\1 from</suggestion>
      <suggestion>\1 with</suggestion>
      <example correction='suffering from|suffering with'>A clinical psychologist deals with people <marker>suffering of</marker> bipolar disorder.</example>
      <example>Schopenhauer was aware of the dreadful suffering of factory workers.</example>
    </rule>
    <rule id='TALK_DOWN_ABOUT_TO' name='Collocation: talk down about/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">talk</token>
          <token>down</token>
          <token>about</token>
      </pattern>
      <message>The usual preposition for this expression is "to". Did you mean <suggestion>\1 down to</suggestion>?</message>
      <example correction='talk down to'>Don't you ever <marker>talk down about</marker> my baby boy or Kristy.</example>
    </rule>
    <rule id='IN_ON_THE_FOOT' name='Collocation: in/on the foot'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">wear</token>
          <token postag="DT"/>
          <token/>
        <marker>
          <token>in</token>
          <token postag="PRP$"/>
          <token inflected="yes">foot</token>
        </marker>
      </pattern>
      <message>The usual preposition for feet is "on". Did you mean <suggestion>on \5 \6</suggestion>?</message>
      <short>Collocation error</short>
      <example correction='on my feet'>He is wearing a crocs <marker>in my feet</marker>.</example>
    </rule>
    <rule id='AT_IN_THE_MORNING' name='Collocation: at/in the morning'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token regexp='yes'>at|on</token>
          <token regexp='yes'>an?|the</token>
          <token regexp="yes">morning|afternoon|evening</token>
        </marker>
          <token postag="SENT_END"/>
      </pattern>
      <message>The usual collocation for "\3" is "in".</message>
      <suggestion>in the \3</suggestion>
      <example correction='in the evening'>I like to do soccer <marker>on the evening</marker>.</example>
    </rule>

    <rule id='GET_A_JOB_IN_WITH' name='Collocation: get a job in/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">get</token>
          <token regexp="yes">a|the</token>
          <token regexp="yes">job|position</token>
        <marker>
          <token>in</token>
          <token>the</token>
          <token regexp="yes">[A-Z][A-Z]+</token><!--Acronym-->
        </marker>
      </pattern>
      <message>The usual preposition for "\1 \2 \3" is "with" for an organization.</message>
      <suggestion>with \5 \6</suggestion>
      <example correction='with the SPVM'>The text is also a very important things for the people who want to get a job <marker>in the SPVM</marker>.</example>
    </rule>
    <rule id='PLAY_GAMES' name='Collocation: do/play game'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token regexp="yes" inflected="yes">go|do</token>
          <token regexp="yes">ball|soccer|chess|tennis|golf|hockey|videogames|cards|football|basketball</token>
        </marker>
          <token>
            <exception postag_regexp="yes" postag="NN(:UN?|S)?|VBG"/></token>
      </pattern>
      <message>The usual collocation for an activity that does not end in "-ing" and where there can be a winner is "play", not "do" or "go".</message>
      <suggestion><match no='1' postag='V.+'>play</match> \2</suggestion>
      <example correction='play soccer'>I like to <marker>do soccer</marker> on the weekend.</example>
      <example correction='playing soccer'>I like <marker>doing soccer</marker> on the weekend.</example>
    </rule>
    <rule id='DO_ARTS' name='Collocation: go/do art'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <marker>
          <token regexp="yes" inflected="yes">go|play</token>
          <token regexp="yes">art|ballet|exercise|judo|karate|puzzles|taekwondo|weightlifting|yoga</token>
          </marker>
          <token>
            <exception postag_regexp="yes" postag="NN(:UN?|S)?|VBG"/></token>
      </pattern>
      <message>The usual collocation for an activity that does not end in "-ing" and that is not about winning is "do", not "go" or "play".</message>
      <suggestion><match no='1' postag='V.+'>do</match> \2</suggestion>
      <example correction='does ballet'>My sister <marker>plays ballet</marker> at the community center.</example>
    </rule>
    <rule id='GO_GERUND' name='Collocation: do/go activity'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
          <token inflected="yes">be</token>
          <token min="0">not</token>
          <token>done</token>
          <token postag="VBG"/>
      </antipattern>
      <antipattern><!-- MFU 2019-01-21 -->
          <token postag="WRB"/>
          <token regexp="yes">do|does|did</token>
          <token skip="-1" postag="VBG"/>
          <token>?</token>
      </antipattern>
      <antipattern>
          <token>what</token>
          <token regexp="yes">do|does|did</token>
          <token skip="-1" postag="VBG"/>
          <token>?</token>
      </antipattern>
      <antipattern><!-- MFU 2019-08-31. what are you doing sitting here laughing? -->
          <token>what</token>
          <token regexp="yes">is|was|are|were</token>
          <token postag="PRP"/>
          <token>doing</token>
          <token postag="VBG"/>
      </antipattern>
      <antipattern><!-- MFU 2019-09-10. where is this play being performed? -->
          <token postag="WRB"/>
          <token regexp="yes">is|was</token>
          <token postag="DT"/>
          <token chunk="E-NP-singular"/>
          <token>being</token>
      </antipattern>
      <antipattern>
        <token>Google</token>
        <token>Play</token>
      </antipattern>
      <pattern>
          <marker>
            <token regexp="yes" inflected="yes">do|play</token>
            <token regexp="yes">
                jogging|swimming|shopping|dancing|hiking|camping|kayaking|skating|riding|climbing|diving|hunting|bowling|surfing|trekking|backpacking|snowshoeing|rollerblading|biking|sailing|paddleboarding|fishing|picking|skiing|golfing|snowboarding|cheerleading|skydiving
            </token>
          </marker>
          <token>
            <exception postag_regexp="yes" postag="NN(:UN?|S)?"/>
          </token>
      </pattern>
      <message>The usual collocation for an activity ending in "-ing" is "go", not "do" or "play".</message>
      <suggestion><match no='1' postag='V.+'>go</match> \2</suggestion>
      <url>https://englishwithkim.com/go-ing-gerund-fun-activities/</url>
      <example correction='go jogging'>Do you <marker>do jogging</marker>?</example>
      <example correction='goes jogging'>He <marker>does jogging</marker>.</example>
      <example correction='goes jogging'>Who <marker>does jogging</marker>?</example>
      <example>After the squad is done installing the gear.</example>
      <example>Why does implementing or changing XYZ not satisfy the requirements?</example>
      <example>...and why did running quickly make me feel so good?</example>
      <example>...and how does jogging slowly stimulate the flow of blood?</example>
      <example>What does holding on to grudges really get us?</example>
      <example>Little Johnny what are you doing sitting here laughing?</example>
      <example>What was she doing running for the bus in 6-inch heels?</example>
      <example>Where is this play being performed?</example>
      <example>They are doing amazing.</example>
      <example>On a side note, did running come easily to you or are there things you can do to make it less miserable?</example>
    </rule>
    <rule id='DAMAGE_OF_TO' name='Collocation: damage of/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>of</token>
            <token>any</token>
            <token regexp="yes">sort|kind</token>
        </antipattern>
      <pattern>
          <token>damage</token>
          <token>of</token>
      </pattern>
      <message>The usual collocation for the word "damage" is "to", not "of".</message>
      <suggestion>\1 to</suggestion>
      <example correction='damage to'>It may cause <marker>damage of</marker> wildlife.</example>
      <example>Damage of any sort (e.g., holes, edge dents, repairs, cleaning, re-engraving or gouges) can substantially reduce the value of a coin.</example>
    </rule>
    <rule id='INTEREST_ABOUT_IN' name='Collocation: interest about/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">less|more|of</token>
          <token inflected="yes">interest</token>
          <token>about</token>
      </pattern>
      <message>The usual collocation for the word "interest" is "in", not "about".</message>
      <suggestion>\1 \2 in</suggestion>
      <example correction='more interest in'>They are <marker>more interest about</marker> the money, like how it's manage.</example>
    </rule>
    <rule id='VULNERABLE_FROM_TO' name='Collocation: vulnerable from/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>vulnerable</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for the word "vulnerable" is "to", not "from", as in "vulnerable to attack".</message>
      <suggestion>vulnerable to</suggestion>
      <example correction='vulnerable to'>We do want to differ from other solutions where you must redirect all your domain names to a service provider, leaving your server <marker>vulnerable from</marker> direct attacks and having you hassle with domain records all the time.</example>
    </rule>
    <rule id='IMITATION_FROM_OF' name='Collocation: imitation from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
          <token inflected="yes">imitation</token>
          <token>of</token>
      </antipattern>
      <pattern>
      <marker>
          <token inflected="yes">imitate</token>
          <token postag="DT"/>
          <token skip='-1' postag_regexp="yes" postag="NN(:UN?|S)?"/>
          <token>from</token>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
          <token postag_regexp="yes" postag="NN(:UN?|S)?"/>
          </marker>
          <token postag="SENT_END"/>
      </pattern>
      <message>The usual collocation for the word "imitate" is "of", not "from", as in "imitate the style of someone".</message>
      <suggestion>\1 \2 <match no='3' include_skipped='all'/> of \5 \6</suggestion>
      <example correction='imitate every habit and behavior of their parents'>Children <marker>imitate every habit and behavior from their parents</marker>.</example>
    </rule>
    <rule id='OFFERED_IN_AT' name='Collocation: offered in/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>offered</token>
          <token>in</token>
          <token inflected="yes" regexp="yes">college|university|school</token>
      </pattern>
      <message>The usual preposition for "offered" and "\3" is "at", not "in".</message>
      <suggestion>offered at \3</suggestion>
      <example correction='offered at universities'>In addition, if people are in favor of women practicing combat sports, it would be beneficial to have combat sport sessions in schools as well as optional courses <marker>offered in universities</marker>.</example>
    </rule>
    <rule id='PERSPECTIVES_ABOUT_ON' name='Collocation: perspectives about/on'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>perspectives</token>
          <token>about</token>
      </pattern>
      <message>The usual preposition for "perspectives" is "on", not "about".</message>
      <suggestion>perspectives on</suggestion>
      <example correction='perspectives on'>They have different <marker>perspectives about</marker> the topic.</example>
    </rule>
    <rule id='VARIETIES_IN_OF' name='Collocation: varieties in/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>varieties</token>
          <token>in</token>
      </pattern>
      <message>The usual preposition for "varieties" is "of", not "in".</message>
      <suggestion>varieties of</suggestion>
      <example correction='varieties of'>They should increase <marker>varieties in</marker> food.</example>
    </rule>
    <rule id='COVER_BY_IN' name='Collocation: cover by/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern case_sensitive="yes">
    <!-- The Mountains are covered by snow.  -->
          <token inflected="yes">cover</token>
          <token>by</token>
          <token regexp="yes">snow|leaves|dust</token>
      </pattern>
      <message>The usual preposition for "cover" is "in", not "by".</message>
      <suggestion>covered in \3</suggestion>
      <suggestion>covered with \3</suggestion>
      <url>https://english.stackexchange.com/questions/60805/covered-with-vs-covered-in-vs-covered-by</url>
      <example correction='covered in snow|covered with snow'>The Mountains are <marker>covered by snow</marker>.</example>
    </rule>
    <rule id='LEAVE_TO_FOR' name='Collocation: leave to/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern case_sensitive="yes">
          <token inflected="yes">leave</token>
          <token>to</token>
          <token regexp="yes">\p{Lu}\p{Ll}+</token>
    <!--Capitalized word-->
          <token regexp="yes">next|tomorrow|soon</token>
      </pattern>
      <message>The usual preposition for "leave" is "for", not "to".</message>
      <suggestion>leaving for \3 \4</suggestion>
      <url>http://www.really-learn-english.com/leaving-to-or-leaving-for.html</url>
      <example correction='leaving for England soon'>They are <marker>leaving to England soon</marker>.</example>
    </rule>
    <rule id='DO_HAVE_A_MEETING' name='Collocation: do/have a meeting'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected='yes'>do</token>
          <token>a</token>
          <token>meeting</token>
      </pattern>
      <message>The usual verb for "a meeting" is "have", not "do"</message>
      <suggestion><match no='1' postag='V.*'>have</match> a meeting</suggestion>
      <example correction='have a meeting'>We decided to <marker>do a meeting</marker> the next day.</example>
      <example correction='has a meeting'>Tom <marker>does a meeting</marker> the next day.</example>
      <example correction='had a meeting'>We decided to <marker>did a meeting</marker> the next day.</example>
    </rule>
    <rule id='GROWLED_TO_AT' name='Collocation: growled to/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">growled|spat|punched</token>
          <token>to</token>
          <token postag="PRP\$?|DT" postag_regexp="yes"/>
      </pattern>
      <message>The usual preposition for "\1" is "at".</message>
      <suggestion>\1 at \3</suggestion>
      <example correction='growled at him'>Dr. Dre <marker>growled to him</marker> about the snow.</example>
    </rule>
    <rule id='TO_ON_A_TRIP' name='Collocation: to/on a trip'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">go</token>
          <token>to</token>
          <token>a</token>
          <token>trip</token>
      </pattern>
      <message>The usual collocation for "\2" and "a trip" is "\2 on a trip". Did you mean <suggestion>\1 on a trip</suggestion>?</message>
      <example correction='went on a trip'>Yes, I <marker>went to a trip</marker>.</example>
    </rule>
    <rule id='IN_ON_A_TRIP' name='Collocation: in/on a trip'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>in</token>
          <token postag="PRP$"/>
          <token regexp="yes">tr(?:ip|avel)s?</token>
        </marker>
          <token>,</token>
      </pattern>
      <message>The usual collocation for "\2 \3" is <suggestion>on \2 \3</suggestion> or <suggestion>during \2 \3</suggestion>.</message>
      <example correction='on his trip|during his trip'>It was is <marker>in his trip</marker>, that he met her.</example>
    </rule>
    <rule id='THINK_IN_ABOUT' name='Collocation: think on/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token inflected='yes'>think</token>
          <token regexp='yes'>[io]n</token>
        </marker>
          <token regexp="yes">finish|finishing</token>
          <token postag="DT"/>
      </pattern>
      <message>The usual collocations for "\1" are <suggestion>\1 about</suggestion> or <suggestion>\1 of</suggestion>.</message>
      <example correction='thinking about|thinking of'>I'm <marker>thinking in</marker> finish this text.</example>
    </rule>
    <rule id='RESPONSIBLE_OF_FOR' name='Collocation: responsible of/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">respons[ai]bles?</token>
          <token>of</token>
      </pattern>
      <message>The usual collocation for "\1" is "\1 for". Did you mean <suggestion>\1 for</suggestion> or <suggestion>in charge of</suggestion>?</message>
      <example correction='responsable for|in charge of'>I am <marker>responsable of</marker> marketing.</example>
    </rule>
    <rule id='WAIT_AFTER_FOR' name='Collocation: waiting after (for) someone'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">wait</token>
          <token>after</token>
          <token postag="PRP"/>
      </pattern>
      <message>The usual collocations for "\1" are "\1 on", meaning 'to act as an attendant to someone', or "\1 for" meaning 'to remain patiently inactive'.</message>
      <suggestion>\1 for \3</suggestion>
      <example correction='waiting for her'>I am <marker>waiting after her</marker>.</example>
    </rule>
    <rule id='ON_IN_A_HOSPITAL_BED' name='Collocation: on/in a hospital bed'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">be</token>
        <marker>
          <token>on</token>
          <token>a</token>
          <token>hospital</token>
          <token>bed</token>
        </marker>
      </pattern>
      <message>The usual preposition with "\5" is "in". Did you mean <suggestion>in a hospital bed</suggestion>?</message>
      <example correction='in a hospital bed'>The patient is <marker>on a hospital bed</marker> waiting for surgery.</example>
    </rule>
        <rule id='LIVE_FROM_OFF' name='Collocation: live from/off'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token inflected="yes">live</token>
          <token>from</token>
        </marker>
          <token postag="PRP$" min='0'/>
          <token min='0'>
            <exception postag="PRP$"/></token>
          <token min='0'>'s</token>
          <token>money</token>
      </pattern>
      <message>The usual preposition with "\1" and "\6" is "off". Did you mean <suggestion>\1 off</suggestion>?</message>
      <example correction="lives off">He <marker>lives from</marker> his brother’s money.</example>
    </rule>
    <rule id='ANXIOUS_OF_ABOUT' name='Collocation: anxious of/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14. Edited by MFU 2018-12-02 -->
      <pattern>
        <marker>
          <token>anxious</token>
          <token>of</token>
        </marker>
          <token postag="PRP$"/>
      </pattern>
      <message>The usual preposition with "\1" is "about" or "for". Did you mean <suggestion>anxious about</suggestion> or <suggestion>anxious for</suggestion>?</message>
      <example correction='anxious about|anxious for'>They are <marker>anxious of</marker> his health.</example>
      <example correction='anxious about|anxious for'>Parents are <marker>anxious of</marker> their children’s success.</example>
      <example>They are <marker>anxious about</marker> his health.</example>
      <example>Parents are <marker>anxious for</marker> their children’s success.</example>
    </rule>
    <rule id='BE_ON_IN_SHOCK' name='Collocation: be on/in shock'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">be</token>
          <token>on</token>
          <token>shock</token>
      </pattern>
      <message>The usual preposition with "\3" is "in". Did you mean <suggestion>\1 in shock</suggestion>?</message>
      <example correction='were in shock'>We <marker>were on shock</marker> when it happened.</example>
    </rule>
    <rule id='FAR_OF_FROM' name='Collocation: far of/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>of</token>
            <token>course</token>
        </antipattern>
        <antipattern>
            <token>so</token>
            <token>far</token>
        </antipattern>
      <pattern>
          <token>far</token>
          <token>of</token>
      </pattern>
      <message>The usual preposition for "far" is "from".</message>
      <suggestion>far from</suggestion>
      <example correction='far from'>It is not very <marker>far of</marker> my job.</example>
      <example>The economists find little impact so far of increasing use of the Internet on public employment agencies.</example>
    </rule>
    <rule id='NEAR_FROM_TO' name='Collocation: near from/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>near</token>
          <token>from</token>
      </pattern>
      <message>The usual preposition for "near" is "to".</message>
      <suggestion>near to</suggestion>
      <example correction='near to'>It is not very <marker>near from</marker> my job.</example>
    </rule>
    <rule id='BLIND_FOR_FROM' name='Collocation: blind for/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>blind</token>
          <token>for</token>
          <token>the</token>
          <token>
            <exception regexp="yes">instant|moment|time</exception></token>
      </pattern>
      <message>The usual preposition for "blind" is "from" when followed by the cause of the blindness.</message>
      <suggestion>\1 from \3 \4</suggestion>
      <example correction='blind from the fury'><marker>blind for the fury</marker>.</example>
    </rule>
    <rule id='YELL_ON_AT' name='Collocation: yell on/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">yell</token>
          <token regexp='yes'>on|to</token>
          <token regexp="yes">him|her|us|me|them</token>
      </pattern>
      <message>The usual preposition for "yell" is "at".</message>
      <suggestion>\1 at \3</suggestion>
      <example correction='yelled at him'>Lily <marker>yelled on him</marker>.</example>
    </rule>
    <rule id='TAKING_INTO_CONSIDERATION' name='Collocation: takes into consideration (of)'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">take</token>
          <token>into</token>
          <token>consideration</token>
          <token>of</token>
      </pattern>
      <message>You have fused two expressions into one, "in consideration of" and "taking into consideration". Remove the word "of" from the end.</message>
      <suggestion>\1 \2 \3</suggestion>
      <example correction='takes into consideration'>Tom <marker>takes into consideration of</marker> all the perspectives.</example>
    </rule>
    <rule id='IN_FROM_THE_PERSPECTIVE' name='Collocation: in/from the perspective'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>in</token>
          <token regexp="yes">the|a</token>
          <token postag="JJ"/>
          <token>perspective</token>
      </pattern>
      <message>The usual preposition for "perspective" is "from", not "in".</message>
      <suggestion>from \2 \3 \4</suggestion>
      <example correction='From the psychological perspective'><marker>In the psychological perspective</marker>.</example>
      <example><marker>From the psychological perspective</marker>.</example>
      <example type="triggers_error">Transeurasian Verbal Morphology in a Comparative Perspective: Genealogy, Contact, Chance.</example>
    </rule>
    <rule id='SIT_ON_THE_COURT' name='Collocation: sit on the court/bench'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">sit</token>
          <token regexp='yes'>[io]n</token>
          <token>the</token>
          <token>court</token>
      </pattern>
      <message>The usual way to express a judge's association with a courtroom is with the phrase <suggestion>\1 on the bench</suggestion>.</message>
      <example correction='sits on the bench'>He is 67 year old and he <marker>sits on the court</marker> since 1998.</example>
    </rule>
    <rule id='FOLLOW_A_COURSE' name='Collocation: follow/take a course'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token regexp="yes">this|an?</token>
            <token>course</token>
        </antipattern>
        <antipattern>
            <token>course</token>
            <token skip="2">of</token>
            <token regexp="yes">road|river|path|creek</token>
        </antipattern>
      <pattern>
          <token inflected="yes">follow</token>
          <token postag_regexp="yes" postag="PRP\$|DT" />
          <token regexp="yes">courses|course</token>
      </pattern>
      <message>The usual verb for "courses" in a school is "take" or "attend", not "follow".</message>
      <suggestion>take \2 courses</suggestion>
      <example correction='take their courses'>There is classes were students can <marker>follow their courses</marker>.</example>
      <example>We followed the course of the river.</example>
    </rule>
    <rule id='ON_IN_THE_AFTERNOON' name='Collocation: on/in the afternoon'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <marker>
          <token>on</token>
          <token>the</token>
          <token regexp="yes">afternoon|evening</token>
          </marker>
          <token>
            <exception regexp="yes">of|that|program|train|bus|coach|cruise</exception></token>
      </pattern>
      <message>The usual preposition for "\3" is "in", not "on". Try it like this: <suggestion>in \2 \3</suggestion>.</message>
      <example correction='in the afternoon'>The meeting is <marker>on the afternoon</marker>.</example>
    </rule>
    <rule id='ACCUSE_FOR_OFF' name='Collocation: accuse for/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">accuse</token>
          <token>the</token>
          <token/>
          <token>for</token>
      </pattern>
      <message>The usual preposition for accusations is "of", not "for".</message>
      <suggestion>\1 the \3 of</suggestion>
      <example correction='accused the man of'>She <marker>accused the man for</marker> stealing.</example>
    </rule>
    <rule id='IN_ON_A_SECRET_MISSION' name='Collocation: in/on a secret mission'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes" inflected="yes">be|go</token>
          <token>in</token>
          <token>a</token>
          <token>secret</token>
          <token>mission</token>
      </pattern>
      <message>The usual preposition for "a secret mission" is "on", not "in". Try it like this: <suggestion>\1 on \3 \4 \5</suggestion>.</message>
      <example correction='is on a secret mission'>Bond <marker>is in a secret mission</marker>.</example>
    </rule>
    <rule id='LAUGH_OF_AT' name='Collocation: laugh of/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">laugh</token>
          <token>of</token>
          <token postag_regexp="yes" postag="PRP|NNP"/>
      </pattern>
      <message>The usual preposition for "laugh" is "at". Did you mean <suggestion>\1 at \3</suggestion>?</message>
      <example correction='laughed at him'>I <marker>laughed of him</marker>.</example>
    </rule>
    <rule id='BRING_AT_TO' name='Collocation: bring at/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">bring</token>
          <token postag_regexp="yes" postag="PRP|NNP"/>
          <token>at</token>
      </pattern>
      <message>The usual preposition for "bring" is "to". Did you mean <suggestion>\1 \2 to</suggestion>?</message>
      <example correction='Bring Suzanne to'><marker>Bring Suzanne at</marker> the party.</example>
    </rule>
    <rule id='ON_FACT' name='Collocation: on/in fact'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token postag="SENT_START"/>
          <marker>
              <token regexp="yes">on|at</token>
              <token>fact</token>
          </marker>
      </pattern>
      <message>The usual preposition for "fact" is "in". Did you mean <suggestion>In fact</suggestion>?</message>
      <example correction='In fact'><marker>On fact</marker>, the people are fed up of so many elections.</example>
    </rule>
    <rule id='BRING_PUN_ON_THE_AGENDA' name='Collocation: bring to/put on the agenda'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">bring|brought</token>
          <token>to</token>
          <token>the</token>
          <token>agenda</token>
      </pattern>
      <message>The usual verb + preposition for "agenda" are "put on". Did you mean <suggestion>put on the agenda</suggestion>?</message>
      <example correction='put on the agenda'>We must <marker>bring to the agenda</marker> the people that are fed up of so many elections.</example>
    </rule>
    <rule id='IN_FRONT_OF' name='Collocation: in front of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>in</token>
          <token>front</token>
          <token postag="IN">
            <exception>of</exception></token>
      </pattern>
      <message>The usual preposition for "in front" is "of". Did you mean <suggestion>in front of</suggestion>?</message>
      <example correction='In front of'><marker>In front to</marker> so many decisions, the people are fed up.</example>
    </rule>
    <rule id='DEPARTURE_OF_FROM' name='Collocation: departure of/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>departure</token>
          <token>of</token>
        </marker>
          <token>New</token>
          <token regexp="yes">York|Zealand|Hampshire|England|South|Brunswick</token>
          <token>
            <exception regexp="yes">resident|citizen|native</exception></token>
      </pattern>
      <message>The usual preposition for "departure" with a destination name is "from". Did you mean <suggestion>departure from</suggestion>?</message>
      <example correction='departure from'>The stay is finally ended and they prepared their <marker>departure of</marker> New York.</example>
    </rule>
    <rule id='LIVE_IN_ON_PLANET' name='Collocation: live in/on planet'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">live</token>
          <token>in</token>
          <token min='0' postag="DT"/>
          <token case_sensitive='yes' regexp="yes">[Pp]lanet|[Aa]steroid|[Mm]oon|Mercury|Venus|Earth|Mars|Jupiter|Saturn|Neptune|Uranus|Pluto</token>
      </pattern>
      <message>The usual preposition for "\4" is "on". Did you mean <suggestion>\1 on <match no='3' include_skipped='all'/> \4</suggestion>?</message>
      <example correction='live on the planet'>Not all creatures that <marker>live in the planet</marker> Earth use oxygen.</example>
    </rule>
    <rule id='COUNTLESS_OF' name='Collocation: countless of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>countless</token>
          <token>of</token>
          <token>
            <exception>course</exception></token>
      </pattern>
      <message>Do not use "of" after "\1". Did you mean <suggestion>\1 \3</suggestion>?</message>
      <example correction='countless occurrences'>There are <marker>countless of occurrences</marker>.</example>
    </rule>
    <rule id='FED_UP_OF_WITH' name='Collocation: fed up of/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>fed</token>
          <token>up</token>
          <token>of</token>
      </pattern>
      <message>The usual preposition for "\1 \2" is "with". Did you mean <suggestion>\1 \2 with</suggestion>?</message>
      <example correction='fed up with'>The people are <marker>fed up of</marker> so many pointless elections.</example>
    </rule>
    <rule id='ENTER_IN' name='Collocation: enter in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern><!-- MFU 2019-08-26 -->
          <token inflected="yes">have</token>
          <token>been</token>
          <token>entered</token>
          <token>in</token>
      </antipattern>
      <antipattern><!-- #2355 It was entered in the 1961 British Grand Prix. -->
          <token inflected="yes">be</token>
          <token min="0" max="2" postag="RB"/>
          <token>entered</token>
          <token>in</token>
      </antipattern>
      <antipattern>
        <token>in</token>
        <token postag="DT" />
        <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
        <token regexp="yes">space|book|file|form|post|text|value|system</token>
      </antipattern>
      <pattern>
          <token inflected="yes">enter</token>
          <token>in</token>
          <token postag="DT"/>
          <token />
      </pattern>
      <message>There isn't usually a preposition after "\1". Did you mean <suggestion>\1 \3 \4</suggestion>?</message>
      <example correction='entering the room'>While he was <marker>entering in the room</marker>, he felt an uncomfortable feeling on his spine.</example>
      <example>The record is <marker>entered in a book</marker>.</example>
      <example>...while, unbeknownst to Kurosawa, Rashomon <marker>had been entered in</marker> the prestigious Venice Film Festival...</example>
      <example>It was entered in the 1961 British Grand Prix.</example><!-- #2355 -->
      <example>The 15 teams that did not qualify for the playoffs are entered in a weighted lottery to determine...</example><!-- #2355 -->
      <example>It was not entered in the 1962 competition.</example><!-- #2355 -->
      <example>It was actually not entered in the 1963 trial.</example>
      <example>It was not correctly entered in the 1962 competition.</example>
      <example>... and to be finally entered in the records was a victory.</example>
      <example type="triggers_error">They weren't entering in the spirit of the competition; they just wanted the prize money.</example>
    </rule>
    <rule id='GO_TO_HOME' name='Collocation: go to home (go home)'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
          <token>home</token>
          <token regexp="yes">base|page|depot|decor</token>
      </antipattern>
      <antipattern><!-- Phrasal verbs with 'back + particle' -->
          <token chunk="I-VP">back</token>
          <token regexp="yes">away|down|off|onto|out|up</token>
      </antipattern>
      <pattern>
          <token inflected="yes">go</token>
          <token>to</token>
          <token regexp='yes'>home|upstairs|downstairs|downtown|inside|outside|t?here|back|away|near|abroad|overseas|everywhere|somewhere|nowhere|underground</token>
      </pattern>
      <message>There isn't usually a preposition before "\3". Did you mean <suggestion>\1 \3</suggestion>?</message>
      <example correction='went home'>Suzie <marker>went to home</marker>.</example>
      <example>Carry <marker>went to home base</marker>.</example>
      <example>Don't tell me you're going to <marker>back out</marker> after all the plans we've made.</example>
      <example>I'm going to close the door.</example>
      <example>I went to Home Depot.</example>
      <example>Go to home page section #2</example>
    </rule>
    <rule id='CAME_IN_INTO' name='Collocation: came in/into'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token/>
          <token>came</token>
          <token>in</token>
          <token>the</token>
          <token regexp="yes">h(?:all|ouse)|living(?:room)?|kitchen|b(?:ed|ath)room|dining(?:room)?|office</token>
      </pattern>
      <message>The usual preposition after "\2" is "into", not "\3". The sentence "\1 \2 \3 \4 \5" is a colloquial expression for "\1 had an orgasm in the \5". Did you mean <suggestion>\1 \2 into \4 \5</suggestion>, meaning "\1 arrived"?</message>
      <example correction='Judy came into the house'><marker>Judy came in the house</marker> after greeting her elders.</example>
    </rule>
    <rule id='ARRIVE_ON_AT_THE_BEACH' name='Collocation: arrive on/at the beach'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14. Edited by MFU. -->
      <antipattern>
        <token>on</token>
        <token>the</token>
        <token regexp='yes'>market|scene</token>
      </antipattern>
      <antipattern>
        <token>on</token>
        <token>the</token>
        <token regexp='yes'>morning|afternoon|evening|dawn|first</token>
        <token>of</token>
      </antipattern>
      <antipattern><!-- arrive on DATE -->
        <token>on</token>
        <token postag="CD" min="0" />
        <token regexp="yes">&months;|&abbrevMonths;</token>
      </antipattern>
      <antipattern><!-- arrive on DATE -->
        <token>on</token>
        <token postag="DT" min="0" />
        <token regexp="yes">\d+(th|st|rd|nd)</token>
      </antipattern>
      <antipattern><!-- arrive on DATE -->
        <token>on</token>
        <token postag="DT" min="0" />
        <token regexp="yes">\d+</token>
        <token regexp="yes">th|st|rd|nd</token>
      </antipattern>
      <antipattern><!-- arrive on Christmas day -->
        <token>on</token>
        <token min="0" />
        <token>day</token>
      </antipattern>
      <antipattern><!-- arrive on my birthday -->
        <token>on</token>
        <token postag="PRP$"/>
        <token>birthday</token>
      </antipattern>
      <antipattern>
        <token regexp="yes" skip="2">that|which|who|where|when</token>
        <token postag="PRP|NNP" postag_regexp="yes" />
        <token>arrived</token>
        <token>on</token>
        <token postag="PCT|CC" postag_regexp="yes" />
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">arrive</token>
          <token>on</token>
        </marker>
        <token>
            <exception regexp='yes'>time|date|schedule|set</exception>
            <exception regexp='yes'>&weekdays;|&abbrevWeekdays;</exception>
        </token>
      </pattern>
      <message>The usual preposition after "\1" is "at", not "\2". Did you mean <suggestion>\1 at</suggestion>?</message>
      <url>https://www.ldoceonline.com/dictionary/arrive</url>
      <example correction='arrived at'>When John <marker>arrived on</marker> the beach, he went for a swim.</example>
      <example correction='arrive at'>She will <marker>arrive on</marker> Christmas.</example>
      <example>When John <marker>arrived at</marker> the beach, he went for a swim.</example>
      <example>The police will soon <marker>arrive on the scene</marker>.</example>
      <example>This letter says that he will <marker>arrive on Monday</marker>.</example>
      <example>Foreign products <marker>arrived on the market</marker> in large quantities.</example>
      <example>We <marker>arrived on the morning of the</marker> seventh.</example>
      <example>The urn arrived on 17 October 2006, going on display at the Museum ...</example>
      <example>He will <marker>arrive on Christmas day</marker>.</example>
      <example>The card <marker>arrived on my birthday</marker>.</example>
      <example>The Vagrant arrived on the 8th.</example>
      <example>He arrived on day #2 of the seminar.</example>
      <example>He didn't mention which day he arrived on.</example>
    </rule>
    <rule id='RETURN_AT_HOME' name='Collocation: return at home'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">return</token>
          <token>at</token>
          <token>home</token>
      </pattern>
      <message>You do not need a preposition between "\1" and "\3". Did you mean <suggestion>\1 \3</suggestion>?</message>
      <example correction='Return home'><marker>Return at home</marker> before midnight.</example>
    </rule>
    <rule id='BE_IN_UNDER_PRESSURE' name='Collocation: be in/under pressure'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">be</token>
          <token postag='VBG' min='0'/>
        <marker>
          <token>in</token>
          <token>pressure</token>
        </marker>
      </pattern>
      <message>The usual collocation for "\3" is "under", not "\2". Did you mean <suggestion>under pressure</suggestion>?</message>
      <example correction='under pressure'>Kelly is <marker>in pressure</marker>.</example>
    </rule>
    <rule id='ABSORB_AT_IN' name='Collocation: absorb at/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">absorb</token>
          <token>at</token>
      </pattern>
      <message>The usual collocation for "\1" is "in", not "\2". Did you mean <suggestion>\1 in</suggestion>?</message>
         <suggestion>\1 with</suggestion>
         <suggestion>\1 into</suggestion>
      <example correction='absorbed in|absorbed with|absorbed into'>I am <marker>absorbed at</marker> this book.</example>
    </rule>
    <rule id='ACCUSE_FOR_OF' name='Collocation: accuse for/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">accuse</token>
          <token>for</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='accused of'>He is <marker>accused for</marker> fraud.</example>
    </rule>
    <rule id='ASHAMED_FROM' name='Collocation: ashamed from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>ashamed</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='ashamed of'>After flunking in the exam, she felt <marker>ashamed from</marker> it.</example>
    </rule>
    <rule id='ARRIVE_AT_IN' name='Collocation: arrive at/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token inflected="yes">arrive</token>
          <token>at</token>
        </marker>
          <token>the</token>
          <token regexp="yes">village|town|city|country|state|province</token>
      </pattern>
      <message>The usual collocation for "\1" is "in", not "\2". Use "in" for geographical regions and "at" for a specific point. For a town, province, state, country or continent, use "in". For a restaurant, business, park or car, use "at". Did you mean <suggestion>\1 in</suggestion> or '\1 at'?</message>
      <example correction='arrive in'>They will <marker>arrive at</marker> the city at 9:00 am.</example>
    </rule>
    <rule id='ANGRY_WITH_ABOUT' name='Collocation: angry with/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">angry</token>
          <token>with</token>
          <token>the</token>
          <token regexp="yes">weather|situation</token>
      </pattern>
      <message>Use "angry with" for people. Use "angry about" for situations or weather. Did you mean <suggestion>\1 about the \4</suggestion>?</message>
      <example correction='angry about the situation'>Barbie is <marker>angry with the situation</marker>.</example>
    </rule>
    <rule id='ACCUSTOM_WITH_TO' name='Collocation: accustom with/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">accustom</token>
          <token>with</token>
      </pattern>
      <message>The usual collocation for "\1" is "to", not "\2". Did you mean <suggestion>\1 to</suggestion>?</message>
      <example correction='accustomed to'>The mechanic is <marker>accustomed with</marker> handling those situations.</example>
    </rule>
    <rule id='AFRAID_FROM_OF' name='Collocation: afraid from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>afraid</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='afraid of'>Rats are <marker>afraid from</marker> cats.</example>
    </rule>
    <rule id='ANGRY_AGAINST_WITH' name='Collocation: angry against/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>angry</token>
          <token>against</token>
      </pattern>
      <message>The usual collocation for "\1" is "with" or "at", not "\2". Did you mean <suggestion>\1 with</suggestion> or <suggestion>\1 at</suggestion>?</message>
      <example correction='angry with|angry at'>Birds fly when they are <marker>angry against</marker> pigs.</example>
    </rule>
    <rule id='AIM_ON_AT' name='Collocation: aim on/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">aim</token>
          <token>on</token>
      </pattern>
      <message>The usual collocation for "\1" is "at", not "\2". Did you mean <suggestion>\1 at</suggestion>?</message>
      <example correction='aimed at'>This tool is <marker>aimed on</marker> regular users.</example>
    </rule>
    <rule id='BELIEVE_TO_IN' name='Collocation: believe to/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>to</token>
            <token>this</token>
            <token>day</token>
        </antipattern>
      <pattern>
        <marker>
          <token>believe</token>
          <token>to</token>
        </marker>
          <token>
            <exception postag="VB"/></token>
      </pattern>
      <message>The usual collocation for "\1" is "in", not "\2". Did you mean <suggestion>\1 in</suggestion>?</message>
      <example correction='believe in'>'cause I <marker>believe to</marker> fitness.</example>
    </rule>
    <rule id='BOAST_FOR_OF' name='Collocation: boast for/about/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">boast</token>
          <token>for</token>
      </pattern>
      <message>The usual collocation for "\1" is "of" or "about", not "\2". Did you mean <suggestion>\1 of</suggestion> or <suggestion>\1 about</suggestion>?</message>
      <example correction='boasted of|boasted about'>He <marker>boasted for</marker> his skills.</example>
    </rule>
    <rule id='CAREFUL_FOR_WITH' name='Collocation: careful for/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>for</token>
            <token>what</token>
            <token postag="PRP_S.*" postag_regexp="yes" />
        </antipattern>
        <antipattern>
            <token>for</token>
            <token regexp="yes">your|their|his|her|my</token>
            <token>own</token>
            <token>good</token>
        </antipattern>
        <antipattern>
            <token skip="2">for</token>
            <token regexp="yes">weeks?|years?|months?|hours?|days?|minutes?|now|bit|reasons?</token>
        </antipattern>
      <pattern>
          <token>careful</token>
          <token>for</token>
      </pattern>
      <message>The usual collocation for "\1" is "with", not "\2". Did you mean <suggestion>\1 with</suggestion>?</message>
      <example correction='careful with'>Be <marker>careful for</marker> the camera.</example>
      <example>As always under the capitalism, be very careful for what you ask for since there are always unintended consequences within the profit system</example>
    </rule>
    <rule id='TRAVEL_WITH_BY' name='Collocation: travel with/by'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">travel</token>
          <token>with</token>
          <token min='0' postag="DT"/>
          <token regexp="yes">train|bus|car|plane|jet|motorcycle|moto</token>
      </pattern>
      <message>The usual collocation for "\1" is "by", not "\2". Did you mean <suggestion>\1 by \4</suggestion>?</message>
      <example correction='travel by bus'>We are going to <marker>travel with a bus</marker>.</example>
    </rule>
    <rule id='COMPLAIN_FOR_ABOUT' name='Collocation: complain for/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token skip="2">for</token>
            <token regexp="yes">weeks?|years?|months?|hours?|days?|minutes?|now|bit|reasons?</token>
        </antipattern>
      <pattern>
          <token inflected="yes">complain</token>
          <token>for</token>
      </pattern>
      <message>The usual collocation for "\1" is "about", not "\2". Did you mean <suggestion>\1 about</suggestion>?</message>
      <example correction='complained about'>The client <marker>complained for</marker> the service.</example>
      <example>Sun's very own CEO, Scott McNealy, has been complaining for several weeks about the poor "earnings visibility" at his company.</example>
      <example>Players complained for a year+ that it procced too often.</example>
    </rule>
    <rule id='COMPOSE_FROM_OF' name='Collocation: compose from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>from</token>
            <token postag="NN.*|CD" postag_regexp="yes" />
            <token>to</token>
            <token postag="NN.*|CD" postag_regexp="yes" />
        </antipattern>
      <pattern>
          <token inflected="yes">compose</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='composed of'>It is <marker>composed from</marker> carbohydrates and proteins.</example>
      <example>Baroque music refers to Western music composed from 1600 to 1750.</example>
    </rule>
    <rule id='CURE_FROM_OF' name='Collocation: cure from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token inflected="yes" regexp="yes" skip="4">receive|get</token>
            <token>cure</token>
            <token>from</token>
        </antipattern>
        <antipattern>
            <token chunk_re="E-NP.*" regexp="yes">cures?</token>
            <token>from</token>
            <token postag="NNP" />
        </antipattern>
      <pattern>
          <token inflected="yes">cure</token>
          <token min='0' postag="PRP"/>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 <match no='2' include_skipped='all'/> of</suggestion>?</message>
      <example correction='cure you of'>This medicine will <marker>cure you from</marker> the disease.</example>
      <example>Receive a cure from a doctor, learn from a wise man.</example>
      <example>Other fever cures from South America were known as Jesuit's Bark and Jesuit's Powder</example>
    </rule>
    <rule id='DEPRIVE_FROM_OF' name='Collocation: deprive from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">deprive</token>
          <token min='0' postag="PRP"/>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 <match no='2' include_skipped='all'/> of</suggestion>?</message>
      <example correction='deprived of'>This soil is <marker>deprived from</marker> nutrients.</example>
    </rule>
<!-- 2019-08-23 MFU adds: Oxford Collocations Dictionary shows that the usual prepositions are 'for', 'from', and 'of'.
The accident victim died from her injuries.
    <rule id='DIE_FROM_OF' name='Collocation: die from/of'>
    *- Created by Nicholas Walker (Bokomaru), 2017-11-14 -*
      <pattern>
          <token inflected="yes">die</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='dying of'>The ferns are <marker>dying from</marker> too much watering.</example>
    </rule>-->
    <rule id='DISAPPOINT_FROM' name='Collocation: disappoint from/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">disappoint</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "with" or "in" or "by" or "at" or "about", not "\2". Did you mean <suggestion>\1 with</suggestion> or <suggestion>\1 in</suggestion> or <suggestion>\1 by</suggestion> or <suggestion>\1 at</suggestion> or <suggestion>\1 about</suggestion>?</message>
      <example correction='disappointed with|disappointed in|disappointed by|disappointed at|disappointed about'>She was <marker>disappointed from</marker> the surprise.</example>
    </rule>
    <rule id='DIVIDE_IN_INTO' name='Collocation: divide in/into' default="off">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token inflected="yes">divide</token>
          <token postag="DT"/>
          <token/>
          <token>in</token>
        </marker>
          <token>
            <exception>accordance</exception></token>
      </pattern>
      <message>The usual collocation for "\1" is "into", not "\4". Did you mean <suggestion>\1 \2 \3 into</suggestion>?</message>
      <example correction='Divide the pizza into'><marker>Divide the pizza in</marker> four.</example>
    </rule>
    <rule id='DOUBT_FOR_IN' name='Collocation: doubt for/in/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>for</token>
            <token regexp="yes">a|the</token>
            <token regexp="yes">moment|day|second|while</token>
        </antipattern>
        <antipattern>
            <token>for</token>
            <token>more</token>
            <token>than</token>
        </antipattern>
        <antipattern>
            <token inflected="yes">cause</token>
            <token>doubt</token>
        </antipattern>
        <antipattern>
            <token skip="4">for</token>
            <token regexp="yes">reasons?</token>
        </antipattern>
        <antipattern>
            <token>for</token>
            <token>now</token>
        </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">doubt</token>
          <token>for</token>
        </marker>
          <token>
            <exception regexp="yes">ex[ae]mple</exception></token>
      </pattern>
      <message>The usual collocation for "\1" is "in" or "about", not "\3". Did you mean <suggestion>\1 in</suggestion> or <suggestion>\1 about</suggestion>?</message>
      <example correction='doubt in|doubt about'>I <marker>doubt for</marker> that.</example>
      <example>I do not doubt for a moment the artistic merits of many of the books and writers in the comics field, adult or otherwise.</example>
      <example>And no doubt for pretty much the same reason.</example>
    </rule>
    <rule id='DRESS_WITH_IN' name='Collocation: dress with/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token skip="10" regexp="yes">salad|pasta</token>
            <token regexp="yes">dressing|dressed</token>
        </antipattern>
        <antipattern>
            <token>with</token>
            <token postag="DT" min="0" />
            <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
            <token regexp="yes">helmets?|hats?</token>
        </antipattern>
        <pattern>
            <token postag_regexp="yes" postag="NN.*|PRP_S.*" chunk_re=".-NP.*" />
            <token postag="RB" min="0">
                <exception postag="IN|EX" postag_regexp="yes" />
            </token>
            <marker>
                <token inflected="yes" chunk_re=".-VP">dress</token>
                <token>with</token>
            </marker>
        </pattern>
        <message>The usual collocation for "\3" is "in", not "\4". Did you mean <suggestion>\3 in</suggestion>?</message>
        <example correction='dresses in'>She <marker>dresses with</marker> a coverall.</example>
        <example>She adorned her dress with flowers.</example>
        <example>A Caesar salad is a salad of romaine lettuce and croutons dressed with parmesan cheese, lemon juice, olive oil, egg, Worcestershire sauce, garlic, and black pepper.</example>
    </rule>
    <rule id='FULL_WITH_OF' name='Collocation: full with/of'>
        <antipattern>
            <token>with</token>
            <token>respect</token>
        </antipattern>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>full</token>
          <token>with</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='full of'>The washing machine is <marker>full with</marker> dishes.</example>
      <example>The advice below applies in full with respect to these entities.</example>
    </rule>
    <rule id='RID_FROM_OF' name='Collocation: rid from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">rid</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='rid of'>He got <marker>rid from</marker> the clutter.</example>
    </rule>
    <rule id='GLAD_WITH_ABOUT' name='Collocation: glad with/about'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>glad</token>
          <token regexp="yes">with|from</token>
      </pattern>
      <message>The usual collocation for "\1" is "about", not "\2". Did you mean <suggestion>\1 about</suggestion>?</message>
      <example correction='glad about'>He's <marker>glad with</marker> it.</example>
    </rule>
    <rule id='GUARD_FROM_AGAINST' name='Collocation: guard from/against'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token skip="3">prevent</token>
            <token>from</token>
        </antipattern>
      <pattern>
          <token inflected="yes" regexp='yes'>(?:safe)?guard</token>
          <token>from</token>
      </pattern>
      <message>The usual collocation for "\1" is "against", not "\2". Did you mean <suggestion>\1 against</suggestion>?</message>
      <example correction='guards against'>The dog <marker>guards from</marker> the thieves.</example>
      <example>It's said that, "the horse's hooves were muffled by the gods" to prevent guards from knowing of his departure.</example>
    </rule>
    <rule id='GUILTY_FOR_OF' name='Collocation: guilty for/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
          <token inflected='yes' regexp='yes'>plead?</token>
          <token min='0'>of</token>
          <token min='0'>not</token>
          <token>guilty</token>
          <token>for</token>
          <token regexp='yes'>a|the</token>
          <token regexp='yes'>defendants?</token>
      </antipattern>
      <pattern>
        <marker>
          <token>guilty</token>
          <token>for</token>
        </marker>
          <token>
            <exception postag="VBG"/>
            <exception>some</exception></token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='guilty of'>Mark is <marker>guilty for</marker> laziness.</example>
      <example>...the court enters a plea of not guilty for a defendant who refuses to enter a plea.</example>
    </rule>
    <rule id='INDEPENDENTLY_FROM_OF' name='Collocation: independently from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token regexp="yes">independent(?:ly)?</token>
          <token>from</token>
        </marker>
          <token>
            <exception>now</exception></token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='Independently of'><marker>Independently from</marker> our relationship, you are not the best, nor most the brightest.</example>
    </rule>
    <rule id='INSIST_ON_GERUND' name='Collocation: insist on + gerund'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">insist</token>
          <token>to</token>
          <token postag="VB"/>
      </pattern>
      <message>The usual collocation for "\1" is "on", not "\2". Did you mean <suggestion>\1 on <match no="3" postag="VBG"/></suggestion>?</message>
      <example correction='insisted on attending'>She <marker>insisted to attend</marker> the conference.</example>
    </rule>
    <rule id='INTEREST_FOR_IN' name='Collocation: interest for/in'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern><!-- 2019-08-30 MFU. The noun takes for/on/from: Oxford Collocations Dictionary for students of English, 2nd edition. -->
          <token chunk="E-NP-singular">interest</token>
          <token>for</token>
      </antipattern>
      <pattern>
        <marker>
          <token regexp="yes">interest(?:ed|s)?</token>
          <token>for</token>
        </marker>
          <token>
            <exception postag="VB"/></token>
      </pattern>
      <message>The usual collocation for "\1" is "in", not "\2". Did you mean <suggestion>\1 in</suggestion>?</message>
      <example correction='interested in'>I am <marker>interested for</marker> the sea.</example>
      <example>I am <marker>interested in</marker> the sea.</example>
      <example>As a love interest for Spider-Man, the Black Cat would go on to be an...</example>
<!-- MFU. False negative. We need a rule that deals with semantics. --><example>This started an immense interest for ABBA in Australia, resulting in both the single a...</example>
    </rule>
    <rule id='JEALOUS_FROM_OF' name='Collocation: jealous from/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token>jealous</token>
          <token>from</token>
        </marker>
          <token>
            <exception postag="VB"/></token>
      </pattern>
      <message>The usual collocation for "\1" is "of", not "\2". Did you mean <suggestion>\1 of</suggestion>?</message>
      <example correction='jealous of'>Jane might be <marker>jealous from</marker> my car.</example>
    </rule>
    <rule id='PHOTO_WITH_HIS_CAT' name='Collocation: photo with/of + POSSESSIVE PRONOUN + NOUN'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>
            <exception inflected="yes">take</exception></token>
        <marker>
          <token inflected="yes">photo</token>
          <token>with</token>
          <token postag="PRP$"/>
          <token/>
        </marker>
      </pattern>
      <message>The usual collocation for "\2" is "of", not "\3". Did you mean <suggestion>\2 of \4 \5</suggestion>?</message>
      <example correction='photo of his cat'>This is a <marker>photo with his cat</marker>.</example>
    </rule>
    <rule id='IN_THIS_MOMENT' name='Collocation: in/at this moment'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>in</token>
          <token regexp="yes">this|that</token>
          <token>moment</token>
      </pattern>
      <message>The usual collocation for "\2 \3" is "at", not "\1". Did you mean <suggestion>At \2 \3</suggestion>?</message>
      <example correction='At this moment'><marker>In this moment</marker> she woke up.</example>
    </rule>
    <rule id='TIRED_ABOUT_OF' name='Collocation: tired about/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>tired</token>
          <token>about</token>
      </pattern>
      <message>The usual collocation for "\1" is "of" or "from", not "\2". Did you mean <suggestion>tired of</suggestion> or <suggestion>tired from</suggestion>?</message>
      <example correction='tired of|tired from'><marker>tired about</marker>.</example>
    </rule>
    <rule id='ADVERTISEMENT_OF_FOR' name='Collocation: advertisement of/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern>
        <token>advertisement</token>
        <token>of</token>
        <token regexp="yes">the|all|this</token>
        <token regexp="yes">year|month|week|day|time</token>
      </antipattern>
      <pattern>
          <token>advertisement</token>
          <token>of</token>
      </pattern>
      <message>The usual collocation for "\1" is "for", not "\2". Did you mean <suggestion>advertisement for</suggestion>?</message>
      <example correction='advertisement for'>Nice <marker>advertisement of</marker> your company.</example>
      <example>The commercial was ranked by ADBOWL as the best advertisement of the year.</example>
    </rule>
    <rule id='STOP_HIM_OF_FROM' name='Collocation: stop him of/from'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected='yes'>stop</token>
          <token regexp="yes">me|you|him|her|it|us|them</token>
          <token>of</token>
          <token>
            <exception>course</exception></token>
      </pattern>
      <message>The usual collocation for "\1 \2" is "from", not "of". Did you mean <suggestion>stop \2 from \4</suggestion>?</message>
      <example correction='stop us from achieving'>This <marker>stops us of achieving</marker> victory.</example>
    </rule>
    <rule id='IN_ON_AN_ALBUM' name='Collocation: in/on an album'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <antipattern><!-- MFU 2019-08-26 -->
          <token>participation</token>
          <token>in</token>
      </antipattern>
      <pattern>
          <token>in</token>
          <token postag="DT"/>
          <token>album</token>
      </pattern>
      <message>The usual collocation for "\3" is "on", not "in" when "album" refers to a collection of recorded music. If by "album" you mean a collection of photos, "in an album" is correct. Did you mean <suggestion>on \2 \3</suggestion>?</message>
      <example correction='on the album'>Listen to that <marker>in the album</marker>.</example>
      <example correction='on the album'>Do you like the colours <marker>in the album</marker>'s cover?.</example>
      <example>Listen to that <marker>on the album</marker>.</example>
      <example>His actual participation in the album's production amounted to simply paying for the...</example>
    </rule>
    <rule id='CURE_AGAINST_FOR' name='Collocation: cure against/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected='yes'>cure</token>
          <token>against</token>
      </pattern>
      <message>The usual collocation for "\1" is "for", not "against". Did you mean <suggestion>\1 for</suggestion>?</message>
      <example correction='cure for'>Researcher have found the <marker>cure against</marker> that type of cancer.</example>
    </rule>
    <rule id='TO_FOUND_FIND_A_CURE' name='Collocation: to found/find a cure'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>to</token>
          <token>found</token>
          <token postag="DT"/>
          <token regexp='yes'>cures?</token>
      </pattern>
      <message>The verb "to found" means "to establish", whereas "to find" means "to discover".</message>
      <suggestion>to find \3 \4</suggestion>
      <example correction='to find a cure'>It took a while <marker>to found a cure</marker> for malaria.</example>
    </rule>
    <rule id='DESIRE_ON_FOR' name='Collocation: desire on/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">realize</token>
          <token postag_regexp="yes" postag="DT|PRP\$"/>
        <marker>
          <token inflected="yes">desire</token>
          <token>on</token>
          <token>the</token>
          <token>
            <exception regexp="yes">plane|train|bus|TV|television|way|trip</exception></token>
        </marker>
      </pattern>
      <message>The usual collocation for "\3" is "for", not "\4". Did you mean <suggestion>\3 for \5 \6</suggestion>?</message>
      <example correction='desires for the business'>Even though some businessmen prefer unusual approaches to boost up their business identification, they get interested to identify the best approach to realize their <marker>desires on the business</marker> development.</example>
    </rule>
    <rule id="BROUGHT_THEM_IN_THE_AIRPORT" name="bring SOMEBODY in/to">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>in</token>
            <token>the</token>
            <token>loop</token>
        </antipattern>
      <pattern>
          <token inflected="yes">bring</token>
          <token postag="PRP"/>
          <token regexp="yes">in|at</token>
          <token postag="DT"/>
          <token postag="NN"/>
      </pattern>
      <message>The usual collocation for "\1" is "to", not "\3". Did you mean <suggestion>\1 \2 to \4 \5</suggestion>?</message>
      <example correction='brought them to the airport'>Friday came fast and the couple left their sweet home to take the bus that <marker>brought them in the airport</marker>.</example>
      <example type="triggers_error">That job brings him in an extra 60,000 yen a month.</example><!-- MFU 2019-08-28 regression. I do not know how to prevent the FP without causing an FN for the incorrect example. -->
      <example>Austin Chamber of Commerce I want to bring you in the loop on a hydro privatization transaction that EI's renewables group is looking at in the Republic of Georgia.</example>
    </rule>
    <rule id="CURATOR_OF" name="curator on/of">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp='yes'>curators?</token>
          <token>on</token>
          <token>the</token>
          <token/>
      </pattern>
      <message>The usual collocation for "curator" is "of", not "\2". Did you mean <suggestion>\1 of \3 \4</suggestion>?</message>
      <example correction='curator of the exposition'>The man to whom you were speaking to was the <marker>curator on the exposition</marker>.</example>
    </rule>
    <rule id="CLOSER_FROM" name="closer from/to">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">closer|near</token>
          <token>from</token>
          <token/>
      </pattern>
      <message>The usual collocation for "\1" is "to", not "from". Did you mean simply <suggestion>\1 to</suggestion> or <suggestion>further from</suggestion>?</message>
      <example correction='closer to|further from'>I moved in July to be <marker>closer from school</marker>.</example>
    </rule>
    <rule id="A_MY" name="article + possessive form">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14. Edited by MFU 2018-11-30 -->
      <antipattern>
          <token regexp="yes">are|were</token>
          <token regexp="yes">th[eo]se</token>
          <token skip="-1" postag="PRP$"/>
          <token>?</token>
      </antipattern>
      <antipattern><!-- https://www.macmillandictionary.com/dictionary/british/for-one-reason-or-another -->
          <token>for</token>
          <token>one</token>
          <token>reason</token>
          <token>or</token>
          <token>another</token>
      </antipattern>
      <antipattern><!-- a mine manager -->
          <token postag="DT"/>
          <token>mine</token>
      </antipattern>
      <antipattern>
        <token>one</token>
        <token>another</token>
        <token postag="PRP$" />
      </antipattern>
      <antipattern>
        <token regexp="yes">and|but</token>
        <token>no</token>
        <token regexp="yes">your|his|her|my</token>
      </antipattern>
      <antipattern>
        <token postag="SENT_START" />
        <token>no</token>
        <token regexp="yes">your|his|her|my</token>
      </antipattern>
      <antipattern><!-- https://en.wikipedia.org/wiki/The_My_Hero_Project -->
        <token>my</token>
        <token>hero</token>
        <token>project</token>
      </antipattern>
      <antipattern>
        <token chunk_re=".-VP" />
        <token regexp="yes">this|that|some|each</token>
      </antipattern>
      <antipattern>
        <token regexp="yes" inflected="yes">be|do|have</token>
        <token inflected="yes">not</token>
        <token regexp="yes">this|that|some|each</token>
      </antipattern>
      <antipattern>
        <token postag="VB.*|IN" postag_regexp="yes">
            <exception regexp="yes" inflected="yes">think|hope</exception>
        </token>
        <token regexp="yes">this|that|some|each</token>
      </antipattern>
      <antipattern case_sensitive="yes">
        <token postag="DT" regexp="yes">[a-z].*</token>
        <token regexp="yes">[A-Z]+</token>
      </antipattern>
      <antipattern>
        <token regexp="yes">oo?hh?|aa?hh?|hell|fuck</token>
        <token>no</token>
      </antipattern>
      <antipattern>
        <token>a</token>
        <token>la</token>
      </antipattern>
      <pattern>
        <token postag="DT">
            <exception regexp="yes">neither|either|that|all|much|last|next</exception>
        </token>
        <token postag="PRP$">
            <exception regexp="yes" case_sensitive="yes">M[Yy]|Your|Our|His|Her|Their</exception>
        </token>
      </pattern>
      <message>A determiner cannot be combined with a possessive pronoun. Did you mean simply <suggestion>\1</suggestion> or <suggestion>\2</suggestion>?</message>
      <example correction='The|My'><marker>The my</marker> car is in the garage.</example>
      <example correction='those|our'>These customs differ from <marker>those our</marker> country.</example>
      <example correction="This|Your"><marker>This your</marker> answer?</example>
      <example>Are <marker>these yours</marker>?</example>
      <example><marker>Either</marker> your granddaughter is going insane or ...</example>
      <example>Are <marker>those your</marker> pictures?</example>
      <example>"Were <marker>those your</marker> best options?" he asked.</example>
      <example><marker>For one reason or another</marker> their holiday in France didn't come up to expectations.</example>
      <example>... evidence of the Hallstatt culture was found by a mine manager in the 19th century.</example>
      <example>The My Hero Project.</example>
      <example>Is this your dog, sir?</example>
      <example>Is this yours, Tom?</example>
      <example>She will remember this her whole life.</example>
      <example>Nashville, Tennessee, United States This mine will close down next month.</example>
      <example>And no your username can't be changed.</example>
      <example>The insurances last your entire life.</example>
      <example>They will send some your way.</example>
      <example>Isn't this your father?</example>
      <example>Please give each his or her task.</example>
    </rule>
    <rule id="ENROLLED_IN_FOR" name="I enrolled international school">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token postag="PRP"/>
          <token>enrolled</token>
          <token postag="IN">
            <exception regexp='yes'>in|for</exception></token>
      </pattern>
      <message>The usual collocation for "\2" is "in" (a school) or "for" (a course). Did you mean <suggestion>\1 \2 in</suggestion> or <suggestion>\1 \2 for</suggestion>?</message>
      <example correction='He enrolled in|He enrolled for'><marker>He enrolled at</marker> the college.</example>
    </rule>
    <rule id="STEPS_TO_DO" name="steps to do/take">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">step</token>
          <token>to</token>
          <token>do</token>
      </pattern>
      <message>The usual collocation for "\1" is "take". Did you mean <suggestion>\1 \2 take</suggestion>?</message>
      <example correction='steps to take'>There are some <marker>steps to do</marker>.</example>
    </rule>
    <rule id="GOING_TO_VACATION" name="going on vacation">
        <antipattern><!-- company name -->
            <token>holiday</token>
            <token>inn</token>
        </antipattern>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">go</token>
          <token>to</token>
          <token regexp="yes">vacation|holiday</token>
      </pattern>
      <message>The usual collocation for "\3" is "on".</message>
      <suggestion>\1 on \3</suggestion>
      <example correction='going on vacation'>She is <marker>going to vacation</marker>.</example>
      <example>I will go to Holiday Inn and complain about my vacation.</example>
    </rule>

    <rule id="IN_FACEBOOK" name="in (on) Facebook">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>in</token>
            <token regexp="yes">Facebook|Twitter|Pinterest|Wikipedia|Amazon|LinkedIn|Yahoo|Blogger|YouTube|Instagram|Wordpress|Reddit|TikTok</token>
            <token>'s</token>
        </antipattern>
        <antipattern>
            <token>in</token>
            <token>Twitter</token>
            <token regexp="yes">mentions|replies|tweets</token>
        </antipattern>
        <antipattern>
            <token regexp="yes" inflected="yes" skip="5">stake|interest|invest|investor|investment|share</token>
            <token>in</token>
            <token regexp="yes">Facebook|Twitter|Pinterest|Wikipedia|Amazon|LinkedIn|Yahoo|Blogger|YouTube|Instagram|Reddit</token>
        </antipattern>
        <pattern>
            <token>in</token>
            <token chunk="E-NP-singular" regexp="yes">Facebook|Twitter|Pinterest|Wikipedia|Amazon|LinkedIn|Yahoo|Blogger|YouTube|Instagram|Wordpress|Reddit</token>
        </pattern>
        <message>The usual collocation for "\2" is "on". Did you mean <suggestion>on \2</suggestion>?</message>
        <example correction='on Wikipedia'>Check it <marker>in Wikipedia</marker>.</example>
        <example>Check it <marker>on Wikipedia</marker>.</example>
        <example>He is very active in Facebook groups.</example><!-- #2622 -->
        <example>It's not working in Yahoo mail.</example><!-- #2622 -->
        <example>Mr Bezos owns an 11% stake in Amazon and on Tuesday, the firm's shares rose by 5.3%.</example>
        <example>I invested in Facebook.</example>
        <example>Yuri Milner had strong Kremlin backing for his investments in Facebook and Twitter.</example>
    </rule>

    <rule id="WRITE_IN_MY_OWN_PAGE" name="Write on my page">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">write</token>
          <token min='0' skip='1'>
            <exception regexp='yes'>on|in</exception></token>
          <token>in</token>
          <token min='0' postag_regexp="yes" postag="PRP\$|DT"/>
          <token min='0'>own</token>
          <token regexp="yes">(?:page|blog|webpage|wall)s?</token>
      </pattern>
      <message>The usual collocation for "\1" is "on". Did you mean <suggestion>\1 <match no='2' include_skipped='all'/> on <match no='4' include_skipped='all'/> <match no='5' include_skipped='all'/> <match no='6' include_skipped='all'/></suggestion>?</message>
      <example correction='written on page'>That is <marker>written in page</marker> 21.</example>
      <example correction='written on my own page'>That is <marker>written in my own page</marker>.</example>
      <example correction='Write that on my own page'><marker>Write that in my own page</marker>.</example>
      <example correction='Write that piece on my own page'><marker>Write that piece in my own page</marker>.</example>
    </rule>
    <rule id="COME_TO_PLANE" name="came to/by">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
        <antipattern>
            <token>when</token>
            <token>it</token>
            <token>comes</token>
            <token>to</token>
        </antipattern>
      <pattern>
          <token postag="PRP"/>
          <token inflected="yes">come</token>
          <token>to</token>
          <token regexp="yes">plane|train|bus|car|metro|subway|airplane|bike|motorcycle</token>
      </pattern>
      <message>The usual collocation for "\2" is "by".</message>
      <suggestion>\1 \2 by \4</suggestion>
      <example correction='I came by plane'><marker>I came to plane</marker>.</example>
    </rule>
    <rule id="THAT_I_WORK_FOR" name="work (for) is">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token postag="DT"/>
          <token regexp="yes">company|person|guy|man|firm</token>
          <token regexp="yes">that|which|who</token>
          <token postag="PRP"/>
          <token inflected="yes">work</token>
          <token inflected="yes">be</token>
      </pattern>
      <message>The word "for" is missing between "\5" and "\6".</message>
      <suggestion>\1 \2 that \4 \5 for \6</suggestion>
      <example correction='The company that I work for is'><marker>The company that I work is</marker> Cosme Inc...</example>
    </rule>
    <rule id="WAITING_MY_PATIENT" name="waiting (for) a patient" default='off'>
      <!-- works better with multiword chinking, if adverbial expressions are added to the database -->
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes">wait</token>
          <token postag="PRP$|DT" postag_regexp='yes'/>
          <token postag_regexp="yes" postag="NN.*"/>
      </pattern>
      <message>The word "for" is missing between "\1" and "\1 \2".</message>
      <suggestion>\1 for \2 \3</suggestion>
      <example correction='waiting for her patient'>Anne is <marker>waiting her patient</marker>.</example>
    </rule>
    <rule id="TRAVELED_FOR" name="travel (for) X days">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token postag="PRP"/>
          <token regexp="yes">travell?ed</token>
          <token postag="CD"/>
          <token regexp="yes">(?:hour|day|week|month|year|session|semester|term|course)s?</token>
      </pattern>
      <message>The word "for" is missing between "\2" and "\3".</message>
      <suggestion>\1 traveled for \3 \4</suggestion>
      <example correction='I traveled for four days'><marker>I traveled four days</marker>.</example>
    </rule>
    <rule id="RESPECTFUL_AGAINST" name="Respectful against/toward">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">(?:dis)?respectful</token>
          <token>against</token>
      </pattern>
      <message>The usual collocation for "\1" is "toward" but never "\2". Did you mean <suggestion>\1 toward</suggestion>?</message>
      <example correction='Respectful toward'><marker>Respectful against</marker>.</example>
    </rule>
    <rule id="DISAPPOINTED_OF" name="Disappointed with, at, or by">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>disappointed</token>
          <token>of</token>
      </pattern>
      <message>The usual collocation for "disappointed" is "with", "at", "by", but never "of". Did you mean <suggestion>\1 with</suggestion>?</message>
        <suggestion>\1 at</suggestion>
        <suggestion>\1 by</suggestion>
      <example correction='disappointed with|disappointed at|disappointed by'>We could be <marker>disappointed of</marker> this announcement.</example>
    </rule>
    <rule id="ACCOUNTS_FOR" name="account (for)">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
        <marker>
          <token regexp="yes">that|which</token>
          <token inflected="yes">account</token>
        </marker>
          <token regexp="yes">an?</token>
          <token/>
      </pattern>
      <!-- -->
      <message>The verb "account" is usually followed by "for".</message>
      <suggestion>\1 \2 for</suggestion>
      <example correction='That accounts for'><marker>That accounts</marker> a rise in price.</example>
      <example correction='that accounts for'>The use of symbolism is an important writing technique <marker>that accounts</marker> a crucial contribution on the novel.</example>
    </rule>
    <rule id="ON_THE_NOVEL" name="contribution on/to">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern>
        <token>on</token>
        <token regexp="yes" skip="3">an?</token>
        <token>basis</token>
      </antipattern>
      <antipattern>
        <token>on</token>
        <token>the</token>
        <token regexp="yes">day|night</token>
        <token>of</token>
      </antipattern>
      <antipattern>
        <token skip="1">on</token>
        <token regexp="yes">\d+(th|nd|st|rd)</token>
      </antipattern>
      <antipattern>
        <token>on</token>
        <token>behalf</token>
        <token>of</token>
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">contribution</token>
          <token>on</token>
        </marker>
          <token>
            <exception>time</exception>
        </token>
      </pattern>
      <message>The usual preposition for "contribution" is "to". Did you mean <suggestion>\1 to</suggestion>?</message>
      <example correction='contribution to'>The use of symbolism is an important writing technique that accounts a crucial <marker>contribution on</marker> the novel.</example>
      <example correction='contribution to'>Make a code <marker>contribution on</marker> LanguageTool.</example>
      <example>... employers to make employee benefit plan contributions on behalf of temporary workers.</example>
    </rule>
    <rule id="ARRIVED_IN" name="Collocation: arrived (in the) downtown">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
        <marker>
          <token inflected="yes">arrive</token>
          <token>in</token>
          <token>the</token>
          <token>downtown</token>
        </marker>
          <token>.</token>
      </pattern>
      <message>Did you mean simply <suggestion>\1 \4</suggestion>? You do not need the word "in" here.</message>
      <example correction='Arrive downtown'><marker>Arrive in the downtown</marker>.</example>
    </rule>
    <rule id="MENTION_ABOUT" name="Collocation: consider (about)">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token inflected="yes" regexp="yes">discuss|consider|mention</token>
          <token>about</token>
          <token/>
      </pattern>
      <message>Did you mean simply <suggestion>\1 \3</suggestion>? You do not need the word "about" here.</message>
      <example correction='consider this'>Please, <marker>consider about this</marker>.</example>
    </rule>
    <rule id="ASSOCIATES_TO" name="Collocation: associates to/with">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token regexp="yes">associate[sd]?</token>
          <token postag="PRP$?" postag_regexp='yes'/>
          <token/>
          <token>to</token>
      </pattern>
      <message>Did you mean <suggestion>\1 \2 \3 with</suggestion>? The usual preposition for the word "associate" is "with" not "to".</message>
      <short>Extra preposition</short>
      <example correction='associates her layoff with'>She <marker>associates her layoff to</marker> your arrival.</example>
    </rule>
    <rule id="NAMED_IT_AS" name="named it (as)">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>named</token>
          <token postag="PRP$?" postag_regexp='yes'/>
          <token>as</token>
          <token/>
      </pattern>
      <message>Did you mean simply <suggestion>named \2 \4</suggestion>? You do not need the word "as" here.</message>
      <short>Extra preposition</short>
      <example correction="named it Gilead">They <marker>named it as Gilead</marker>.</example>
    </rule>
    <rule id="LOT_OF" name="Collocation: lot (of)" default="on">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern>
        <token>a</token>
        <token>lot</token>
        <token>going</token>
        <token>on</token>
      </antipattern>
      <pattern>
          <token regexp='yes'>a|the</token>
          <token regexp='yes'>lots?</token>
          <token postag_regexp='yes' postag='NN(:UN?|P?S)'>
            <exception regexp='yes'>of|tonight|tomorrow|yesterday</exception>
            <exception postag="IN|MD|CC|RB|PRP.*|JJR" postag_regexp="yes" />
          </token>
      </pattern>
      <message>If you mean a great quantity, use <suggestion>\1 \2 of \3</suggestion>.</message>
      <short>Missing preposition</short>
      <example correction="A lot of people"><marker>A lot people</marker> were late.</example>
      <example>...my credit card and ran up a lot of charges." It's a lot harder to get them to buy into "Someone stole my magic s...</example>
      <example>We walked a lot.</example>
      <example>There won't be a lot going on because it has been marked as fixed.</example>
      <example>Hey, I could do a lot worse.</example>
      <example>It snowed there a lot yesterday.</example>
    </rule>
    <rule id="INTERESTED_BY" name="Collocation: interested by/in">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/Capital_and_Interest -->
          <token>Capital</token>
          <token>and</token>
          <token>Interest</token>
      </antipattern>
      <antipattern>
        <token>by</token>
        <token>the</token>
        <token>way</token>
      </antipattern>
      <antipattern>
        <token>by</token>
        <token regexp="yes" min="0">next|last</token>
        <token regexp="yes">&months;|&weekdays;|&abbrevMonths;|&abbrevWeekdays;|week-?end</token>
      </antipattern>
      <pattern>
          <token regexp="yes">interest(?:ed)?</token>
          <token>by</token>
      </pattern>
      <message>The usual collocation for "\1" is "in", not "by".</message>
      <suggestion>\1 in</suggestion>
      <example correction="interested in">I am not <marker>interested by</marker> this job.</example>
      <example>I am not <marker>interested in</marker> this job.</example>
      <example>Refer to Capital and Interest by Eugen von Böhm-Bawerk.</example>
      <example>He needs a rough idea of how many people are interested by May 1st.</example>
      <example>There are not many interested by the way.</example>
    </rule>
    <rule id="AT_THE_JOB" name="Collocation: at/on the job">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16. Edited by MFU 2019-03-13 -->
      <pattern>
          <token>at<exception scope="previous" inflected="yes">look</exception></token>
          <token>the</token>
          <token>job</token>
      </pattern>
      <message>The usual collocation is <suggestion>on the job</suggestion> or <suggestion>at work</suggestion>.</message>
      <example correction="on the job|at work">He does personal stuff <marker>at the job</marker>.</example>
      <example>He does personal stuff <marker>on the job</marker>.</example>
      <example>I'd like to invite you to <marker>look at the job</marker> I've posted.</example>
    </rule>
    <rule id="ANALYSIS_ABOUT" name="Collocation: analysis about/of">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token>analysis</token>
          <token>about</token>
      </pattern>
      <message>The usual collocation for "analysis" is "of".</message>
      <suggestion>analysis of</suggestion>
      <example correction="analysis of">Read the <marker>analysis about</marker> the results.</example>
    </rule>
    <rule id="IT_IS_SURE" name="Collocation: it is sure/certain">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern>
        <token>sure</token>
        <token postag="JJ|VBG" postag_regexp="yes" />
      </antipattern>
      <pattern>
          <token>it</token>
          <token regexp="yes" min="0">&apostrophe;</token>
          <token inflected="yes">be</token>
          <marker>
            <token>sure</token>
          </marker>
      </pattern>
      <message>"It is sure" is uncommon. Consider using <suggestion>certain</suggestion>.</message>
      <example correction="certain">It is <marker>sure</marker> that my English will improve.</example>
      <example>It is sure good.</example><!-- used as adverb -->
      <example>It's sure going to be rough coming back to 100.</example><!-- used as adverb -->
    </rule>
    <rule id="SPEND_IT_FOR" name="Collocation: spend it for/on">
        <antipattern><!-- https://www.lexico.com/definition/for_good -->
            <token>for</token>
            <token>good</token>
        </antipattern>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token inflected='yes'>spend</token>
          <token>it</token>
          <token>for</token>
      </pattern>
      <message>The usual prepositions that follow "spend it" are either "on" or "in". Did you mean <suggestion>spend it on</suggestion>?</message>
      <example correction="spend it on">I <marker>spend it for</marker> my essence.</example>
    </rule>
    <rule id="BY_EXAMPLE" name="Translation errors: by/for example">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token postag="SENT_START"/>
          <marker>
              <token regexp="yes">by|par</token>
              <token regexp="yes">ex[ae]mple</token>
          </marker>
      </pattern>
      <message>The best translation for the introductory phrase "\1 \2" is "for example". Did you mean <suggestion>For example</suggestion>?</message>
      <example correction="For example"><marker>By example</marker>, poor spelling makes pattern matching more difficult.</example>
    </rule>
    <rule id="GESTURE_OF_GREETING" name="Translation error: a gesture of greeting">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token regexp='yes'>ma[dk]es?</token>
          <token min='0'>me</token>
          <token min='0'>a</token>
          <token regexp='yes'>gestures?</token>
          <token>of</token>
          <token>greeting</token>
      </pattern>
      <message>This expression sounds awkward. Did you mean <suggestion>waved at me</suggestion>?</message>
      <short>Translation error</short>
      <example correction="waved at me">She <marker>made me a gesture of greeting</marker>.</example>
    </rule>
    <rule id="WHAT_WE_CALL_2" name="Collocation: we call/you would call">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token inflected="yes" regexp='yes'>be|m</token>
        <marker>
          <token>not</token>
          <token>what</token>
          <token>we</token>
          <token>call</token>
        </marker>
      </pattern>
      <message>This expression sounds awkward. Did you mean <suggestion>\2 \3 you would call</suggestion>?</message>
      <example correction="not what you would call">I'm <marker>not what we call</marker> perfectly bilingual.</example>
    </rule>
    <rule id='CONSEQUENCES_OF_FOR' name='Collocation: consequences on/for/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern><!-- MFU 2019-08-25. www.lexico.com/en/definition/to preposition #3 -->
          <token regexp="yes">consequences?</token>
          <token>to</token>
          <token postag="PRP"/>
      </antipattern>
      <antipattern>
        <token regexp="yes">consequences?</token>
        <token chunk="B-VP">to</token>
        <token postag="VBP?" postag_regexp="yes" />
      </antipattern>
      <pattern>
          <token>
            <exception inflected="yes">give</exception></token>
         <marker>
          <token regexp="yes">consequences?</token>
          <token postag="IN">
            <exception regexp="yes">of|for|in|on|as|than|along|under|over</exception></token>
         </marker>
      </pattern>
      <message>The usual preposition to use after "\2" is not "\3". Did you mean <suggestion>\2 of</suggestion>, <suggestion>\2 for</suggestion>, or <suggestion>\2 on</suggestion>?</message>
      <example correction="consequences of|consequences for|consequences on">The new labour laws will have <marker>consequences to</marker> employees.</example>
      <example>Think about the consequence 'of' inflation 'for' the economy.</example>
      <example>Mayr claimed that there was "nothing of any real consequence in biology after Lucretius and Galen until the Renaissance.</example>
      <example>... a gritty look at war and its consequences on human life. [Example from Oxford Collocations Dictionary for students of English, 2nd edition.]</example>
      <example>It is of little consequence to me.</example>
      <example>Should the situation deteriorate further, it will also have economic consequences as companies hurry to reduce their debt burdens.</example>
      <example>There are a lot of consequences to begin with.</example>
    </rule>
    <rule id='ASK_TO' name='Collocation: ask (to)'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern><!-- Edited by MFU 2019-12-12 -->
        <token inflected="yes">ask</token>
        <token>to</token>
        <token chunk='B-NP-plural' postag='NNS'/>
      </antipattern>
      <antipattern>
          <token inflected="yes">ask</token>
          <token>to</token>
          <token regexp="yes" min="0">&quote;</token>
          <token postag='VB'/>
      </antipattern>
      <antipattern>
          <token inflected="yes">ask</token>
          <token>to</token>
          <token regexp="yes">both|all</token>
          <token postag='VB'/>
      </antipattern>
      <antipattern>
          <token inflected="yes">ask</token>
          <token>to</token>
          <token postag="RB" />
          <token postag='VB'/>
      </antipattern>
      <antipattern>
        <token regexp="yes" skip="7">whom?|which</token>
        <token>to</token>
        <token>ask</token>
      </antipattern>
      <antipattern>
        <token inflected="yes">ask</token>
        <token>to</token>
        <token>the</token>
        <token regexp="yes">party|prom|meeting</token>
      </antipattern>
      <antipattern>
        <token regexp="yes">was|were|are|is|been|be</token>
        <token>asked</token>
        <token>to</token>
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">ask</token>
          <token>to</token>
        </marker>
          <token>
            <exception postag='VB|UNKNOWN' postag_regexp="yes" />
            <exception regexp="yes">login|setup</exception><!-- compound error -->
        </token>
      </pattern>
      <message>This looks like a collocation error. You do not need a preposition after "\1".</message>
      <suggestion>\1</suggestion>
      <example correction="Ask"><marker>Ask to</marker> all the employees.</example>
      <example>I was asked to put away all the papers we used at the meeting.</example>
      <example>The reason I'm here is because I was asked to come.</example>
      <example>Mary was asked to dances occasionally.</example>
      <example>They were asked to both explain what they did</example>
      <example>Tom likes both Mary and Alice and can't decide which one to ask to the dance this weekend.</example>
      <example>Tom did that because he was asked to.</example>
      <example>Tom was asked to the party.</example>
      <example correction="ask">It seems that the only way is to <marker>ask to</marker> the user to create a new one.</example>
      <example correction="ask">Do you happen to know if it’s safe or should I <marker>ask to</marker> the OpenSUSE community?</example>
    </rule>
    <rule id='AT_IN_THE_KITCHEN' name='Collocation: at/in the room'>
        <antipattern>
            <token>room</token>
            <token regexp="yes">tables?|doors?|windows?|pressure</token>
        </antipattern>
        <antipattern>
            <token>kitchen</token>
            <token regexp="yes">counters?|sinks?|tables?|island|door</token>
        </antipattern>
        <antipattern>
            <token>kitchen</token>
            <token regexp="yes">counters?|sinks?|tables?|island|door</token>
        </antipattern>
        <antipattern>
            <token>toilet</token>
            <token regexp="yes">seats?</token>
        </antipattern>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
        <token>
            <exception inflected="yes" regexp='yes'>look|shoot|stare|point|glance|howl</exception>
        </token>
        <marker>
          <token>at</token>
          <token>the</token>
          <token regexp="yes">living(room)?|kitchen|bedroom|dining|room|bathroom|attic|ballroom|cellar|hall|pantry|toilet</token><!--|library|office-->
        </marker>
        <token><exception regexp="yes">tables?|'s</exception></token>
      </pattern>
      <message>This is a collocation error. Use "in" for rooms.</message>
      <suggestion>in \3 \4</suggestion>
      <example correction="in the kitchen">The plant is <marker>at the kitchen</marker>.</example>
      <example>He sat at the dining table.</example>
      <example>He was sitting at the kitchen counter.</example>
      <example>He was sitting at the kitchen's table.</example>
    </rule>
    <rule id='INVOICE_OF_FOR' name='Collocation: invoice of/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token postag_regexp="yes" postag="DT|VB[ZPDGN]"/>
          <token regexp='yes'>invoices?</token>
          <token>of</token>
      </pattern>
      <message>The usual preposition to use after "\1 \2" is "for", not "of". Did you mean <suggestion>\1 \2 for</suggestion>?</message>
      <example correction="an invoice for">We booked for 8 tickets but we only received <marker>an invoice of</marker> 7 tickets.</example>
      <example correction="issued invoices for">The supplier has not yet <marker>issued invoices of</marker> Ms Tuyen to us.</example>
    </rule>
    <rule id='IN_CHARGE_OF_FROM' name='Collocation: in charge of/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token>in</token>
          <token>exchange</token>
          <token regexp='yes'>of|from</token>
      </pattern>
      <message>The usual preposition to use after "\1 \2" is "for", not "of". Did you mean <suggestion>\1 \2 for</suggestion>?</message>
      <example correction="in exchange for">Wood <marker>in exchange of</marker> metal.</example>
    </rule>
    <rule id='FILL_OF_WITH' name='Collocation: fill of/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
        <antipattern>
            <token>of</token>
            <token>course</token>
        </antipattern>
        <antipattern>
            <token>of</token>
            <token regexp="yes">my|their|her|his|y?our</token>
            <token regexp="yes">day|week(end)?|month|year</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">couple|number|lot|ton|bunch|shortage|majority</token>
            <token>of</token>
        </antipattern>
      <pattern>
          <token inflected="yes">fill</token>
          <token postag="DT"/>
          <token/>
          <token>of</token>
      </pattern>
      <message>The usual preposition to use after "\1" is "with", not "\2". Did you mean <suggestion>\1 \2 \3 with</suggestion>?</message>
      <example correction="Fill the page with"><marker>Fill the page of</marker> numbers.</example>
      <example>The job filled every minute of her day.</example>
      <example>Companies are seeking to fill a shortage of staff schooled in the traditional practices of trading physical metal.</example>
    </rule>
    <rule id='LOCATED_ON_AT' name='Collocation: located on (at) Main street'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token regexp='yes' inflected='yes'>locate|live|resident|sell|buy|go|turn</token>
          <token regexp='yes'>in|on</token>
          <token postag="CD"/>
          <token regexp="yes" skip='2'>[A-Z\-][a-z\-]*</token>
          <token regexp="yes">Street|Road|Blvd|Boulevard|Avenue|Ave|St|Rd</token>
      </pattern>
      <message>The usual preposition for an exact address is "at", not "on". Did you mean <suggestion>located at \3 <match no="4" include_skipped='all' case_conversion="startupper"/> <match no="5" include_skipped='all' case_conversion="startupper"/></suggestion>?</message>
      <example correction='located at 11056 Main Street'>The company's name is Denver Inc. and it's <marker>located on 11056 Main street</marker>.</example>
      <example correction='located at 11056 Great Suffolk St'>The company's name is Denver Inc. and it's <marker>located in 11056 Great Suffolk St</marker>.</example>
      <example correction='located at 11056 Henri-Bourassa Street'>The company's name is Denver Inc. and it's <marker>located on 11056 Henri-Bourassa street</marker>.</example>
    </rule>
    <rule id='ON_IN_THE_MIDDLE' name='Collocation: on/in the middle'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
        <marker>
          <token>on</token>
          <token>the</token>
          <token regexp="yes">sewers|sewer|hole|pit|middle|center</token>
        </marker>
          <token>
            <exception postag_regexp="yes" postag="NN(:UN?|S)?"/>
            <exception>'s</exception>
        </token>
      </pattern>
      <message>In this expression, the usual preposition is "in", not "on". Did you mean <suggestion>in \2 \3</suggestion>?</message>
      <example correction='in the middle'>The button is <marker>on the middle</marker> of the screen.</example>
      <example>Over the next year, APL and the Army will decide on the center's location, organization and participants.</example>
    </rule>
    <rule id='ON_IN_THE_CORNER' name='Collocation: on/in the corner'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token regexp='yes'>at|on</token>
          <token>the</token>
          <token regexp="yes">top|bottom|upper|lower</token>
          <token regexp="yes">right|left</token>
          <token>corner</token>
      </pattern>
      <message>The usual preposition to use with "corner" is "in", not "on". Did you mean <suggestion>in \2 \3 \4 \5</suggestion>?</message>
      <example correction='in the top left corner'>The button is <marker>on the top left corner</marker> of the screen.</example>
    </rule>
    <rule id='ON_IN_THE_CORNER_2' name='Collocation: on/in the corner'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token regexp='yes'>at|on</token>
          <token>the</token>
          <token regexp="yes">(top|bottom|upper|lower)\-(right|left)</token>
          <token>corner</token>
      </pattern>
      <message>The usual preposition to use with "corner" is "in", not "on". Did you mean <suggestion>in \2 \3 \4</suggestion>?</message>
      <example correction='in the top-left corner'>The button is <marker>on the top-left corner</marker> of the screen.</example>
    </rule>
    <rule id='SIMILAR_LIKE_AS_SOMETHING' name='Collocation: similar/like as/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
        <marker>
          <token>similar</token>
          <token>as</token>
          <token regexp="yes">an?</token>
          <token/>
        </marker>
          <token>
            <exception inflected="yes">be</exception></token>
      </pattern>
      <message>The usual preposition to use with "similar" is "to", not "as". Did you mean <suggestion>\1 to \3 \4</suggestion>?</message>
      <suggestion>like \3 \4</suggestion>
      <example correction='similar to a church|like a church'>the roof will be <marker>similar as a church</marker>.</example>
    </rule>
    <rule id='KIND_WITH_TO' name='Collocation: kind with/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
        <antipattern>
            <token regexp="yes">the|some|own</token>
            <token>kind</token>
        </antipattern>
        <antipattern>
            <token>kind</token>
            <token skip="2">with</token>
            <token regexp="yes">words|hands</token>
        </antipattern>
      <pattern>
        <marker>
          <token>kind</token>
          <token>with</token>
        </marker>
          <token postag_regexp="yes" postag="NN[PS]|PRP\$?"/>
      </pattern>
      <message>The usual preposition to use with "\1" is "to".</message>
      <suggestion>\1 to</suggestion>
      <example correction='kind to'>All the people he met were very <marker>kind with</marker> him.</example>
      <example>You know, the kind with lots of guns, explosions, and high-speed car chases.</example>
      <example>Be kind with your words.</example>
    </rule>
    <rule id='COME_IN_TO' name='Collocation: come in/into'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <antipattern>
        <token>my</token>
        <token regexp="yes">dears?|pals?|friends?|darlings?</token>
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">come</token>
          <token>in</token>
        </marker>
          <token postag="PRP$"/>
          <token min="0" postag="JJ"/>
      </pattern>
      <message>The words "come in" and "come to" have different meanings. "Come in \3 office" means "have an orgasm in \3 office". "Come to" or "Come into" means "enter".</message>
      <suggestion>come to</suggestion>
      <suggestion>come into</suggestion>
      <example correction='come to|come into'>Finally, the boss called us all to <marker>come in</marker> her giant office for a meeting.</example>
      <example>Finally, the boss called us all to <marker>come into</marker> her giant office for a meeting.</example>
      <example type="triggers_error">... as one who believed the end of the world was coming in his own lifetime and believed himself to be a...</example>
    </rule>
    <rule id='MOTIVATION_IN_TO' name='Collocation: motivation in/to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token>motivation</token>
          <token>in</token>
          <token>study</token>
      </pattern>
      <message>Do not use "motivation in \3". Use "to" + infinitive form instead.</message>
      <suggestion>motivation to \3</suggestion>
      <example correction='motivation to study'>It is very important for them because <marker>motivation in study</marker> is the best ways for them to get good mark and high spirit in study process.</example>
    </rule>
    <rule id='IN_ON_THE_RIGHT_HAND_SIDE' name='Collocation: in/on the right hand side'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token regexp='yes'>at|in</token>
          <token>the</token>
          <token regexp="yes">right|left</token>
          <token min="0">hand</token>
          <token>side</token>
      </pattern>
      <message>In this case, the usual preposition with "side" is "on", not "in". Did you mean <suggestion>on \2 <match no='3' include_skipped='all'/> <match no='4' include_skipped='all'/> \5</suggestion>?</message>
      <example correction='on the left hand side'>The button is <marker>in the left hand side</marker> of the screen.</example>
    </rule>
    <rule id='IN_AT_THE_TOP' name='Collocation: in/at the top'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
        <marker>
          <token regexp='yes'>in|on</token>
          <token>the</token>
          <token regexp="yes">top|bottom</token>
        </marker>
          <token>of</token>
          <token>the</token>
          <token>screen</token>
      </pattern>
      <message>The usual preposition to use with "bottom" or "top" is "at", not "in". Did you mean <suggestion>at \2 \3</suggestion>?</message>
      <example correction='at the top'>The button is <marker>in the top</marker> of the screen.</example>
    </rule>
    <rule id='LUNCH_TO_FOR' name='Collocation: lunch to/for'>
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token postag_regexp="yes" postag="JJ|DT"/>
          <token regexp="yes">breakfast|lunch|dinner|supper|snack|meal|feast</token>
          <token>to</token>
          <token postag_regexp="yes"  postag="PRP$|DT"/>
          <token postag_regexp="yes" postag="NN(:UN?|S)?"/>
      </pattern>
      <message>The usual preposition to use when you do something for the benefit of another person is "for". Did you mean <suggestion>\1 \2 for \4 \5</suggestion>?</message>
      <example correction='The lunch for the guests'><marker>The lunch to the guests</marker> is ready.</example>
    </rule>
    <rule id="DIFFICULT_TO_ME" name="Collocation: difficult to/for">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token>difficult</token>
          <token>to</token>
          <token postag="PRP"/>
      </pattern>
      <message>The usual preposition after "difficult" is "for" when followed by a pronoun. "Difficult" and "to" only appear together when "to" is part of an infinitive structure.</message>
      <suggestion>\1 for \3</suggestion>
      <example correction="difficult for me">Studying grammar is <marker>difficult to me</marker>.</example>
    </rule>
    <rule id="DIVERSITY_OF" name="Collocation: a diversity of colours OR diverse colours"><!-- XXX analyse if logic is good -->
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token postag="DT"/>
        <marker>
          <token regexp="yes">diversity|diversitie</token>
          <token postag_regexp="yes" postag="NN(S|:UN)">
            <exception regexp="yes">initiatives?</exception>
            <exception>does</exception>
            <exception postag_regexp="yes" postag="NN(:U)?|PRP\$|VBZ"/></token>
        </marker>
      </pattern>
      <message>The word "of" is missing between "\2" and "\3".</message>
      <suggestion>\2 of \3</suggestion>
      <suggestion>diverse \3</suggestion>
      <example correction='diversity of nature|diverse nature'>The <marker>diversity nature</marker> of this work is appealing to many.</example>
    </rule>
    <rule id="WAITING_MY_PATIENT_FINISH" name="Collocation: waiting (to) finish">
    <!-- Created by Nicholas Walker (Bokomaru), 2018-05-16 -->
      <pattern>
          <token inflected="yes">wait</token>
          <token postag="PRP$"/>
          <token postag_regexp="yes" postag="NN.*"/>
          <token postag="VB"/>
      </pattern>
      <message>The word "to" is missing before the infinitive form "\4".</message>
      <suggestion>\1 \2 \3 to \4</suggestion>
      <example correction='waiting my patient to finish'>I am <marker>waiting my patient finish</marker> the sample collection.</example>
    </rule>
  </rulegroup>

  <rulegroup id="RETURN_IN_THE" name="Collocation: return in/to">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <antipattern>
        <token>in</token>
        <token skip="1">the</token>
        <token>event</token>
        <token>of</token>
    </antipattern>
    <antipattern>
        <token>in</token>
        <token>the</token>
        <token regexp="yes">1st|2nd|3rd|4th|second|first|third|fourth</token>
        <token regexp="yes">half|quarter</token>
    </antipattern>
    <antipattern>
        <token regexp="yes">at|in</token>
        <token>the</token>
        <token regexp="yes" min="0">early|later?|next|first|last</token>
        <token regexp="yes">beginning|end|morning|evening|afternoon|\d+s|stages?|week(end)?</token>
    </antipattern>
    <antipattern>
        <token>at</token>
        <token>night</token>
    </antipattern>
    <antipattern>
        <token>in</token>
        <token skip="2">the</token>
        <token regexp="yes">episodes?|season|film|movie|scenes?|prequels?|sequels?</token>
    </antipattern>
    <antipattern>
        <token>in</token>
        <token>the</token>
        <token>long</token>
        <token>run</token>
    </antipattern>
    <antipattern>
        <token>at</token>
        <token>the</token>
        <token>request</token>
        <token>of</token>
    </antipattern>
    <antipattern>
        <token>in</token>
        <token min="0">the</token>
        <token regexp="yes">Spring|Winter|Summer|Autum|fall</token>
    </antipattern>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">return
            <exception>returner</exception></token>
          <token regexp="yes">in|at</token>
        </marker>
          <token>the</token>
      </pattern>
      <message>The usual collocation for "\1" is "to", not "\2".</message>
      <suggestion>\1 to</suggestion>
      <short>Collocation error</short>
      <example correction='returning to'>While we were <marker>returning in</marker> the office, I have been arrested for speeding.</example>
      <example>However, he was able to return in the second half.</example>
    </rule>
    <rule>
      <antipattern>
        <token postag="DT|PRP\$" postag_regexp="yes" />
        <token>return</token>
      </antipattern>
     <antipattern>
        <token postag="DT|PRP\$" postag_regexp="yes" />
        <token postag="JJ.*" postag_regexp="yes" />
        <token>return</token>
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">return</token>
          <token regexp="yes">in|at</token>
        </marker>
          <token postag="NNP">
            <exception regexp="yes">[0-9].*|(mid-)?(January|February|March|April|May|June|July|August|September|October|November|December)</exception></token>
          <token><exception postag="POS"/></token>
      </pattern>
      <message>The usual collocation for "\1" is "to", not "\2".</message>
      <suggestion>\1 to</suggestion>
      <example correction='returning to'>While we were <marker>returning in</marker> Montreal, I was arrested for speeding.</example>
      <example correction='return to'>I will <marker>return in</marker> Night.</example><!-- The rule finds an error, but the suggestion is not correct. -->
      <example>While we were <marker>returning to</marker> Montreal, I was arrested for speeding.</example>
      <example>...are herded up to the pastures and again when they return <marker>in mid-September</marker>.</example>
      <example>But once the Nikkei drops below that level, the return at the bond's maturity will be lower than the initial investment.</example>
      <example>So from a financial impact we will see a great return in the investment.</example>
      <example>He returns in the sixth season premiere, "Home is the Sailor", having sunk his boat, to find the bar under the new management of Rebecca Howe.</example>
      <example>I would like to introduce you to Walt Madro on my return at the end of the week.</example>
      <example>When I return in the evening, I'm always very tired.</example>
    </rule>
  </rulegroup>

  <rulegroup id="DO_A_PARTY" name="Collocation: do/throw/have a party">
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <url>https://7esl.com/collocations/</url>
      <short>Collocation error</short>
    <rule>
      <pattern>
          <token>to</token>
          <token regexp="yes">do|make</token>
          <token>a</token>
          <token>party</token>
      </pattern>
      <message>The common collocation for "party" is "have" or "throw".</message>
      <suggestion>to throw a party</suggestion>
      <suggestion>to have a party</suggestion>
      <example correction='to throw a party|to have a party'>A new roommate has moved in, so we decided <marker>to do a party</marker> with all of us.</example>
    </rule>
    <rule>
      <pattern>
          <token inflected="yes" regexp="yes">love|like</token>
          <token regexp="yes">doing|making</token>
          <token regexp="yes">the|a</token>
          <token>party</token>
      </pattern>
      <message>The common collocation for "party" is "have" or "throw".</message>
      <suggestion>\1 throwing a party</suggestion>
      <suggestion>\1 partying</suggestion>
      <example correction='like throwing a party|like partying'>I <marker>like making a party</marker>.</example>
    </rule>
  </rulegroup>

  <rulegroup id='IN_CHARGE_FOR' name='Collocation: in charge for/of/with'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <url>https://7esl.com/collocations/</url>
    <short>Collocation error</short>
    <rule>
      <antipattern>
        <token>charge</token>
        <token skip="-1">for</token>
        <token regexp="yes">(second|minute|hour|day|week|month|year|moment|time)s?</token>
      </antipattern>
      <pattern>
        <marker>
          <token>in</token>
          <token>charge</token>
          <token skip='-1'>for</token>
        </marker>
      </pattern>
      <message>The usual collocation for "in charge" is "of", not "for". Did you mean <suggestion>in charge of</suggestion>?</message>
      <example correction='in charge of'>Who is <marker>in charge for</marker> this shop?</example>
      <example>Who is <marker>in charge of</marker> this shop?</example>
      <example>The manager was <marker>in charge for</marker> only three days when...</example>
    </rule>
<!--    <rule>
      <pattern>
          <token>
            <exception regexp='yes' inflected='yes'>in|be</exception></token>
        <marker>
          <token inflected="yes">charge</token>
          <token>for</token>
        </marker>
          <token>
            <exception regexp="yes">products|services</exception></token>
      </pattern>
      <message>The usual collocation for "\2" is "with", not "\3". Did you mean <suggestion>\2 with</suggestion>?</message>
      <example correction='charge with'><marker>charge for</marker>.</example>
      <example>Brevity is essential because you will be charged for every word.</example>
      <example>The usual charge for this item is £3.30.</example>
    </rule>-->
  </rulegroup>

  <rulegroup id='A_TRIP_TO' name='Collocation: a trip to'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <url>https://www.ldoceonline.com/dictionary/trip</url>
      <short>Collocation error</short>
    <rule>
      <pattern>
        <marker>
          <token>a</token>
          <token regexp="yes">trip|journey</token>
          <token>in</token>
        </marker>
          <token regexp="yes">[A-Z][a-z]+</token>
          <token regexp="yes">[A-Z][a-z]+</token>
      </pattern>
      <message>The usual preposition for "a \2" with a named destination is "to". Did you mean <suggestion>a trip to</suggestion>?</message>
      <example correction='a trip to'>John and Jenny week decided to go on <marker>a trip in</marker> New York.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token>a</token>
          <token regexp="yes">trip|journey</token>
          <token>in</token>
        </marker>
          <token regexp="yes">[A-Z][a-z]+</token>
          <token>
            <exception regexp="yes">[A-Z][a-z]+</exception></token>
      </pattern>
      <message>The usual preposition for "a \2" with a named destination is "to". Did you mean <suggestion>a trip to</suggestion>?</message>
      <example correction='a trip to'>John and Jenny week decided to go on <marker>a trip in</marker> York.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token>a</token>
          <token regexp="yes">trip|journey</token>
          <token>in</token>
        </marker>
          <token regexp="yes">New-York|New-England</token>
      </pattern>
      <message>The usual preposition for "a \2" with a named destination is "to". Did you mean <suggestion>a trip to</suggestion>?</message>
      <example correction='a trip to'>John and Jenny week decided to go on <marker>a trip in</marker> New-York.</example>
    </rule>
  </rulegroup>

  <rulegroup id='LISTEN_TO_MOVIES' name='Collocation: listen to/watch movies'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
      <url>https://dictionary.cambridge.org/us/dictionary/english/watch</url>
      <short>Collocation error</short>
    <rule>
      <pattern>
          <token inflected="yes">listen</token>
          <token>to</token>
          <token regexp="yes">movies|films</token>
      </pattern>
      <message>The usual verb for "\3" is "watch". Did you mean <suggestion>watch \3</suggestion>?</message>
      <example correction='watch movies'>During my free time, I like <marker>listen to movies</marker> in cinema with my boyfriend and my friends.</example>
    </rule>
    <rule>
      <pattern>
          <token inflected="yes">listen</token>
          <token min='0'>to</token>
          <token min='0'>a</token>
          <token regexp="yes">movie|film|series</token>
      </pattern>
      <message>The usual verb for "\3" is "watch". Did you mean <suggestion>watch a \4</suggestion>?</message>
      <example correction='watch a movie'>During my free time, I like <marker>listen to movie</marker> with my boyfriend and my friends.</example>
      <example correction='watch a movie'>During my free time, I like <marker>listen to a movie</marker> in cinema with my boyfriend and my friends.</example>
      <example correction='watch a series'>During the week, I <marker>listen series</marker> or action movie in English because I want to improve myself with my sister.</example>
    </rule>
    <rule>
      <pattern>
          <token inflected="yes">listen</token>
          <token min='0'>to</token>
          <token min='0'>an</token>
          <token regexp="yes">animated|anime|action</token>
          <token regexp="yes">movie|film|series</token>
      </pattern>
      <message>The usual verb for "\3" is "watch". Did you mean <suggestion>watch an \4 \5</suggestion>?</message>
      <example correction='watch an action movie'>During the week, I <marker>listen to action movie</marker> in English because I want to improve myself with my sister.</example>
    </rule>
  </rulegroup>

  <rulegroup id='IN_ON_THE_TEAM' name='Collocation: in/on the team'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
    <!-- <url>http://www.kentlee7.com/writ/collocation.errors.typical.pdf</url> -->
      <short>Collocation error</short>
    <rule>
      <pattern>
          <token>in</token>
          <token>the</token>
          <token regexp="yes">men|women|school</token>
          <token>'s</token>
          <token>team</token>
      </pattern>
      <message>The usual preposition for team membership is "on", not "in". Try it like this: <suggestion>on \2 \3's \5</suggestion>.</message>
      <example correction="on the men's team"><marker>in the men's team</marker>.</example>
    </rule>
    <rule>
      <pattern>
          <token>in</token>
          <token>the</token>
          <token regexp="yes">men|women|school</token>
          <token>'s</token>
          <token/>
          <token>team</token>
      </pattern>
      <message>The usual preposition for team membership is "on", not "in". Try it like this: <suggestion>on \2 \3's \5 \6</suggestion>.</message>
      <example correction="on the men's basketball team"><marker>in the men's basketball team</marker>.</example>
    </rule>
    <rule>
      <pattern>
          <token>in</token>
          <token>the</token>
          <token regexp="yes">men|women|school</token>
          <token>'s</token>
          <token/>
          <token>ball</token>
          <token>team</token>
      </pattern>
      <message>The usual preposition for team membership is "on", not "in". Try it like this: <suggestion>on \2 \3's \5 \6 \7</suggestion>.</message>
      <example correction="on the men's basket ball team"><marker>in the men's basket ball team</marker>.</example>
    </rule>
  </rulegroup>

  <rulegroup id='ARRIVAL_TO_THE_HOUSE' name='Collocation: arrival to/in the house'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
      <url>http://www.englishcollocation.com/how-to-use/arrival</url>
      <short>Collocation error</short>
    <rule>
        <antipattern>
            <token>dead</token>
            <token>on</token>
            <token>arrival</token>
        </antipattern>
      <pattern>
          <token>arrival</token>
          <token>to</token>
          <token>the</token>
          <token>
            <exception regexp="yes">house|apartment|penthouse|boat</exception></token>
      </pattern>
      <message>The usual preposition for "\3 \4" is "in", not "to".</message>
      <suggestion>\1 in the \4</suggestion>
      <example correction='arrival in the city'>Their <marker>arrival to the city</marker> will be at one o'clock.</example>
      <example>The seriously injured man was dead on arrival to the hospital.</example>
    </rule>
    <rule>
      <pattern>
          <token>arrival</token>
          <token regexp='yes'>in|to</token>
          <token>the</token>
          <token regexp="yes">house|apartment|penthouse</token>
      </pattern>
      <message>The usual preposition for "\3 \4" is "at", not "to".</message>
      <suggestion>\1 at the \4</suggestion>
      <example correction='arrival at the house'>At that time, their <marker>arrival to the house</marker> was a surprise.</example>
    </rule>
  </rulegroup>

  <rulegroup id='COME_IN_CAR' name='Collocation: come in/by car'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
    <!-- <url>http://www.kentlee7.com/writ/collocation.errors.typical.pdf</url> -->
      <short>Collocation error</short>
    <rule>
      <pattern>
          <token regexp="yes" inflected="yes">come|go</token>
          <token>in</token>
          <token regexp="yes">car|bus|train|taxi|metro|subway</token>
      </pattern>
      <message>The usual preposition for mode of transportation is "by", not "in". Try it like this: <suggestion>\1 by \3</suggestion>.</message>
      <example correction='comes by car'>She <marker>comes in car</marker>.</example>
    </rule>
    <rule>
      <pattern>
          <token regexp="yes" inflected="yes">come|go</token>
          <token>to</token>
          <token/>
          <token>in</token>
          <token regexp="yes">car|bus|train|taxi|metro|subway</token>
      </pattern>
      <message>The usual preposition for mode of transportation is "by", not "in". Try it like this: <suggestion>\1 \2 \3 by \5</suggestion>.</message>
      <example correction='comes to work by car'>She <marker>comes to work in car</marker>.</example>
    </rule>
  </rulegroup>

  <rulegroup id='ATD_VERBS_TO_COLLOCATION' name='Collocation: Word + to + PRP|NNP|DT'>
     <!-- Based on AtD by Tiago F. Santos, 2019-09-13 -->
     <rule>
      <antipattern>
          <token inflected='yes'>jump</token>
          <token regexp="yes">rope|back|can|jacks?|cut|right|left|rate|roping|frog|forwards?|backwards?|seat|fish|lunge</token>
      </antipattern>
      <antipattern>
          <token inflected='yes'>welcome</token>
          <token regexp="yes">back|page|letter|briefing|mat|message|home|lighting|light|screen|kit|text|greeting|.*mail|call|meeting|package|guest|sign|ornament|drink|juice|centre|center|gift</token>
      </antipattern>
      <antipattern>
          <token>Guided</token>
          <token postag='VBG'/>
      </antipattern>
      <antipattern>
          <token>Guided</token>
          <token regexp="yes">tour|study|essay|practice|journal|review|value</token>
      </antipattern>
    <antipattern>
          <token>guide</token>
          <token regexp="yes">dog|sign</token>
      </antipattern>
      <antipattern>
          <token>Guiding</token>
          <token regexp="yes">Research|Question|back|document|backwards?|forwards?</token>
      </antipattern>
        <antipattern>
          <token>prior</token>
          <token regexp="yes">experience|research</token>
      </antipattern>
      <antipattern>
          <token>Prior</token>
          <token postag='VBG'/>
          <token>of</token>
      </antipattern>
      <antipattern>
        <token regexp="yes">guides?</token>
        <token regexp="yes">acts?</token>
        <token>as</token>
      </antipattern>
      <pattern>
          <token postag='SENT_START'/>
        <marker>
          <token regexp="yes" inflected="yes">Epistle|Guide|Jump|Ode|Prior|Welcome</token>
          <token postag_regexp='yes' postag='VBG?'>
            <exception regexp="yes">&uncommon_verbs;</exception>
            <exception postag="IN" />
          </token>
        </marker>
      </pattern>
      <message>Probably a preposition is missing after '\2'.</message>
        <suggestion>\2 to \3</suggestion>
      <example correction='Prior to leaving'><marker>Prior leaving</marker>, he had a good time.</example>
      <example>He's jumping off</example>
    </rule>
     <rule>
      <antipattern>
          <token regexp="yes">attempts?|attempting</token>
          <token inflected="yes">be</token>
          <token postag='DT'/>
      </antipattern>
      <antipattern>
          <token regexp="yes">references?</token>
          <token inflected="yes">have</token>
          <token postag='DT'/>
      </antipattern>
      <antipattern>
          <token>reference</token>
          <token regexp="yes">cent(?:er|re)</token>
      </antipattern>
      <antipattern>
          <token>references</token>
          <token inflected="yes">vary</token>
      </antipattern>
      <antipattern>
          <token regexp="yes">wants?</token>
          <token inflected="yes">help</token>
          <token postag_regexp='yes' postag='PRP|NNP'/>
      </antipattern>
      <antipattern>
          <token regexp="yes">an|the|various|several|some|such</token>
          <token min="0" postag="JJ.*" postag_regexp="yes"/>
          <token regexp="yes">attempts?</token>
      </antipattern>
      <antipattern>
          <token postag="JJ.*" postag_regexp="yes"/>
          <token postag="JJ.*" postag_regexp="yes"/>
          <token regexp="yes">attempts?</token>
      </antipattern>
      <antipattern>
        <token postag="PRP\$|DT" postag_regexp="yes" />
        <token postag="JJ.*|CD" postag_regexp="yes" min="0" max="2" />
        <token regexp="yes" inflected="yes" postag="NN.*" postag_regexp="yes">apply|attempt|correspond|continue|want|try|seem|seeks|pretending|pretend|reference|refuse|regard</token>
      </antipattern>
      <antipattern><!-- Men's wants become -->
          <token postag="POS">'s</token>
          <token postag="NNS"/>
          <token postag_regexp="yes" postag="VB[PD]?"/>
      </antipattern>
      <antipattern>
        <token postag="NNS" />
        <token>have</token>
        <token postag="VBN" />
      </antipattern>
      <antipattern>
        <token>of</token>
        <token>attempts</token>
     </antipattern>
      <antipattern>
        <token postag="DT" />
        <token postag="VBD" />
        <token postag="NN.*" postag_regexp="yes" />
      </antipattern>
      <antipattern><!-- should references be ordered -->
        <token postag="MD" />
        <token postag="NNS" />
        <token>be</token>
      </antipattern>
      <antipattern><!-- shouldn't references be ordered -->
        <token postag="MD" />
        <token regexp="yes">&apostrophe;</token>
        <token>t</token>
        <token postag="NNS" />
        <token>be</token>
      </antipattern>
      <pattern>
          <token regexp="yes" inflected="yes">apply|attempt|correspond|continue|want|try|seem|seeks|pretending|pretend|reference|refuse|regard</token>
          <token postag='VB'>
            <exception negate_pos='yes' postag_regexp='yes' postag='V.+' regexp='yes'>(?!tell$).+</exception>
            <exception regexp="yes">&uncommon_verbs;</exception>
        </token>
      </pattern>
      <message>Probably a preposition is missing after '\1'.</message>
        <suggestion>\1 to \2</suggestion>
      <example correction='wants to redecorate'>She <marker>wants redecorate</marker> the house again.</example>
      <example correction='refused to tell'>Tom <marker>refused tell</marker> the police officer his name.</example>
      <example>Such attempts have repeatedly been made.</example>
      <example>My two references have been outstanding.</example>
      <example>It is no use pretending you know nothing about it.</example>
      <example>This is way I am refusing the offer.</example>
      <example>Chanes, Jerome A. Antisemitism: A Reference Handbook, ABC-CLIO, 2004.</example>
      <example>Although several attempts have been made to restore and re-air the film, all acc...</example>
      <example>Men's wants become greater in proportion to the increase in their income.</example>
      <example>Several unsuccessful attempts have discouraged them completely.</example>
      <example>Repeated failed attempts have resulted in a block of the buyer from our system.</example>
      <example>Suicide attempts have skyrocketed.</example>
      <example>The attempted smuggle</example>
      <example>Should references be ordered?</example>
      <example>Almost 390 references have been used.</example>
    </rule>
    <!-- XXX Beware/couple OF rules have too many obvious exceptions -->
  </rulegroup>

    <rulegroup id="NON_ANTI_JJ" name="missing hyphen in adjectives with 'non/anti'">
        <rule>
            <pattern>
                <token regexp="yes">non|anti</token>
                <token postag="JJ">
                    <exception regexp="yes">compos|troppo|mis|me|non|up</exception>
                    <exception scope="next">relic</exception><!-- New Relic is a proper noun-->
                </token>
            </pattern>
            <message>This expression is usually spelled with a hyphen.</message>
            <suggestion>\1-\2</suggestion>
            <url>https://en.wiktionary.org/wiki/non-</url>
            <example correction="non-American">He is <marker>non American</marker></example>
            <example correction="non-alcoholic">This is <marker>non alcoholic</marker> traditional drink.</example>
            <example correction="non-standard">Maybe you used <marker>non standard</marker> commands?</example>
            <example correction="anti-communist">Roy almost brought the US to its knees in the early 1950s in an orgy of <marker>anti communist</marker> rights.</example>
            <example correction="Non-religious"><marker>Non religious</marker> people comprised the 32.0% of the population</example>
            <!-- Todo: -->
            <!-- <example correction="pre-Islamic">The <marker>pre Islamic</marker> heritage of Afghanistan.</example> -->
            <example>Non compos mentis (Latin) is a legal term.</example>
            <example>When I time them myself using a non new relic source.</example>
            <example>Non Khun District.</example>
            <example>Non nobis solum.</example>
            <example>Non occides.</example>
            <example>Anti Up</example>
        </rule>
    </rulegroup>

  <rule id="THANK_NNP_PRP" name="'Thank' + Proper noun">
    <pattern>
        <token postag="SENT_START|CC" postag_regexp="yes" />
        <marker>
            <token>thank</token>
            <token postag="NNP">
                <exception regexp="yes">god|allah?</exception>
            </token>
        </marker>
        <token postag="PRP\$?" postag_regexp="yes" />
    </pattern>
    <message>Did you mean <suggestion>\2s to \3</suggestion> or <suggestion>\2s \3,</suggestion>?</message>
    <example correction="Thanks to Carl|Thanks Carl,"><marker>Thank Carl</marker> we can finally start the project.</example>
    <example>Thank God it's Friday.</example>
  </rule>

  <rule id="THANK_THE_NN" name="'Thank the' + noun">
    <antipattern>
        <token skip="-1">thank</token>
        <token>for</token>
    </antipattern>
    <pattern>
        <token postag="SENT_START" />
        <marker>
            <token>thank</token>
        </marker>
        <token>the</token>
        <token postag="NN.*" postag_regexp="yes">
            <exception>lord</exception>
        </token>
    </pattern>
    <message>Did you mean <suggestion>\2s to</suggestion> or <suggestion>\2s for</suggestion>?</message>
    <example correction="Thanks to|Thanks for"><marker>Thank</marker> the clarifications.</example>
    <example correction="Thanks to|Thanks for"><marker>Thank</marker> the meds, I guess.</example>
    <example>Thank the police officer for saving us.</example>
    <example>Thank the lord.</example>
  </rule>

  <rule id="MISSING_PREPOSITION" name='Missing preposition'>
        <antipattern>
            <token>Prior</token>
            <token regexp="yes">General|Executive</token>
        </antipattern>
        <antipattern>
            <token>due</token>
            <token regexp="yes">east|west</token>
        </antipattern>
        <antipattern>
            <token>now</token>
            <token>due</token>
            <token postag="NNP" />
        </antipattern>
        <antipattern>
            <token>due</token>
            <token min="0">every</token>
            <token regexp="yes">&months;|&abbrevMonths;|&weekdays;</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">when|once</token>
            <token>due</token>
            <token>all</token>
            <token postag="NNS" skip="2" />
            <token chunk="B-VP" />
        </antipattern>
        <pattern>
            <token postag="SENT_START|CC" postag_regexp="yes" />
            <marker>
                <token regexp="yes">according|due|prior</token>
                <token postag_regexp="yes" postag='PRP\$?|NNP|DT|W.+'>
                    <exception regexp="yes">however|week|month|year</exception>
                </token>
            </marker>
        </pattern>
        <message>It appears that a preposition is missing after '\2'.</message>
        <suggestion>\2 to \3</suggestion>
        <example correction='According to Angela'><marker>According Angela</marker>, they are dating.</example>
        <example correction='According to what'><marker>According what</marker> I heard.</example>
        <example correction='According to his'><marker>According his</marker> friend, they are dating.</example>
        <example correction='According to him'><marker>According him</marker>, they are dating.</example>
        <example correction="According to a"><marker>According a</marker> TV forecast, it will rain tomorrow.</example>
        <example correction="Prior to the"><marker>Prior the</marker> storm everything was calm.</example>
        <example correction="Due to the"><marker>Due the</marker> unique climate in Azerbaijan , the flora is much richer in the number of species.</example>
        <example>Thanks a lot.</example>
        <example>The arc connecting the points on the horizon due East and due West.</example>
        <example>His term as Prior General of the Camaldolese.</example>
        <example>They are now due January 1st.</example>
        <example>According however to the common account, Hecuba was the daughter of Cisseus, a Thracian prince.</example>
        <example>Due Jan 3.</example>
  </rule>

  <rulegroup id='GOOD_IN_AT' name='Collocation: Good in/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
      <url>https://7esl.com/collocations/</url>
      <short>Collocation error</short>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token>world</token>
          <token>geography</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3 \4</suggestion>.</message>
      <example correction='good at world geography'>I'm <marker>good in world geography</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token>social</token>
          <token>studies</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3 \4</suggestion>.</message>
      <example correction='good at social studies'>I'm <marker>good in social studies</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token>physical</token>
          <token>education</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3 \4</suggestion>.</message>
      <example correction='good at physical education'>I'm <marker>good in physical education</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token>language</token>
          <token>arts</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3 \4</suggestion>.</message>
      <example correction='good at language arts'>I'm <marker>good in language arts</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token>home</token>
          <token>economics</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3 \4</suggestion>.</message>
      <example correction='good at home economics'>I'm <marker>good in home economics</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token>computer</token>
          <token>science</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3 \4</suggestion>.</message>
      <example correction='good at computer science'>I'm <marker>good in computer science</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">good</token>
          <token>in</token>
          <token regexp="yes">algebra|archaeology|art|band|biology|botany|calculus|chemistry|drama|economics|English|French|geography|geology|geometry|German|gym|health|history|keyboarding|languages|literature|math|mathematics|music|PE|physics|psychology|reading|science|writing</token>
        </marker>
          <token>
            <exception>class</exception></token>
      </pattern>
      <message>Use "good at" to mean "skilled" with school subjects. Try this: <suggestion>\1 at \3</suggestion>.</message>
      <example correction='good at math'>I'm <marker>good in math</marker>. I was good in running errands.</example>
    </rule>
    <rule id='GOOD_IN_AT_GERUND' name='Collocation: good in/at'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
      <pattern>
          <token>good</token>
          <token>in</token>
          <token postag="VBG"/>
      </pattern>
      <message>The usual preposition for this expression is "at".</message>
      <suggestion>\1 at \3</suggestion>
      <example correction='good at swimming'>He is <marker>good in swimming</marker>.</example>
    </rule>
  </rulegroup>

  <rulegroup id='EXCEPTION_OF_TO' name='Collocation: exception to/of'>
    <!-- Created by Nicholas Walker (Bokomaru), 2017-11-14 -->
    <!-- https://forum.languagetool.org/t/en-english-collocation-rules-to-contribute-to-lt/2318 -->
    <!-- <url>http://www.kentlee7.com/writ/collocation.errors.typical.pdf</url> -->
      <short>Collocation error</short>
    <rule>
      <antipattern>
          <token inflected="yes">exception</token>
          <token>
            <exception>to</exception></token>
          <token postag="DT"/>
          <token max="1" min="0" postag="JJ"/>
          <token regexp="yes">rules?</token>
      </antipattern>
      <antipattern>
          <token>with</token>
          <token>the</token>
          <token max="1" min="0" postag="JJ"/>
          <token inflected="yes">exception</token>
      </antipattern>
      <antipattern>
        <token>of</token>
        <token>course</token>
      </antipattern>
      <pattern>
        <marker>
          <token inflected="yes">exception</token>
          <token>of</token>
        </marker>
      </pattern>
      <message>The usual collocation for "\1" in this context is "to", not "\2". Did you mean <suggestion>\1 to</suggestion>?</message>
      <example correction='exception to'>This is an <marker>exception of</marker> the guidelines.</example>
      <example>This is an <marker>exception to</marker> the guidelines.</example>
      <example>We are all poor swimmers with the possible exception of Jack.</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token inflected="yes">make</token>
          <token>an</token>
          <token>exception</token>
          <token>to</token>
        </marker>
          <token max="1" min="0" postag="JJ"/>
          <token postag_regexp='yes' postag="NNS|PRP"/>
      </pattern>
      <message>The usual collocation for "\3" in this context is "for", not "\4". Did you mean <suggestion>\1 \2 \3 for</suggestion>?</message>
      <example correction='make an exception for'>I'll <marker>make an exception to</marker> you.</example>
    </rule>
  </rulegroup>
    <rule id="EAT_ANTIBIOTICS" name="eat (take) antibiotics"><!-- https://forum.languagetool.org/t/en-possible-rule-eat-s-antibiotics/3602 -->
      <pattern>
        <marker>
          <token inflected="yes">eat</token>
        </marker>
        <token postag_regexp="yes" postag="NN.*" regexp="yes">antibiotics|medicines?|medication</token>
      </pattern>
      <message>In a medical context, people take or swallow \2. If they eat \2, it is a mistake. Did you mean <suggestion><match no="1" postag="VB.*">take</match></suggestion> or <suggestion><match no="1" postag="VB.*">swallow</match></suggestion>?</message>
      <short>Possible collocation error</short>
      <example correction="took|swallowed">I <marker>ate</marker> medicine for 2 weeks after my operation.</example>
      <example correction="take|swallow">You must go to the doctor and <marker>eat</marker> antibiotics.</example>
      <example correction="taking|swallowing">Are you <marker>eating</marker> medicines for that illness?</example>
      <example>I <marker>took</marker> medicine for 2 weeks after my operation.</example>
      <example type="triggers_error">The child <marker>ate</marker> medicine and was rushed to hospital.</example>
    </rule>
    </category>

    <!-- ====================================================================== -->
    <!-- Punctuation Errors -->
    <!-- ====================================================================== -->
    <category id="PUNCTUATION" name="Punctuation" type="typographical">
        <rule id="THEN_WHEN_COMMA" name="comma between 'then' and 'when'">
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes" case_sensitive="yes">[a-z].*</token>
            </antipattern>
            <antipattern>
                <token skip="-1">then</token>
                <token>then</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <token min="0">back</token>
                <marker>
                    <token>then</token>
                </marker>
                <token regexp="yes">when|once|although|if</token>
                <token postag="PRP.*|EX|DT|NNPS?" postag_regexp="yes" skip="-1" />
                <token>,</token>
                <token>
                    <exception postag="CC" />
                </token>
            </pattern>
            <message>Consider adding a comma here.</message>
            <suggestion>\2 \3,</suggestion>
            <example correction="Then,"><marker>Then</marker> when a user contacts you, you will receive a notification.</example>
        </rule>
        <rulegroup id="HUH_COMMA" name="comma before/after 'huh?'">
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token>huh</token>
                </antipattern>
                <antipattern>
                    <token>of</token>
                    <token>huh</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">.*[a-z].*</token>
                    <marker>
                        <token case_sensitive="yes">huh</token>
                        <token>?</token>
                    </marker>
                </pattern>
                <message>Consider adding a comma in front of this interjection.</message>
                <suggestion>, \2\3</suggestion>
                <example correction=", huh?">Was it you<marker> huh?</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>huh</token>
                    </marker>
                    <token>
                        <exception regexp="yes">\p{P}</exception>
                    </token>
                </pattern>
                <message>Consider adding a comma after this interjection.</message>
                <suggestion>\2,</suggestion>
                <example correction="Huh,"><marker>Huh</marker> I thought it was done already.</example>
            </rule>
        </rulegroup>

        <rulegroup id="IF_WE_CANT_COMMA" name="if we can't we ...">
            <rule>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token regexp="yes">you|it|that|this|(some|any|every|no)(thing|one|body)</token>
                    <token postag="JJ|VBN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">have|do|need|be</token>
                    <token regexp="yes">you|it|that|this|(some|any|every|no)(thing|one|body)</token>
                    <token postag="RB" min="0" />
                    <token postag="VB[GPN]?" postag_regexp="yes">
                        <exception postag="MD" />
                    </token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token />
                    <token>as</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token inflected="yes">not</token>
                    <token>there</token>
                </antipattern>
                <pattern>
                    <token postag="DT|CC|PCT|SENT_START" postag_regexp="yes" />
                    <token min="0">even</token>
                    <token regexp="yes">if|once|when(ever)?|(al)?though|until|unless|before|after|as|because</token>
                    <token regexp="yes">s?he|it|you|they|I|we|that|this|(some|any|every|no)(thing|one|body)</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token inflected="yes" regexp="yes">can|will|must|should|do|have|be|need</token>
                    <token min="0" regexp="yes">n't|not</token>
                    <marker>
                        <token regexp="yes">s?he|it|you|they|I|we|that|this|(some|any|every|no)(thing|one|body)|there
                            <exception scope="next">please</exception>
                        </token>
                    </marker>
                    <token postag="RB" min="0" max="2">
                        <exception postag="IN" />
                    </token>
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>It appears that a comma is missing here.</message>
                <suggestion>, \8</suggestion>
                <example correction=", we">If I can't<marker> we</marker>'ll record a short Zoom meeting.</example>
                <example correction=", it">If it does<marker> it</marker> usually isn't a problem.</example>
                <example correction=", it">If you have not<marker> it</marker> is my fault.</example>
                <example correction=", it">If it wasn't<marker> it</marker> is now!</example>
                <example>Also, not sure how that works if you have it open when you enter an area.</example>
                <example>I think when I had it connected to the Hue Bridge before, the device didn't show up in SmartThings.</example>
                <example>Once you have it built, all you need to do is in the Python scripts, make a http call to your hub with a command to open the garage door upon successful authentication.</example>
                <example>When you install a device handler, you will need to assign it to the device if you already have it paired to ST.</example>
                <example>Once you do that go to the master phone or another phone where you can add and remove users</example>
                <example>If she's not there please resend for me.</example><!-- needs to be caught by other rule -->
                <example>If it's someone asking for information, reply, then delete it.</example>
            </rule>
        </rulegroup>
        <rulegroup id="RB_RB_COMMA" name="Comma in 'very very good'">
            <antipattern>
                <token postag="RB" />
                <token>
                    <match no="0" />
                </token>
                <token>
                    <match no="0" />
                </token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token postag="RB">
                            <exception postag="IN" />
                            <exception regexp="yes">right|too|next|online|first|last|little|daily|tonight</exception>
                        </token>
                        <token>
                            <match no="0" />
                        </token>
                    </marker>
                    <token postag="JJ" />
                </pattern>
                <message>Consider adding a comma between these intensifiers.</message>
                <suggestion>\1, \2</suggestion>
                <suggestion>\1</suggestion>
                <example correction="very, very|very">It is <marker>very very</marker> cool.</example>
                <example correction="so, so|so">I just feel <marker>so so</marker> lonely…</example>
                <example correction="far, far|far">The performance I have is <marker>far far</marker> below what you described.</example>
                <example>I have multiple servers (which show correctly under SERVERS tag) sending data but only seeing a single one there right right now.</example>
                <example>You are too too nice, thank you sir so much!</example>
                <example>Still trying to figure out how to get everything in in less time.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="RB" regexp="yes">
                            much|far
                        </token>
                        <token>
                            <match no="0" />
                        </token>
                    </marker>
                    <token postag="JJR" />
                </pattern>
                <message>Consider adding a comma between these intensifiers.</message>
                <suggestion>\1, \2</suggestion>
                <suggestion>\1</suggestion>
                <example correction="far, far|far">It is <marker>far far</marker> better.</example>
            </rule>
        </rulegroup>

        <rule id="UH_UH_COMMA" name="Comma in 'oh oh'">
            <antipattern>
                <token postag="UH" />
                <token>
                    <match no="0" />
                </token>
                <token>
                    <match no="0" />
                </token>
            </antipattern>
            <antipattern>
                <token postag="UH" />
                <token>
                    <match no="0" />
                </token>
                <token postag="UH|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token>
                    <match no="2" />
                </token>
            </antipattern>
            <antipattern>
                <token postag="UH|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token>
                    <match no="0" />
                </token>
                <token postag="UH" />
                <token>
                    <match no="2" />
                </token>
            </antipattern>
            <antipattern>
                <token>bam</token>
                <token>bigelow</token>
            </antipattern>
            <antipattern>
                <token>boo</token>
                <token>brazil</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token>Bam</token>
                <token>Bam</token>
            </antipattern>
            <antipattern>
                <token>huh</token>
                <token>huh</token>
                <token>for</token>
                <token>hollywood</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="UH" />
                <token postag="UH" />
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token postag="UH">
                    <exception postag="IN" />
                    <exception regexp="yes">ha|yo|why|health|check|hip|meow|break|really|never|contact|blah|there</exception>
                </token>
                <token>
                    <match no="0" />
                </token>
            </pattern>
            <message>Consider adding a comma between these interjections.</message>
            <suggestion>\1, \2</suggestion>
            <suggestion>\1</suggestion>
            <example correction="Oh, oh|Oh"><marker>Oh oh</marker>, he is coming.</example>
            <example>Hip hip hooray!</example>
            <example>He had taken meow meow earlier that day</example>
            <example>OH OH HETA HETA HETA</example>
        </rule>

        <rulegroup id="NOWADAYS_COMMA" name="Comma after 'nowadays">
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">if|when|though|why|as</exception>
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>nowadays</token>
                    </marker>
                    <token postag="DT|PRP.*|NNPS?|EX|W.*" postag_regexp="yes" />
                    <token />
                </pattern>
                <message>Consider adding a comma after this introductory expression.</message>
                <suggestion>\2,</suggestion>
                <example correction="Nowadays,"><marker>Nowadays</marker> everything is a bit faster than back then.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">if|when|though|why|as</exception>
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>nowadays</token>
                    </marker>
                    <token postag="DT|PRP.*|CD|NN.*|JJ.*" postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                    <token postag="CD|NN.*|JJ.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Consider adding a comma after this introductory expression.</message>
                <suggestion>\2,</suggestion>
                <example correction="Nowadays,"><marker>Nowadays</marker> people are scared of the dark.</example>
            </rule>
        </rulegroup>

        <rulegroup id="THANKS_SENT_END_COMMA" name="comma before 'thanks'">
            <!-- TODO: do the same for "many thanks", "thanks a lot" -->
            <rule>
                <antipattern>
                    <token>thank</token>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">(@|#).+</token>
                    <token regexp="yes" spacebefore="no">[_\.]</token>
                    <token spacebefore="no" />
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*|CD" postag_regexp="yes" min="0" />
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token postag="MD|TO" postag_regexp="yes" />
                    <token postag="RB" min="0" max="2" />
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">t|d</token>
                    <token postag="RB" min="0" max="2" />
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">say|shout|answer|tell|send|give|reply</token>
                    <token chunk_re=".-NP.*" min="0" />
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">s?he</token>
                    <token postag="RB" min="0" />
                    <token>thanks</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">I|we|they</token>
                    <token postag="RB" min="0" />
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">do</token>
                    <token postag="RB" min="0" max="2" />
                    <token>thank</token>
                </antipattern>
                <antipattern>
                    <token>thanks</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token>
                        <exception inflected="yes">be</exception>
                    </token>
                    <token regexp="yes">huge|big|great</token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token>then</token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token>many</token>
                    <token>thanks</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">in|of|at|with(out)?</token>
                    <token>thanks</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">say|reply|answer</token>
                    <token regexp="yes">is|was</token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <token>it</token>
                    <token postag="RB" min="0" />
                    <token>thanks</token>
                </antipattern>
                <antipattern>
                    <token postag="UNKNOWN">
                        <exception regexp="yes">.*[a-z0-9].*</exception>
                    </token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token>thank</token>
                    <token>you</token>
                </antipattern>
                <pattern>
                    <token />
                    <token>
                        <exception postag="CC" />
                        <exception regexp="yes">\p{P}|&gt;|&lt;|\=</exception>
                        <exception regexp="yes">(@|#).+</exception>
                    </token>
                    <marker>
                        <token regexp="yes" spacebefore="yes">thanks?</token>
                    </marker>
                    <token regexp="yes" min="0">you|much</token>
                    <token postag="SENT_END" regexp="yes">[\.!…]</token>
                </pattern>
                <message>Consider adding a comma here.</message>
                <suggestion>, \3</suggestion>
                <example correction=", thanks">Sounds good<marker> thanks</marker>.</example>
                <example correction=", thank">Call me if you have questions<marker> thank</marker> you.</example>
                <example correction=", thanks">This is huge<marker> thanks</marker>!</example>
                <example correction=", thanks">I found it<marker> thanks</marker>.</example>
                <example>Very many thanks.</example>
                <example>Thanks for the thanks!</example>
                <example>Future visitors will thank you.</example>
                <example>Tom wanted to thank you.</example>
                <example>You have my thanks.</example>
                <example>I came to thank you.</example>
                <example>A sincere thank you.</example>
                <example>A million thanks!</example>
                <example>Please tell Tom thanks.</example>
                <example>I thank you.</example>
                <example>My cigar collection thanks you!</example>
                <example>Quick reply to say thanks.</example>
                <example>Tom never said thank you.</example>
                <example>Awesome, huge thanks!</example>
                <example>If not then thank you.</example>
                <example>Tom nodded his head in thanks.</example>
                <example>I received a lot of thanks.</example>
                <example>It worked for me though so thank you!</example>
                <example>If you have registered, we thank you.</example>
                <example>This was a long overdue note of thanks.</example>
                <example>If I succeed, I will give thanks.</example>
                <example>All in all, what I’m trying to say is thank you.</example>
                <example>I didn’t know about him, so thank you.</example>
                <example>He is pretty free that day, so he thanks.</example>
                <example>Would you be available to meet with Jim Keller for 2 hours in Carol's Thank you.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">@.+</token>
                    <token regexp="yes" spacebefore="no">[_\.]</token>
                    <token spacebefore="no" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*|CD" postag_regexp="yes" min="0" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">say|shout|answer|tell|send|give|reply</token>
                    <token chunk_re=".-NP.*" min="0" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">th[ae]n</token>
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">say|reply|answer</token>
                    <token regexp="yes">is|was</token>
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">so|really|very|truly|plenty|too|not</token>
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" max="3" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="RB" min="0" max="3" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">im</token>
                    <token postag="RB" min="0" max="3" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token>'s</token>
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">seem|feel</token>
                    <token postag="RB" min="0" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">make</token>
                    <token chunk_re=".-NP.*" />
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token postag="UNKNOWN">
                        <exception regexp="yes">.*[a-z0-9].*</exception>
                    </token>
                    <token>sorry</token>
                </antipattern>
                <pattern>
                    <token />
                    <token>
                        <exception postag="CC" />
                        <exception regexp="yes">\p{P}|&gt;|&lt;</exception>
                        <exception regexp="yes">@.+</exception>
                    </token>
                    <marker>
                        <token>sorry</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">[\.!…]</token>
                </pattern>
                <message>Consider adding a comma here.</message>
                <suggestion>, \3</suggestion>
                <example correction=", sorry">Well<marker> sorry</marker>.</example>
                <example>Don't make me sorry.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_JJR_THE_MORE_COMMA" name="The older the more we ...">
            <antipattern>
                <token>the</token>
                <token>number</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJR" />
                    <token regexp="yes">we|you|I|they</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VBP" chunk_re=".-VP" />
                    </marker>
                    <token>the</token>
                    <token postag="JJR" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\5,</suggestion>
                <example correction="get,">The older we <marker>get</marker> the better we used to be.</example>
                <example correction="do,">I thought about this some more and the more I <marker>do</marker> the more I agree with you.</example>
                <example correction="go,">The faster I <marker>go</marker> the hotter it gets then it reclines and have to turn it off.</example>
                <example correction="become,">Because the bigger you <marker>become</marker> the more benefit your life has.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJR" />
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VBZ" chunk_re=".-VP" />
                    </marker>
                    <token>the</token>
                    <token postag="JJR" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\5,</suggestion>
                <example correction="gets,">The older it <marker>gets</marker> the better it used to be.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJR" />
                    <token regexp="yes">s?he|it|they|you|we|I</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token postag="VBD" chunk_re=".-VP" />
                    </marker>
                    <token>the</token>
                    <token postag="JJR" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\5,</suggestion>
                <example correction="drank,">It seemed to me that the more I <marker>drank</marker> the farther women wanted to stay from me.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>the</token>
                    <token>more</token>
                    <token>the</token>
                    <token postag="JJR" />
                    <token postag="RB" min="0" />
                    <token postag="VB[DZ]" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token postag="JJR" />
                    </marker>
                    <token>the</token>
                    <token postag="JJR" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\2,</suggestion>
                <example correction="older,">The <marker>older</marker> the better it used to be.</example>
            </rule>
        </rulegroup>

        <rule id="I_FOR_ONE_VB_COMMA" name="I(,) for one(,) think">
            <pattern>
                <marker>
                    <token regexp="yes">I|s?he</token>
                    <token>for</token>
                    <token>one</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VB[DP]|MD" postag_regexp="yes" />
            </pattern>
            <message>Consider adding two commas here.</message>
            <suggestion>\1, \2 \3,</suggestion>
            <url>https://www.lexico.com/definition/for_one</url>
            <example correction="I, for one,"><marker>I for one</marker> think that we should not do this.</example>
            <example correction="I, for one,"><marker>I for one</marker> would like to know your name first.</example>
        </rule>

        <rule id="SENT_START_JJ_PLEASE_COMMA" name="Great(,) please ...">
            <pattern>
                <token postag="SENT_START" />
                <token min="0" regexp="yes">very|really|quite|pretty</token>
                <marker>
                    <token regexp="yes">great|good|terrific|terrible|horrible|sweet|cool|nice|awesome|fantastic|brilliant|excellent|wow|perfect|thanks|wonderful|beautiful|splendid|superb|correct|done|right|neat</token>
                    <token>please</token>
                </marker>
                <token postag="RB" min="0" max="2" />
                <token postag="VB" />
            </pattern>
            <message>Consider adding a comma here or splitting the sentence.</message>
            <suggestion>\3, \4</suggestion>
            <suggestion>\3! <match no="4" case_conversion="startupper" /></suggestion>
            <suggestion>\3. <match no="4" case_conversion="startupper" /></suggestion>
            <example correction="Great, please|Great! Please|Great. Please"><marker>Great please</marker> have a look at the next issue.</example>
        </rule>
        <rule id="SENT_START_JJ_THAT_COMMA" name="Great(,) that is ...">
            <pattern>
                <token postag="SENT_START" />
                <token min="0" regexp="yes">very|really|quite|pretty</token>
                <marker>
                    <token regexp="yes">great|good|terrific|terrible|horrible|sweet|cool|nice|awesome|fantastic|brilliant|excellent|wow|perfect|thanks|wonderful|beautiful|splendid|superb|correct|done|right|neat</token>
                    <token>that</token>
                </marker>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token regexp="yes">'s|is|was</token>
            </pattern>
            <message>Consider adding a comma here or splitting the sentence.</message>
            <suggestion>\3, \4</suggestion>
            <suggestion>\3! <match no="4" case_conversion="startupper" /></suggestion>
            <suggestion>\3. <match no="4" case_conversion="startupper" /></suggestion>
            <example correction="Awesome, that|Awesome! That|Awesome. That"><marker>Awesome that</marker> is by far your best idea yet.</example>
        </rule>
        <rule id="HAPPY_BIRTHDAY_COMMA" name="Happy Birthday (,) Peter">
            <pattern>
                <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                <marker>
                    <token>Happy</token>
                    <token min="0">belated</token>
                    <token>birthday</token>
                </marker>
                <token postag="NNP|DT|PRP.*|W.*|EX" postag_regexp="yes" />
            </pattern>
            <message>Consider putting a comma after the exclamatory statement.</message>
            <suggestion>\2 \3 \4,</suggestion>
            <example correction="Happy Birthday,"><marker>Happy Birthday</marker> Peter!</example>
        </rule>
        <rulegroup id="PRP_MD_PRP_MD_COMMA" name="missing comma after modal verb">
            <antipattern>
                <token>need</token>
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">then|so</token>
                <token postag="MD" />
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">then|so</token>
                <token postag="MD" />
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">you|it</token>
                <token postag="MD" />
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">you|it</token>
                <token postag="MD" />
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token regexp="yes">you|it</token>
                <token postag="RB" />
                <token postag="MD" />
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Talk to you again should you be able to solve it before my weekend. -->
                <token postag="IN" />
                <token regexp="yes">you|it</token>
                <token postag="RB" />
                <token postag="MD" />
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Thank you can I stop by and pick it up? -->
                <token chunk_re=".-VP" />
                <token regexp="yes">you|it</token>
                <token postag="MD" />
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- Thank you can't I stop by and pick it up? -->
                <token chunk_re=".-VP" />
                <token regexp="yes">you|it</token>
                <token postag="MD" />
                <token>n't</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="MD" />
                    </marker>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <token postag="MD" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\3,</suggestion>
                <example correction="could,">If she <marker>could</marker> she would but we won't let her.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="MD" />
                    </marker>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\3,</suggestion>
                <example correction="can,">If I <marker>can</marker> I charge $10 plus shipping for the repair.</example>
                <example>... then they have "lost" it so would you be so kind as to send them another one.</example>
                <example>If these amendmnets are agreeable to you can you please print and arrange for execution.</example>
                <example>Talk to you again should you be able to solve it before my weekend.</example>
                <example>Thank you can I stop by and pick it up?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="MD" />
                        <token>n't</token>
                    </marker>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <token postag="MD" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\3\4,</suggestion>
                <example correction="couldn't,">If she <marker>couldn't</marker> she would but we won't let her.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token postag="MD" />
                        <token>n't</token>
                    </marker>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>It appears that a comma is missing.</message>
                <suggestion>\3\4,</suggestion>
                <example correction="can't,">If I <marker>can't</marker> I charge $10 plus shipping for the repair.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_THANKS" name="Great (,) thanks">
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token min="0" regexp="yes">very|really|so</token>
                    <marker>
                        <token regexp="yes">cool|excellent|nice|great|awesome|fantastic|wonderful|superb|correct|done|right|neat|good|terrific|terrible|horrible|sweet|brilliant|wow|perfect|beautiful|splendid</token>
                    </marker>
                    <token regexp="yes">thanks?</token>
                </pattern>
                <message>Consider adding a comma after the interjection.</message>
                <suggestion>\3,</suggestion>
                <example correction="Awesome,"><marker>Awesome</marker> thanks for your help.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">got|understood|done|seen|read</token>
                    <marker>
                        <token>it</token>
                    </marker>
                    <token regexp="yes">thanks?</token>
                </pattern>
                <message>Consider adding a comma here.</message>
                <suggestion>\2,</suggestion>
                <example correction="it,">Got <marker>it</marker> thanks.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">that|this|it</token>
                    <token regexp="yes">is|'s</token>
                    <token min="0" regexp="yes">very|really|so</token>
                    <marker>
                        <token regexp="yes">it|cool|excellent|nice|great|awesome|wonderful|superb|helpful|correct|right|neat|kind</token>
                    </marker>
                    <token regexp="yes">thanks?</token>
                </pattern>
                <message>Consider adding a comma here.</message>
                <suggestion>\4,</suggestion>
                <example correction="cool,">That's so <marker>cool</marker> thanks.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>thanks</token>
                    <token>no</token>
                    <token>thanks</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token skip="1" regexp="yes">thanks?</token>
                    <token regexp="yes">needed|necessary</token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">no|yay|yes|yeah|ohh?|nope|wow</token>
                    </marker>
                    <token regexp="yes">thanks?</token>
                </pattern>
                <message>Consider adding a comma here.</message>
                <suggestion>\2,</suggestion>
                <example correction="No,"><marker>No</marker> thanks.</example>
                <example>I didn't get no thank you.</example>
                <example>No thanks needed.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ABBREVIATION_PUNCTUATION" name="missing period after last letter in abbreviations">
            <url>https://www.lexico.com/grammar/punctuation-in-abbreviations</url>
            <rule>
                <pattern>
                    <token>
                        U
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">S</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        A
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>U.S.A.</suggestion>
                <suggestion>USA</suggestion>
                <example correction="U.S.A.|USA">The <marker>U.S.A</marker> is one of the largest countries.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        U
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" regexp="yes">
                        [SK]
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>U.<match no="3" case_conversion="allupper" />.</suggestion>
                <suggestion>U<match no="3" case_conversion="allupper" /></suggestion>
                <example correction="U.S.|US">The <marker>U.S</marker> is one of the largest countries.</example>
                <example correction="U.K.|UK">The <marker>U.K</marker> is one of the largest countries.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        L
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        A
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>L.A.</suggestion>
                <suggestion>LA</suggestion>
                <example correction="L.A.|LA">The <marker>L.A</marker> Lakers are a basketball team.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        N
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        Y
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        C
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>N.Y.C.</suggestion>
                <suggestion>NYC</suggestion>
                <example correction="N.Y.C.|NYC">I live in <marker>N.Y.C</marker> near the Empire State Building.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        U
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        A
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        E
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>U.A.E.</suggestion>
                <suggestion>UAE</suggestion>
                <example correction="U.A.E.|UAE">The <marker>U.A.E</marker> are a rich country.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        F
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        B
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        I
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>F.B.I.</suggestion>
                <suggestion>FBI</suggestion>
                <example correction="F.B.I.|FBI">The <marker>F.B.I</marker> is investigating the case.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        C
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        I
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        A
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>C.I.A.</suggestion>
                <suggestion>CIA</suggestion>
                <example correction="C.I.A.|CIA">The <marker>C.I.A</marker> is investigating the case.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        A
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        K
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">
                        A
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>\1.\3.\5.</suggestion>
                <example correction="a.k.a.">Batman <marker>a.k.a</marker> Bruce Wayne.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">
                        A
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" case_sensitive="yes">
                        I
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>\1.\3.</suggestion>
                <example correction="A.I.">We have an <marker>A.I</marker> developer.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">
                        S
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" case_sensitive="yes">
                        I
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation/initialism is missing a period after the last letter.</message>
                <suggestion>\1.\3.</suggestion>
                <suggestion>\1\3</suggestion>
                <url>https://en.wikipedia.org/wiki/International_System_of_Units</url>
                <example correction="S.I.|SI">Please check the <marker>S.I</marker> units.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">
                        R
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" case_sensitive="yes">
                        I
                    </token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no" case_sensitive="yes">
                        P
                        <exception scope="next" regexp="yes">\.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation is missing a period after the last letter.</message>
                <suggestion>\1.\3.\5.</suggestion>
                <example correction="R.I.P."><marker>R.I.P</marker> 2Pac.</example>
            </rule>
        </rulegroup>
        <rule id="COMMA_PERIOD" name="redundant punctuation">
            <antipattern>
                <token>,</token>
                <token>,</token>
            </antipattern>
            <antipattern>
                <token>,</token>
                <token>.</token>
                <token spacebefore="no" regexp="yes">.+</token>
            </antipattern>
            <antipattern>
                <token>,</token>
                <token>.</token>
                <token>.</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[!?]</token>
                <token regexp="yes">[\.,]</token>
                <token regexp="yes">[!?]</token>
            </antipattern>
            <antipattern>
                <token>(</token>
                <token>,</token>
                <token>)</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no">NET</token>
            </antipattern>
            <pattern>
                <token>,</token>
                <token regexp="yes" postag="SENT_END">[!?\.;:\)]+</token>
            </pattern>
            <message>Did you just mean <suggestion>\1</suggestion> or <suggestion>\2</suggestion>?</message>
            <example correction=",|!">Hey<marker>,!</marker></example>
            <example>You can try Java, .NET or Ruby.</example>
            <example>(1, 2, 3, ...)</example>
            <example correction=",|.">Thank you<marker>,.</marker></example>
            <example>Internet top-level domains in Cyrillic: gTLDs, .мон, .бг, .қаз, .рф, .срб, .укр</example>
        </rule>
        <rulegroup id="E_G" name="e.g.">
            <url>https://www.merriam-webster.com/dictionary/e.g.</url>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">
                        [Ee]g
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                </pattern>
                <message>The abbreviation <suggestion>e.g.</suggestion> (= for example) requires two periods.</message>
                <example correction="e.g.">He has watched many action movies (<marker>eg.</marker> Fast &amp; Furious)</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">
                        eg
                        <exception scope="next" regexp="yes">.|…</exception>
                        <exception scope="previous">.</exception>
                    </token>
                </pattern>
                <message>The abbreviation <suggestion>e.g.</suggestion> (= for example) requires two periods.</message>
                <example correction="e.g.">He has watched many action movies (<marker>eg</marker> Fast &amp; Furious)</example>
                <example>Check out my website: www.VisitEgypt.eg</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">
                        [Ee]
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token case_sensitive="yes" spacebefore="no">
                        g
                        <exception scope="next" regexp="yes">.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation <suggestion>e.g.</suggestion> (= for example) requires two periods.</message>
                <example correction="e.g.">He has watched many action movies (<marker>e.g</marker> Fast &amp; Furious)</example>
            </rule>
        </rulegroup>
        <rulegroup id="I_E" name="i.e.">
            <url>https://www.merriam-webster.com/dictionary/i.e.</url>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">
                        [Ii]e
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                </pattern>
                <message>The abbreviation <suggestion>i.e.</suggestion> (= that is) requires two periods.</message>
                <example correction="i.e.">A walking boot which is synthetic, <marker>ie.</marker> not leather.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">
                        [Ii]
                        <exception scope="previous">.</exception>
                    </token>
                    <token spacebefore="no">.</token>
                    <token case_sensitive="yes" spacebefore="no">
                        e
                        <exception scope="next" regexp="yes">.|…</exception>
                    </token>
                </pattern>
                <message>The abbreviation <suggestion>i.e.</suggestion> (= that is) requires two periods.</message>
                <example correction="i.e.">A walking boot which is synthetic, <marker>i.e</marker> not leather.</example>
            </rule>
        </rulegroup>
        <rulegroup id="QUESTION_MARK" name="Missing question mark">
            <rule>
                <antipattern>
                    <token postag="," />
                    <token skip="-1" regexp="yes">&quote;</token>
                    <token postag="SENT_END" />
                </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START" skip="1"/>
                    <token regexp="yes">Wh(ere|at|om?|y)</token>
                    <token inflected="yes" regexp="yes" skip="-1">do|have<exception scope="next" regexp="yes">[;?]</exception></token>
                    <marker><token postag="SENT_END" spacebefore="no">.<exception scope="next">.</exception></token></marker>
                </pattern>
                <message>Did you mean <suggestion>?</suggestion>?</message>
                <example correction="?">Where did she go<marker>.</marker></example>
                <example>Who does not love wine, women and song; remains a fool his whole life long.</example>
                <example>"What did the professor talk about?" the student asked.</example>
                <example>Why has the 'laissez faire' concept been lost in France," Mark Skousen asked his audience.</example>
            </rule>
            <rule>
                <antipattern> <!-- inversion of the conditional clause -->
                    <token postag="SENT_START"/>
                    <token inflected="yes" regexp="yes">Should|Be|Have</token>
                    <token regexp="yes" skip="-1">I|you|we|they|s?he|it|(any|some)(body|one)</token>
                    <token min="1" postag="," />
                    <token postag="DT" min="0" />
                    <token postag_regexp="yes" postag="PRP.*|NN.*" skip="-1" />
                </antipattern>
                <antipattern> <!-- #3197 -->
                    <token postag="SENT_START"/>
                    <token>Should</token>
                    <token regexp="yes" skip="-1">I|you|we|they|s?he|it|(any|some)(body|one)</token>
                    <token>,</token>
                    <token min="0" max="1" postag="RB" />
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Could he, he would -->
                    <token regexp="yes">[CW]ould</token><!-- Possibly others also -->
                    <token regexp="yes">&subject_pronouns;</token>
                    <token>,</token>
                    <token><match no="1"/></token>
                    <token postag="MD"/>
                </antipattern>
                <antipattern><!-- Would I only were -->
                    <token>Would</token>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token min="0" max="1">only</token>
                    <token>were</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token inflected="yes" regexp="yes">Can|(Wi|Sha)ll|Should|Do|Be|Have
                        <exception>Don</exception> <!-- imperative -->
                    </token>
                    <token spacebefore="no" min="0">n't</token>
                    <token regexp="yes" skip="-1">I|you|we|they|he|she<exception scope="next">?</exception></token>
                    <marker><token postag="SENT_END" spacebefore="no">.<exception scope="previous" regexp="yes">\.|\?</exception></token></marker>
                </pattern>
                <message>If this is a question, use a question mark.</message>
                <suggestion>?</suggestion>
                <example correction="?">Can you help me<marker>.</marker></example>
                <example correction="?">Should you have any questions<marker>.</marker></example>
                <example correction="?">Haven't I already done this<marker>.</marker></example>
                <example>Can you help me make dinner?</example>
                <example>Won't you help me fix this sentence?</example>
                <example>Shall she help with the horses?</example>
                <example>Should we help them find the location?</example>
                <example>Does she need our help at the store today?</example>
                <example>Are they going to need our help with the research report?</example>
                <example>Haven't I helped you already this week?</example>
                <example>Were I a bird, I would fly to you.</example>
                <example>Should you have any questions or wish to schedule an interview, please do reach me at +49152111111.</example><!-- #3197 -->
                <example>Could he, he would open 8 days a week.</example>
                <example>Would I only were younger.</example>
                <example>Should you need anything else, please don't hesitate to contact me.</example>
                <example>"Do you have it? Do you want it?" he said.</example>
            </rule>
        </rulegroup>
        <rule id="NN_CD_NN_CD_COMMA" name="Comma in 'act 2 scene 5'">
            <pattern>
                <token regexp="yes">act|season|page|unit|lesson|module|grade|chapter|row|section|article</token>
                <token postag="CD" />
                <token regexp="yes">scene|episode|paragraph|task|seat|clause|section</token>
                <token postag="CD" />
            </pattern>
            <message>It seems that a comma is missing.</message>
            <suggestion>\1 \2, \3 \4</suggestion>
            <example correction="Act 2, Scene 5"><marker>Act 2 Scene 5</marker>.</example>
        </rule>
        <rule id="GO_FOR_IT_GIRLS_COMMA" name="Comma after 'go for it'">
            <antipattern case_sensitive="yes">
                <token>for</token>
                <token>IT</token>
            </antipattern>
            <pattern>
                <token regexp="yes">go|ready</token>
                <token>for</token>
                <marker>
                    <token>it</token>
                    <token regexp="yes">lady|ladies|gentlemen|gents|lads|(girl|gal|boy|guy|dude|friend|folk)s?</token>
                </marker>
            </pattern>
            <message>It seems that a comma is missing.</message>
            <suggestion>\3, \4</suggestion>
            <example correction="it, girls">Go for <marker>it girls</marker>!</example>
            <example correction="it, guys">Get ready for <marker>it guys</marker>!</example>
        </rule>
        <rule id="GOD_COMMA" name="Comma after 'Oh my god'">
            <antipattern>
                <token>
                    <exception regexp="yes">my|oh</exception>
                </token>
                <token regexp="yes">days|stars|gods</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">god|allah</token>
                <token>himself</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <token min="0" regexp="yes">And|but</token>
                <token regexp="yes" min="0">O+h?</token>
                <token min="0">my</token>
                <marker>
                    <token regexp="yes">Gods?|goodness|goddess|gosh|allah|lord|days|word|stars</token>
                </marker>
                <token postag="PRP|W.*" postag_regexp="yes">
                    <exception>that</exception>
                </token>
            </pattern>
            <message>It seems that a comma is missing after this introductory phrase.</message>
            <suggestion>\5,</suggestion>
            <example correction="God,">Oh my <marker>God</marker> it's terrible.</example>
            <example>Days I love:</example>
            <example>God himself decided that.</example>
        </rule>
        <rule id="FOR_GODS_SAKE_COMMA" name="Comma after 'for god's sake">
            <pattern>
                <token postag="SENT_START" />
                <token regexp="yes" min="0">but|and|because|or</token>
                <token regexp="yes">in|for</token>
                <token regexp="yes">god|allah|fuck|hell|christ|heaven|goodness|goddess</token>
                <token>'s</token>
                <marker>
                    <token regexp="yes">hand|name|sake|will|country</token>
                </marker>
                <token>
                    <exception regexp="yes">and|n?or|&amp;|though|\p{P}</exception>
                </token>
                <token>
                    <exception regexp="yes">and|n?or|&amp;|though|\p{P}</exception>
                </token>
            </pattern>
            <message>It seems that a comma is missing after this introductory phrase.</message>
            <suggestion>\6,</suggestion>
            <example correction="name,">In God's <marker>name</marker> tell me the truth!</example>
        </rule>
        <rule id="ME_MYSELF_AND_I_COMMA" name="Comma in 'Me myself and I'">
            <pattern>
                <marker>
                    <token>me</token>
                </marker>
                <token>myself</token>
                <token regexp="yes">and|&amp;|or</token>
            </pattern>
            <message>Consider adding a comma here.</message>
            <suggestion>\1,</suggestion>
            <url>https://languagetool.org/insights/post/you-i-versus-you-me/</url>
            <example correction="me,">It's just <marker>me</marker> myself and I.</example>
        </rule>
        <rulegroup id="PRP_COMMA" name="Missing comma after pronoun">
            <rule>
                <antipattern><!-- confusion of it/if (found by CC_IT_PRP) -->
                    <token regexp="yes">but|and|as</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token>
                        <exception regexp="yes">it|you|them|her|him|me|us</exception>
                    </token>
                    <token>it</token>
                    <token regexp="yes">seems|seemed</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>over</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token postag="PRP" />
                    <token postag="PRP" />
                    <token inflected="yes">say</token>
                </antipattern>
                <antipattern>
                    <token>look</token>
                    <token>to</token>
                    <token postag="PRP" />
                    <token postag="PRP" />
                </antipattern>
                <pattern>
                    <token postag="IN" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes">
                            <!-- TODO add 'his/hers/yours/theirs/their/our' -->
                            [Ii]t|[Yy]ou|[Tt]hem|[Hh]er|[Hh]im|[Mm]e|[Uu]s
                            <exception scope="previous" regexp="yes">[Oo]f</exception>
                        </token>
                    </marker>
                    <token regexp="yes">
                        I|you|s?he|we|they|it
                        <exception postag="SENT_END" />
                        <exception regexp="yes" scope="next">\p{P}</exception>
                    </token>
                </pattern>
                <message>Consider adding a comma here.</message>
                <suggestion>\2,</suggestion>
                <example correction="you,">With <marker>you</marker> I can finally be happy.</example>
                <example correction="you,">While speaking to <marker>you</marker> I was able to learn a lot.</example>
                <example correction="it,">Every time I try to reach for <marker>it</marker> you hinder me.</example>
                <example correction="it,">However every time I click on <marker>it</marker> I get nothing from GitHub.</example>
                <example correction="it,">It’s really hard, but if you work at <marker>it</marker> you can do it.</example>
                <example correction="it,">With <marker>it</marker> you can have it set up.</example>
                <example correction="it,">Now that I can finally work with <marker>it</marker> I will start working on a device type.</example>
                <example correction="it,">For <marker>it</marker> I also like that I can use my ST devices to trigger recording.</example>
                <example correction="it,">As I thought about <marker>it</marker> I became more concerned about how changing these devices would effect it’s security.</example>
                <example correction="it,">I think it will work but playing round with <marker>it</marker> I notice that the Config is only sent to the thermostat.</example>
                <example correction="it,">To get around <marker>it</marker> I have created Smart Lighting automations that have the buttons as triggers.</example>
                <example correction="it,">In <marker>it</marker> you can see I’m reporting a 32 bit unsigned integer.</example>
                <example correction="it,">Or just something odd about <marker>it</marker> I should know?</example>
                <example correction="it,">After tinkering with <marker>it</marker> I figured out my error.</example>
                <example correction="it,">And by <marker>it</marker> I mean the bombot.</example>
                <example correction="it,">After <marker>it</marker> I created a support ticket about my autorenew.</example>
                <example correction="it,">Looking at <marker>it</marker> we need to create new policies for alerts.</example>
                <example correction="you,">I have seen them out of the package and to be honest with <marker>you</marker> they have looked like the FEIT electronics ones.</example>
                <example correction="you,">If it doesn’t work for <marker>you</marker> I can make guide with images as soon as i have the time.</example>
                <example correction="it,">If I POST to <marker>it</marker> I get 202 but parse is never called.</example>
                <example correction="you,">Thanks, I always know when I see a reply from <marker>you</marker> I am getting the best info.</example>
                <example correction="you,">The preference pages above definitely work so if they don’t work for <marker>you</marker> it might be something wrong with the IDE.</example>
                <example correction="it,">If you have a look at <marker>it</marker> you will understand the problem very quickly.</example>
                <example correction="you,">Same as <marker>you</marker> I noticed it was registering presses.</example>
                <example correction="it,">After tinkering with <marker>it</marker> I figured out my error.</example>
                <example correction="you,">Do take a look at my handler and binder smart app this will work for <marker>you</marker> I think.</example>
                <example correction="me,">To <marker>me</marker> it seems to be a bit of a charade.</example>
                <example correction="me,">I took a look at the master you have in your office, and to <marker>me</marker> it seems to be approved for all products.</example>
                <example correction="you,">To <marker>you</marker> you're the closest.</example>
                <example>With <marker>you,</marker> I can finally be happy.</example>
                <example>The IT we have is very modern.</example>
                <example>The only trace of it I have is in a WebCore Piston it now refers to it by an alphanumeric string and no longer the name.</example>
                <example>Some of it you can do easily.</example>
                <example>Was it you?</example>
                <example>He gives it you.</example>
                <example>Was it he?</example><!-- different error -->
                <example>Is it you???</example>
                <example>It you are looking to try it ...</example><!-- different error -->
                <example>Feel free to add to it it anytime.</example><!-- different error -->
                <example>Yes you you.</example><!-- different error -->
                <example>Depends on how much of it you can afford</example>
                <example>It seems to me we're making a lot of assumptions here.</example>
            </rule>
        </rulegroup>
        <rule id="FIRST_COME_FIRST_SERVED_COMMA" name="Missing comma 'first come first serve'">
            <pattern>
                <token>first</token>
                <marker>
                    <token>come</token>
                </marker>
                <token>first</token>
                <token>served</token>
            </pattern>
            <message>It seems that a comma is missing.</message>
            <suggestion>\2,</suggestion>
            <url>https://www.merriam-webster.com/dictionary/first%20come,%20first%20served</url>
            <example correction="come,">First <marker>come</marker> first served.</example>
        </rule>
        <rulegroup id="MISSING_COMMA_WITH_NNP" name="Missing vocative comma">
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes">Please|Thanks</token>
                <token regexp="yes">RSVP|Also</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token>Also</token>
                <token>Please</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Thanks</token>
                        <token postag="NNP"><exception regexp="yes">for|to</exception></token>
                    </marker>
                    <or>
                        <token>for</token>
                        <token postag="PRP">
                            <exception postag="NNP" />
                        </token>
                    </or>
                </pattern>
                <message>When a person is directly addressed, a comma should set off the name.</message>
                <suggestion>\2, \3,</suggestion>
                <short>Missing comma</short>
                <example correction="Thanks, Tom,"><marker>Thanks Tom</marker> for taking care.</example>
                <example correction="Thanks, Tom,"><marker>Thanks Tom</marker> you are the best.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>Thank</token>
                        <token>you</token>
                        <token postag="NNP"><exception regexp="yes">for|to</exception></token>
                    </marker>
                    <or>
                        <token>for</token>
                        <token postag="PRP" />
                    </or>
                </pattern>
                <message>When a person is directly addressed, a comma should set off the name.</message>
                <suggestion>\1 \2, \3,</suggestion>
                <short>Missing comma</short>
                <example correction="Thank you, Tom,"><marker>Thank you Tom</marker> for helping us.</example>
                <example>Thank You For That.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>welcome</token>
                    <token regexp="yes">kit|package|call|event|offer|packet|week|month|pack|screen|bonus|speech|song|table|home|2\d{3}|letter|message|journal|rally|slide(show)?</token>
                </antipattern>
                <antipattern><!-- #3223 Please Fed Ex -->
                    <token postag="SENT_START"/>
                    <token/>
                    <token>Fed</token>
                    <token>Ex</token>
                </antipattern>
                <antipattern>
                    <token>please</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token regexp="yes">Thanks|Please|Welcome|Goodbye</token>
                    </marker>
                    <token postag="NNP"><exception regexp="yes">for|to|in</exception></token>
                </pattern>
                <message>When a person is directly addressed, a comma should set off the name.</message>
                <suggestion>\2,</suggestion>
                <short>Missing comma</short>
                <example correction="Please,"><marker>Please</marker> Tom, let us go.</example>
                <example>Welcome In India!</example>
                <example>Please Fed Ex the signed stipulation and a disk to Ed Smith.</example><!-- #3223 -->
                <example>Welcome Fed Ex to our approved supplier list.</example><!-- #3223 -->
                <example>Please RSVP to me if you will be able to attend.</example>
                <example>Welcome 2021 with your family.</example>
                <example>Please ring me.</example>
                <example>Welcome Home!</example>
                <example>Please Read Description</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>Thank</token>
                        <token>you</token>
                    </marker>
                    <token postag="NNP"><exception regexp="yes">for|to</exception></token>
                </pattern>
                <message>When a person is directly addressed, a comma should set off the name.</message>
                <suggestion>\1 \2,</suggestion>
                <short>Missing comma</short>
                <example correction="Thank you,"><marker>Thank you</marker> Tom, for helping us.</example>
                <example>THANK YOU FOR TAKING CARE.</example>
            </rule>
            <rule>
                <antipattern><!-- "@handle Please ignore it then." -->
                    <token regexp="yes">@.+</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="NNP">
                        <exception postag="RB" />
                        <exception>Say</exception>
                    </token>
                    <marker>
                        <token regexp="yes">thank|please</token>
                    </marker>
                </pattern>
                <message>When a person is directly addressed, a comma should set off the name.</message>
                <suggestion>, \3</suggestion>
                <short>Missing comma</short>
                <example correction=", thank">Tom<marker> thank</marker> you!</example>
                <example><marker>Tom, thank</marker> you!</example>
                <example>Say thank you in a way that gets their attention.</example>
                <example>@handle Please ignore it then.</example>
                <example>Just please be quiet.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE" name="Missing comma after introductory phrase">
            <rule>
                <antipattern>
                    <token>at</token>
                    <token>least</token>
                </antipattern>
                <antipattern>
                    <token>in</token>
                    <token>case</token>
                </antipattern>
                <antipattern>
                    <token>on</token>
                    <token>condition</token>
                </antipattern>
                <antipattern>
                     <token postag='SENT_START'></token>
                     <token postag='IN'></token>
                     <token/>
                     <token regexp="yes" case_sensitive="yes">I|you|s?he|it|we|they</token>
                     <token postag='IN'></token>
                </antipattern>
                <antipattern>
                     <token postag='SENT_START'></token>
                     <token postag='IN'></token>
                     <token postag='VBG'/>
                     <token regexp="yes">it|you</token>
                     <token regexp="yes">,|and|or|&amp;</token>
                </antipattern>
                <antipattern><!-- while making it clear ... -->
                     <token postag='SENT_START'></token>
                     <token>while</token>
                     <token postag='VBG'/>
                     <token regexp="yes">it|you</token>
                     <token postag="JJ" />
                </antipattern>
                <antipattern>
                     <token postag='SENT_START'></token>
                     <token>For</token>
                     <token>reasons</token>
                     <token postag="PRP"/>
                     <token spacebefore="no">'ll</token>
                     <token>discover</token>
                     <token>,</token>
                </antipattern>
                <antipattern><!-- https://www.lexico.com/definition/as_best_one_can_(or_may) -->
                     <token postag='SENT_START'></token>
                     <token>As</token>
                     <token>best</token>
                     <token postag="PRP"/>
                     <token regexp="yes">can|may</token>
                </antipattern>
                <antipattern><!-- Act 1 Scene 2 -->
                     <token>act</token>
                     <token>I</token>
                     <token>scene</token>
                     <token postag="CD"/>
                </antipattern>
                <antipattern>
                    <token postag='SENT_START' />
                    <token>after</token>
                    <token skip="3">everything</token>
                    <token>,</token>
                </antipattern>
                <antipattern><!-- #2091 Before writing you this message -->
                    <token postag='IN'></token>
                    <token postag='VBG'/>
                     <token regexp="yes">you|it</token>
                     <token postag="DT|PRP.*|EX" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- #2091 While saying we are all for change -->
                    <token postag='IN'></token>
                    <token postag='VBG'/>
                     <token regexp="yes">you|we|they</token>
                     <token postag_regexp='yes' postag="VB[DP]"/>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token regexp="yes">Article|Act</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token postag='SENT_START' />
                    <token postag='IN' />
                    <token regexp="yes">(some|every|any)(thing|body|one)</token>
                    <token regexp="yes" case_sensitive="yes">I|you|s?he|it|we|they</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>WW</token>
                    <token skip="5">I</token>
                    <token>,</token>
                </antipattern>
                <pattern>
                     <token postag='SENT_START' />
                     <token postag='IN' />
                     <marker>
                         <token postag='NN.*' postag_regexp='yes'>
                            <exception>behind</exception>
                            <exception>loving</exception>
                         </token>
                     </marker>
                     <token regexp="yes" case_sensitive="yes">I|you|s?he|it|we|they</token> <!-- not PRP: exclude 'me', 'himself...' -->
                 </pattern>
                 <message>A comma is probably missing here.</message>
                 <suggestion><match no="3"/>,</suggestion>
                 <url>http://englishplus.com/grammar/00000074.htm</url>
                 <short>Missing comma</short>
                 <example correction='years,'>For <marker>years</marker> I have been travelling.</example>
                 <example correction="everything,">Before <marker>everything</marker> you should take better care of your health.</example>
                 <example correction="baking,">In <marker>baking</marker> it is often combined with orange or orange zest.</example>
                 <example>At least they believed me.</example>
                 <example>To see you is always a great pleasure.</example>
                 <example>Upon hearing it all, he cried.</example>
                 <example>In managing it there are major rewards.</example>
                 <example>After everything we have done...</example>
                 <example>While setting it up correctly, he heard some strange noises.</example>
                 <example>After circling it, he knew that they were dealing with a WW2-era explosive.</example>
                 <example>On condition you are back by ten o'clock, you may go to the dance.</example>
                 <example><marker>For reasons you’ll discover,</marker> I can’t send you to Riven with a way out, but I can give you this.</example>
                 <example><marker>As best I can</marker> tell, the rule does exactly what it should.</example>
                 <example>In Act I Scene 2 of Jacques Offenbach's Orpheus in the...</example>
                 <example>After everything she experienced, he finally paid her.</example>
                 <example>Before writing you this message, I ate my lunch.</example><!-- #2091 -->
                 <example>While saying we are all for change, we are selling something which tells us that change doesn't really matter.</example><!-- #2091 -->
                 <example>Under Article I, Section 3, Clause 6 of the U.S. Constitution.</example>
                 <example>Throughout Act I, Romeo is ...</example>
                 <example>During WW I, as during earlier wars, belligerent governments went off the gold standard.</example>
            </rule>
        </rulegroup>
        <rulegroup id="INTERJECTIONS_PUNCTUATION" name="Missing punctuation after an interjection">
    <!--  Created by Tiago F. Santos, 2018-07-16      -->
            <url>http://www.chompchomp.com/terms/interjection.htm</url>
            <short>Missing punctuation</short>
            <antipattern>
                <token regexp="yes" skip="2">&interjections;</token>
                <token>,</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes" regexp="yes">HM|MM|MEH|HA|AH</token>
            </antipattern>
            <antipattern>
                <token>yay</token>
                <token regexp="yes">to|for</token>
            </antipattern>
            <antipattern>
                <token>ha</token>
                <token>ha</token>
            </antipattern>
            <rule>
                 <antipattern><!-- www.lexico.com/en/definition/(oh)_my_god -->
                     <token>Oh</token>
                     <token>my</token>
                     <token regexp="yes">god|goodness|gosh|ghost</token>
                 </antipattern>
                 <pattern>
                     <token postag='SENT_START'></token>
                     <marker><token regexp='yes'>&interjections;</token></marker>
                     <token>
                       <exception regexp='yes'>[\!\?\.,;\-–\/\[:\(…]|&apostrophe;</exception>
                       <exception postag='NNP'/>
                    </token>
                 </pattern>
                 <message>Interjections are usually punctuated.</message>
                   <suggestion>\2,</suggestion>
                   <suggestion>\2!</suggestion>
                   <suggestion>\2?</suggestion>
                   <suggestion>\2.</suggestion>
                 <example correction='Oh,|Oh!|Oh?|Oh.'><marker>Oh</marker> horrid examples...</example>
                 <example><marker>Oh,</marker> horrid examples...</example>
                 <example><marker>Oh my God</marker>, I can’t believe this.</example>
                 <example><marker>Oh my</marker>, that's horrible!</example>
                 <example>Yahoo Mail.</example>
                 <example>Oh yeah, that's great!</example>
            </rule>
            <rule>
                 <pattern>
                     <token postag='SENT_START'></token>
                     <marker><token regexp='yes'>&interjections;</token>
                     <token postag='NNP'/></marker>
                 </pattern>
                 <message>Interjections are usually punctuated.</message>
                   <suggestion>\2, \3!</suggestion>
                   <suggestion>\2, \3?</suggestion>
                   <suggestion>\2, \3,</suggestion>
                   <suggestion>\2, \3.</suggestion>
                 <example correction='Oh, John!|Oh, John?|Oh, John,|Oh, John.'><marker>Oh John</marker> what a horrid example...</example>
                 <example>Oh Peter, I just heard the news.</example>
                 <example><marker>Oh!</marker> Horrid examples...</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes">Bummer</token>
                    </marker>
                    <token postag="PRP.*|DT|EX" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Interjections are usually punctuated.</message>
                <suggestion>\2,</suggestion>
                <suggestion>\2!</suggestion>
                <example correction="Bummer,|Bummer!"><marker>Bummer</marker> I hoped I would win the lottery.</example>
            </rule>
        </rulegroup>
        <rule id="COMMA_AFTER_A_MONTH" name="Comma after a month">
         <pattern>
          <token regexp='yes'>&months;</token>
          <token>,</token>
          <token regexp='yes'>\d{3,30}</token>
         </pattern>
         <message>When specifying a month and year, the comma is unnecessary.</message>
         <suggestion><match no="1"/> <match no="3"/></suggestion>
         <url>https://www.thepunctuationguide.com/comma.html#dates</url>
         <short>Spurious comma</short>
         <example correction="October 1958">The store closed its doors for good in <marker>October, 1958</marker>.</example>
         <example correction="May 1998">30#2 (<marker>May, 1998</marker>), pp. 341–372 in JSTOR.</example><!-- MFU 2019-09-20: is this an error or a style preference? -->
        </rule>
        <rule id="MISSING_COMMA_BETWEEN_DAY_AND_YEAR" name="Missing comma between day of month and year">
            <pattern>
                <marker>
                    <token regexp="yes">&months;</token>
                    <token regexp="yes">[0123]?[0-9]</token>
                </marker>
                <token regexp="yes">[0-9]{4}</token>
            </pattern>
            <message>Commas set off the year in a month-day-year date.</message>
            <suggestion>\1 \2,</suggestion>
            <url>https://www.thepunctuationguide.com/comma.html#dates</url>
            <short>Missing comma</short>
            <example correction="October 18,">My birthday is <marker>October 18</marker> 1983.</example>
            <example>He died on <marker>April 1,</marker> 1888.</example>
        </rule>
        <rulegroup id="UNNECESSARY_COMMA" name="Unnecessary comma: 'Bob(,) and I'">
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token postag="DT|PRP\$" postag_regexp="yes"><exception>Another</exception></token>
                    <marker>
                        <token postag="NN.*" postag_regexp="yes"/>
                        <token>,</token>
                    </marker>
                    <token>and</token>
                </pattern>
                <message>The comma is probably incorrect.</message>
                <suggestion><match no="3"/></suggestion>
                <short>Comma misuse</short>
                <example correction="aunt">My <marker>aunt,</marker> and I like skiing.</example>
                <example correction="dog">The <marker>dog,</marker> and the cat hate each other.</example>
            </rule>
        </rulegroup>
        <rule id="MISSING_COMMA_AFTER_WEEKDAY" name="Missing comma after weekday">
            <pattern>
                <marker>
                    <token regexp="yes">&weekdays;</token>
                </marker>
                <token regexp="yes">&months;</token>
                <token regexp="yes">[0123]?[0-9](st|nd|rd|th)?</token>
            </pattern>
            <message>Commas set off the month in a weekday-month-day date.</message>
            <suggestion>\1,</suggestion>
            <url>https://www.thepunctuationguide.com/comma.html#dates</url>
            <short>Missing comma</short>
            <example correction="Friday,">We will meet <marker>Friday</marker> July 15.</example>
            <example correction="Monday,">I will be back by <marker>Monday</marker> April 1st.</example>
            <example>He was born on Friday, August 12, 2016.</example>
        </rule>
        <rule id='UNLIKELY_OPENING_PUNCTUATION' name="Loose punctuation mark">
            <antipattern><!-- smileys -->
                <token postag='SENT_START'></token>
                <token regexp="yes">[\:\;]</token>
                <token min="0">'</token>
                <token min="0">-</token>
                <token regexp="yes">[()\|\/\\\]]|\-?[Oo0PSI]</token>
            </antipattern>
            <antipattern><!-- smileys -->
                <token postag='SENT_START'></token>
                <token regexp="yes">[\:\;]</token>
                <token regexp="yes">[()\|\/\\\]]|\-?[Oo0PSI]</token>
            </antipattern>
            <antipattern><!-- typographic emphasis (see examples) -->
                <token>:</token>
                <token>:</token>
                <token>:</token>
            </antipattern>
            <antipattern><!-- typographic emphasis (see examples) -->
                <token>;</token>
                <token>;</token>
                <token>;</token>
            </antipattern>
            <antipattern>
                <token>:</token>
                <token regexp="yes" spacebefore="no">[a-z].*</token>
                <token spacebefore="no">:</token>
            </antipattern>
            <pattern>
                <token postag='SENT_START'/>
                <marker>
                    <token regexp='yes'>[,;\:\)\]\}]</token>
                </marker>
            </pattern>
            <message>Loose punctuation mark.</message>
            <suggestion></suggestion>
            <example correction=""><marker>;</marker> How's it goin'?</example>
            <example>:-)</example>
            <example>;)</example>
            <example>:]</example>
            <example>:-]</example>
            <example>:'(</example>
            <example>:'-(</example>
            <example>;-)</example>
            <example>:-|</example>
            <example>:/</example>
            <example>:o</example>
            <example>:P</example>
            <example>:-P</example>
            <example>:placeholder:</example>
            <example>:::: Headline :::::</example>
        </rule>
        <rule id="FOR_NOUN_SAKE" name="for heaven's sake">
            <pattern>
                <token>for</token>
                <token regexp="yes" postag="NN.*" postag_regexp="yes">[a-zA-Z]+</token>
                <token>sake</token>
            </pattern>
            <message>Did you mean <suggestion>\1 <match no="2" regexp_match="(?&lt;!s)s\b" regexp_replace=""/>’s sake</suggestion> or <suggestion>\1 \2’ sake</suggestion>?</message>
            <example correction="For heaven’s sake|For heavens’ sake"><marker>For heavens sake</marker>!</example>
            <example correction="For goodness’s sake|For goodness’ sake"><marker>For goodness sake</marker>!</example>
            <example>For Christ’s sake!</example>
            <example>For pity’s sake!</example>
        </rule>
        <rulegroup id="TAG_QUESTIONS_2" name="mismatched verbs and tag question operators" default="off">
            <antipattern>
                <token skip="-1" chunk="B-VP" />
                <token skip="-1" chunk="B-VP" />
                <token postag="," />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <token skip="-1" postag="VBP">
                        <exception inflected="yes">be</exception>
                    </token>
                    <token postag="," />
                    <marker>
                        <token>are</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb '\2'.</message>
                <suggestion>don't <match no="6" /></suggestion>
                <example correction="don't I">I stop here, <marker>aren't I</marker>?</example>
                <example correction="don't you">You know the way, <marker>aren't you</marker>?</example>
                <example>You're a little overweight, aren't you?</example>
                <example>You're going to have to leave, aren't you?</example>
                <example>You're afraid the same thing will happen to you, aren't you?</example>
                <example>You're the only person in the office who can do that, aren't you?</example>
                <example>Effect of land conveyances I'm late, aren't I?</example>
                <example>You're very persistent, aren't you?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <token skip="-1" postag="VBD">
                        <exception regexp="yes">was|were</exception>
                    </token>
                    <token postag="," />
                    <marker>
                        <token regexp="yes">was|were</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb '\2'.</message>
                <suggestion>didn't <match no="6" /></suggestion>
                <example correction="didn't I">I stopped here, <marker>wasn't I</marker>?</example>
                <example correction="didn't you">You knew the way, <marker>weren't you</marker>?</example>
                <example>That's what you wanted, wasn't it?</example>
                <example>That's what you suspected, wasn't it?</example>
                <example>How did you know he wasn't me?</example>
            </rule>
            <rule>
                <pattern>
                    <token>do</token>
                    <token regexp="yes">not|n't</token>
                    <token skip="-1" postag="VB">
                        <exception regexp="yes">am|are</exception>
                    </token>
                    <token postag="," />
                    <marker>
                        <token regexp="yes">am|are</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match '\3'.</message>
                <suggestion>do <match no="6" /></suggestion>
                <example correction="do I">I don't start, <marker>am I</marker>?</example>
                <example correction="do you">You don't know, <marker>are you</marker>?</example>
                <example>Don't ask the old man "How are you?", instead ask him "What's bothering you today?".</example>
            </rule>
            <rule>
                <pattern>
                    <token>did</token>
                    <token inflected="yes">not</token>
                    <token skip="-1" postag="VB">
                        <exception>be</exception>
                    </token>
                    <token postag="," />
                    <marker>
                        <token regexp="yes">was|were</token>
                        <token postag="PRP">
                            <exception>one</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match '\3'.</message>
                <suggestion>did <match no="6" /></suggestion>
                <example correction="did I">I didn't start, <marker>was I</marker>?</example>
                <example correction="did you">You didn't know, <marker>were you</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>does</token>
                    <token inflected="yes">not</token>
                    <token skip="-1" postag="VB">
                        <exception>is</exception>
                    </token>
                    <token postag="," />
                    <marker>
                        <token>is</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb '\3'.</message>
                <suggestion>does <match no="6" /></suggestion>
                <example correction="does it">It doesn't look like it, <marker>is it</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>did</token>
                    <token inflected="yes">not</token>
                    <token skip="-1" postag="VB">
                        <exception>is</exception>
                    </token>
                    <token postag="," />
                    <marker>
                        <token>was</token>
                        <token postag="PRP">
                            <exception>one</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb '\3'.</message>
                <suggestion>did <match no="6" /></suggestion>
                <example correction="did it">It didn't look like it, <marker>was it</marker>?</example>
                <example correction="did it">It did not look like it, <marker>was it</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="-1" regexp="yes">am|'m|are|'re</token>
                    <token postag="," />
                    <marker>
                        <token>do</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘am/are’.</message>
                <suggestion>aren't <match no="5" /></suggestion>
                <example correction="aren't I">I'm late, <marker>don't I</marker>?</example>
                <example correction="aren't I">I am late, <marker>don't I</marker>?</example>
                <example correction="aren't you">Well, you're here, <marker>don't you</marker>?</example>
                <example correction="aren't you">Well, you are here, <marker>don't you</marker>?</example>
                <example>You always shout when you're angry, don't you?</example>
                <example>You guys know who I am, don't you?</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="-1">was</token>
                    <token postag="," />
                    <marker>
                        <token>did</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘was’.</message>
                <suggestion>wasn't <match no="5" /></suggestion>
                <example correction="wasn't I">I was late, <marker>didn't I</marker>?</example>
                <example>If he was to return at 7, why didn't he?</example>
                <example>It sure took you a long time to figure out what the problem was, didn't it?</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="-1">were</token>
                    <token postag="," />
                    <marker>
                        <token>did</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘were’.</message>
                <suggestion>weren't <match no="5" /></suggestion>
                <example correction="weren't you">Well, you were there, <marker>didn't you</marker>?</example>
                <example>You were impressed with how Tom did that, weren't you?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">am|'m</token>
                    <token skip="-1">not</token>
                    <token postag="," />
                    <marker>
                        <token>do</token>
                        <token postag="PRP">
                            <exception>it</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘am’.</message>
                <suggestion>am <match no="5" /></suggestion>
                <example correction="am I">I'm not in trouble, <marker>do I</marker>?</example>
                <example correction="am I">I am not in trouble, <marker>do I</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>was</token>
                    <token skip="-1" inflected="yes">not</token>
                    <token postag="," />
                    <marker>
                        <token>did</token>
                        <token postag="PRP">
                            <exception>it</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘was’.</message>
                <suggestion>was <match no="5" /></suggestion>
                <example correction="was I">I wasn't in trouble, <marker>did I</marker>?</example>
                <example correction="was I">I was not in trouble, <marker>did I</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">are|'re</token>
                    <token inflected="yes" skip="-1">not</token>
                    <token postag="," />
                    <marker>
                        <token>do</token>
                        <token postag="PRP">
                            <exception regexp="yes">I|he|she|it|me|us|them</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘are’.</message>
                <suggestion>are <match no="5" /></suggestion>
                <example correction="are you">You're not shy, <marker>do you</marker>?</example>
                <example correction="are you">You are not shy, <marker>do you</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>were</token>
                    <token inflected="yes" skip="-1">not</token>
                    <token postag="," />
                    <marker>
                        <token>did</token>
                        <token postag="PRP">
                            <exception regexp="yes">I|he|she|it|me|us|them</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘were’.</message>
                <suggestion>were <match no="5" /></suggestion>
                <example correction="were you">You weren't weird about it, <marker>did you</marker>?</example>
                <example correction="were you">You were not weird about it, <marker>did you</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="-1" regexp="yes">is|'s<exception postag="POS" /></token>
                    <token postag="," />
                    <marker>
                        <token>does</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘is’.</message>
                <suggestion>isn't <match no="5" /></suggestion>
                <example correction="isn't he">He's crazy, <marker>doesn't he</marker>?</example>
                <example correction="isn't he">He is crazy, <marker>doesn't he</marker>?</example>
                <example>Tom's being here means a lot to you, doesn't it?</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="-1">was</token>
                    <token postag="," />
                    <marker>
                        <token>did</token>
                        <token>n't</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘was’.</message>
                <suggestion>wasn't <match no="5" /></suggestion>
                <example correction="wasn't it">It was a little off, <marker>didn't it</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">is|'s<exception postag="POS" /></token>
                    <token inflected="yes" skip="-1">not</token>
                    <token postag="," />
                    <marker>
                        <token>does</token>
                        <token postag="PRP" />
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘is’.</message>
                <suggestion>is <match no="5" /></suggestion>
                <example correction="is it">It's not very helpful, <marker>does it</marker>?</example>
                <example correction="is it">It is not very helpful, <marker>does it</marker>?</example>
                <example correction="is it">It isn't very helpful, <marker>does it</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>was</token>
                    <token inflected="yes" skip="-1">not</token>
                    <token postag="," />
                    <marker>
                        <token>did</token>
                        <token postag="PRP">
                            <exception regexp="yes">(my|your|him|her|it)self</exception>
                            <exception regexp="yes">(our|your|their)selves</exception>
                        </token>
                    </marker>
                    <token>?</token>
                </pattern>
                <message>In a tag question, the operator (verb) must match the verb ‘was’.</message>
                <suggestion>was <match no="5" /></suggestion>
                <example correction="was it">It wasn't very helpful, <marker>did it</marker>?</example>
                <example correction="was it">It was not very helpful, <marker>did it</marker>?</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_TAG_QUESTION" name="comma before tag question">
          <rule>
                <antipattern>
                    <token regexp="yes" skip="-1">wh(y|at|ich|ere|en|o(se|m)?)|how</token>
                    <token postag="SENT_END">?</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes" regexp="yes" skip="-1">Aren?|Didn?|Don?|Doesn?|Isn?|W(eren?|asn?|ill|on|ouldn?)|Can|(Sh|C|W)ouldn?</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token regexp="yes" skip="-1">Didn?|Don?|Doesn?|Isn?|W(eren?|asn?|ill|on|ouldn?)</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">do|have</token>
                    <token>it</token>
                </antipattern>
                <antipattern><!-- You really did it? -->
                    <token regexp="yes">you|we|they|I</token>
                    <token postag="RB" min="0" />
                    <token postag="VB[DP]" postag_regexp="yes" />
                    <token>it</token>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- He really did it? -->
                    <token regexp="yes">s?he|it|that|this</token>
                    <token postag="RB" min="0" />
                    <token postag="VB[DZ]" postag_regexp="yes" />
                    <token>it</token>
                    <token>?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token negate="yes" regexp="yes">
                            \W+|wh.*|how|can|did|to?|or|I|n't|shouldn?|will|'ll|won|but|neither
                            <exception postag="UNKNOWN" />
                        </token>
                    </marker>
                    <token case_sensitive="yes" regexp="yes">are|is|do(es)?|ha(s|ve)|can|ca|did|was|will|wo|(sh|w|c)ould</token>
                    <token case_sensitive="yes" min="0" regexp="yes">n't|not</token>
                    <token case_sensitive="yes" regexp="yes">s?he|it|you|they|we|I</token>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>A comma should precede the tag question (i.e., the yes/no-question at the end).</message>
                <suggestion>\1,</suggestion>
                <url>https://www.thoughtco.com/tag-question-grammar-1692523</url>
                <example correction="coming,">She isn't <marker>coming</marker> is she?</example>
                <example correction="you,">He didn't know <marker>you</marker> did he?</example>
                <example correction="book,">She was reading a <marker>book</marker> wasn't she?</example>
                <example correction="come,">Ann and Tim will <marker>come</marker> won't they?</example>
                <example correction="left,">She has already <marker>left</marker> hasn't she?</example>
                <example correction="drive,">You can <marker>drive</marker> can't you?</example>
                <example>Do you know how to do it?</example>
                <example>What floor is it?</example>
                <example>How would I do it?</example>
                <example>You really did it?</example>
                <example>Did she tell you why she did it?</example>
                <example>Can anybody do it?</example>
                <example>Are you sure Tom didn't do it?</example>
                <example>Do you know where Tom is or don't you?</example>
                <example>Why can't they do it?</example>
                <example>If you could do it, would you do it?</example>
                <example>Excuse me, how much is it?</example>
                <example>So this will do it?</example>
                <example>But should regular people do it?</example>
                <example>But does it?</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_COMPOUND_SENTENCE" name="comma between independent clauses">
            <!-- TODO
                * xxx(,) so let me know what your strategy is for that.
                * xxx(,) but there would ...
            -->
            <url>https://www.grammar-monster.com/lessons/commas_before_conjunctions.htm</url>
            <antipattern>
                <token postag="SENT_START" skip="9"/>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern>
                <token skip="9" regexp="yes">n?either</token>
                <token regexp="yes">n?or</token>
            </antipattern>
            <antipattern>
                <token skip="5">after</token>
                <token regexp="yes">n?or|and|but</token>
                <token>before</token>
            </antipattern>
            <antipattern>
                <token skip="5" regexp="yes">before|prior</token>
                <token regexp="yes">n?or|and|but</token>
                <token>after</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">nobody|no-one|none?</token>
                <token>but</token>
                <token regexp="yes">I|you</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token>one</token>
                <token>but</token>
                <token regexp="yes">I|you</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">that|so|yet</token>
                <token regexp="yes">yet|although</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token>for</token>
                <token regexp="yes">so|although|yet</token>
            </antipattern>
            <antipattern><!-- He played so badly ... -->
                <token chunk_re=".-VP" />
                <token min="0" regexp="yes">it|them|us|me|you|him|her|that|this|th[eo]se</token>
                <token>so</token>
                <token regexp="yes">badly|loudly|proudly|perfectly|nicely|wonderfully|beautifully|carefully|quickly|hard|widely|frequently|broadly</token>
            </antipattern>
            <antipattern><!-- ... defined membership so broadly it ... -->
                <token chunk_re=".-VP" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token>so</token>
                <token regexp="yes">badly|loudly|proudly|perfectly|nicely|wonderfully|beautifully|carefully|quickly|hard|widely|frequently|broadly</token>
            </antipattern>
            <antipattern><!-- He has given up so quickly ... -->
                <token chunk_re=".-VP" />
                <token chunk_re="B-PRT" />
                <token>so</token>
                <token regexp="yes">badly|loudly|proudly|perfectly|nicely|wonderfully|beautifully|carefully|quickly|hard|widely|frequently|broadly</token>
            </antipattern>
            <antipattern><!-- Let's look at some truths about life and how quickly and easily we can move away from them. -->
                <token>how</token>
                <token postag="RB" />
                <token>and</token>
                <token postag="RB" />
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Oh, say, can you see, the dawn’s early light what so proudly we hailed at the twilight’s last gleaming? -->
                <token>what</token>
                <token>so</token>
            </antipattern>
            <antipattern><!-- ensure that there's a verb in the clause before the conjunction -->
                <token regexp="yes">:|;|…</token>
                <token spacebefore="yes" skip="-1">
                    <exception regexp="yes">and|or</exception>
                    <exception postag="VB.*" postag_regexp="yes" />
                    <exception postag="VB.*|MD" postag_regexp="yes" scope="next" />
                </token>
                <token regexp="yes">and|but|n?or|so|yet|although</token>
            </antipattern>
            <antipattern><!-- ensure that there's a verb in the clause before the conjunction -->
                <token postag="SENT_START" skip="-1">
                    <exception postag="VB.*|MD" postag_regexp="yes" scope="next" />
                </token>
                <token regexp="yes">and|but|n?or|so|yet|although</token>
            </antipattern>
            <antipattern><!-- If they or you are not interested, I apologize for taking up your time today. -->
                <token regexp="yes">if|when|whether</token>
                <token postag="PRP" />
                <token>or</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Not only they but also I was scolded by the teacher. -->
                <token>not</token>
                <token>only</token>
                <token postag="PRP" />
                <token>but</token>
            </antipattern>
            <antipattern><!-- No one is obliged to do more than what he or she can. -->
                <token regexp="yes">they|we|s?he</token>
                <token regexp="yes">and|or|&amp;|but</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Are you just getting back from the gym, if so I'm impressed. -->
                <token>if</token>
                <token>so</token>
                <token postag="RB" />
            </antipattern>
            <antipattern><!-- Chris, just so I'm clear.... -->
                <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                <token postag="RB" chunk_re=".-SBAR">
                    <exception>well</exception><!-- for you as well but ... -->
                </token>
                <token regexp="yes">so|but|and|or|although</token>
            </antipattern>
            <antipattern><!-- The reforms were not completed by the war, in which Charles acted as commander, yet even so it proved ... -->
                <token postag="CC|PCT" postag_regexp="yes" />
                <token>even</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>sooner</token>
                <token>or</token>
                <token>later</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">every?</token>
                <token>so</token>
                <token>often</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">and|or|&amp;|but</token>
                    <token min="0">even</token>
                    <token regexp="yes">so|yet</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" skip="1" />
                    <token case_sensitive="yes" regexp="yes">and|but|n?or|so|yet|although</token>
                </antipattern>
                <antipattern><!-- some of them were so we -->
                    <token>of</token>
                    <token regexp="yes">&object_pronouns;</token>
                    <token regexp="yes">is|was|are|were</token>
                    <token>so</token>
                </antipattern>
                <antipattern><!-- Premium #1795 His daughter and he -->
                    <token postag="SENT_START"/>
                    <token postag="PRP$"/>
                    <token min="0" max="3" chunk_re="I-NP-(singular|plural)"/>
                    <token chunk_re="E-NP-(singular|plural)"/>
                    <token>and</token>
                </antipattern>
                <antipattern><!-- you good people -->
                    <token case_sensitive="yes" regexp="yes">and|but|n?or|so|yet|although</token>
                    <token>you</token>
                    <token postag="JJ" min="0" />
                    <token postag="NNS" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">harry|&given_names_that_are_also_nouns;</token>
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you</token>
                    <token>
                        <exception>'ve</exception>
                        <exception>'ll</exception>
                        <exception>'d</exception>
                        <exception>'m</exception>
                        <exception>'re</exception>
                    </token>
                </antipattern>
                <antipattern><!-- I don't think that you and I'll be able to do that by ourselves. / Tom said that you and he went camping last weekend. -->
                    <token chunk="B-SBAR" postag="DT|CC" postag_regexp="yes" /><!-- DT|CC because "about" is "SBAR" in "She asked about you and she didn't know"-->
                    <token postag="RB" min="0" />
                    <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you|s?he|they|we</token>
                </antipattern>
                <antipattern>
                    <!-- Incorrect chunking:
                        "Tom said he wondered if Mary and I'd really be able to do that by ourselves."
                        "I have not yet completed an outline of the settlement proposal for Stan to send to Davis after Stan and he meet."
                    -->
                    <token regexp="yes">if|whether|when(ever)?|but|because|after|before|while</token>
                    <token postag="RB" min="0" />
                    <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you|s?he|they|we</token>
                </antipattern>
                <antipattern><!-- I don't think that you and I'll be able to do that by ourselves. / Tom said that you and he went camping last weekend. -->
                    <token postag="PCT|SENT_START" postag_regexp="yes">
                        <exception spacebefore="no">.</exception> <!-- decimal point -->
                    </token>
                    <token postag="RB" min="0" />
                    <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you|s?he|they|we</token>
                </antipattern>
                <antipattern><!-- I don't think you and I'll be able to do that by ourselves. / Tom said you and he went camping last weekend. -->
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">think|say|believe|know|hope|remember|doubt|seem|appear</token>
                    <token postag="RB" min="0" />
                    <token postag="NNP|PRP|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you|s?he|they|we</token>
                </antipattern>
                <antipattern><!-- Let me know and you or I can call Andy Ott about this. -->
                    <token regexp="yes">and|&amp;|since|because|but|when|if|although</token>
                    <token regexp="yes">you|s?he|they|we|I</token>
                    <token>or</token>
                    <token regexp="yes">you|s?he|they|we|I</token>
                </antipattern>
                <antipattern><!-- I will forward the information to you so you can update the list. -->
                    <token regexp="yes">to|for|with</token>
                    <token>you</token>
                    <token>so</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">I|you</token>
                    <token>
                        <exception regexp="yes">'[a-z]{1,2}</exception>
                    </token>
                </antipattern>
                <antipattern><!-- My hubby and I used to go mountain climbing together. -->
                    <token postag="PRP$" chunk_re="B-NP-.*" />
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" chunk_re="I-NP-.*" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="I-NP-.*" />
                    <token regexp="yes" chunk_re="I-NP-.*">and|or|&amp;</token>
                    <token chunk_re="E-NP-.*">I</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*">
                        <exception postag="CD" />
                    </token>
                    <token>and</token>
                    <token>I</token>
                    <token>
                        <exception regexp="yes">'[a-z]{1,2}</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token postag="NNP">
                        <exception regexp="yes">&months;|&abbrevMonths;</exception>
                    </token>
                    <token postag="CD" />
                    <token>and</token>
                    <token>I</token>
                    <token>
                        <exception>'ve</exception>
                        <exception>'ll</exception>
                        <exception>'d</exception>
                        <exception>'m</exception>
                        <exception>'re</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">
                        [A-Z].*
                        <exception regexp="yes">&months;|&abbrevMonths;</exception>
                    </token>
                    <token postag="CD" />
                    <token>and</token>
                    <token>I</token>
                    <token>
                        <exception>'ve</exception>
                        <exception>'ll</exception>
                        <exception>'d</exception>
                        <exception>'m</exception>
                        <exception>'re</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">only|just|if</token>
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">,|–|-|;|:</token>
                    <token postag="RB" />
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token>his</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token>and</token>
                    <token skip="1">he</token>
                    <token postag="VB[DP]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>her</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token>and</token>
                    <token skip="1">she</token>
                    <token postag="VB[DP]|MD" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>while</token>
                    <token>doing</token>
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|PRP|TO" postag_regexp="yes" />
                    <token inflected="yes">do</token>
                    <token>so</token>
                </antipattern>
                <antipattern><!-- https://github.com/languagetool-org/languagetool/issues/4364 -->
                    <token inflected="yes">do</token>
                    <token regexp="yes">in|of|while</token>
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">all|(every|any)one</token>
                    <token>but</token>
                    <token regexp="yes">I|you</token>
                    <token>
                        <exception>'ve</exception>
                        <exception>'ll</exception>
                        <exception>'d</exception>
                        <exception>'m</exception>
                        <exception>'re</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token>and</token>
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">are|were</token>
                </antipattern>
                <antipattern><!-- possible confusion of "butt" or missing noun (see A_BUT) -->
                    <token case_sensitive="yes" regexp="yes">the|an?|my|y?our</token>
                    <token>but</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">s?he|we|they|I|it|you</token>
                    <token>as</token>
                    <token>well</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token skip="1" regexp="yes">that|this|it|th[eo]se</token>
                    <token inflected="yes">be</token>
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|so</token>
                    <token skip="1" regexp="yes">that|this|it|th[eo]se</token>
                    <token inflected="yes">be</token>
                    <token>so</token>
                </antipattern>
                <antipattern><!-- I think it's so we can ...  -->
                    <token regexp="yes" inflected="yes">think|believe|hope|doubt|assume|appear|seem</token>
                    <token skip="1" regexp="yes">that|this|it|th[eo]se</token>
                    <token inflected="yes">be</token>
                    <token>so</token>
                </antipattern>
                <antipattern>
                    <token skip="3" inflected="yes" regexp="yes">
                        need|want
                        <exception scope="next">to</exception>
                    </token>
                    <token>so</token>
                    <token postag="PRP" />
                    <token regexp="yes">can|could</token>
                </antipattern>
                <antipattern>
                    <token skip="-1">whether</token>
                    <token>or</token>
                </antipattern>
                <antipattern><!-- Analcime is classified as a zeolite mineral, but structurally and chemically it is ... -->
                    <token regexp="yes">and|or|&amp;|but</token>
                    <token postag="RB" />
                    <token regexp="yes">and|&amp;</token>
                    <token postag="RB" />
                    <token postag="PRP" />
                </antipattern>
                <antipattern><!-- #4500 I don't think my ex-girlfriend and I'd ever start dating again. -->
                    <token postag="PRP$"/>
                    <token min="0" max="4" postag_regexp="yes" postag="RB|JJ"/><!-- annoying/B-VP. Do not use the chunker -->
                    <token skip="-1" regexp="yes">(ex-)?((boy|girl)?friend|husband|lover|wife)</token>
                    <token regexp="yes">and|&amp;</token>
                    <token regexp="yes">&subject_pronouns;</token>
                    <token>'d</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes" regexp="yes">and|but|n?or|so|yet|although</token>
                    <token postag="RB" min="0" />
                    <token>it</token>
                    <token>'s</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
                    <token>and</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*
                        <exception postag="NNPS?" postag_regexp="yes" />
                    </token>
                    <token min="0" regexp="yes">'d|'ll|'re|'s|'ve</token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*
                        <exception postag="NNPS?" postag_regexp="yes" />
                    </token>
                    <token regexp="yes" case_sensitive="yes">[A-Z].*
                        <exception postag="NNPS?" postag_regexp="yes" />
                    </token>
                </antipattern>
                <pattern>
                    <token negate="yes" regexp="yes">\W+|and|n?or|&amp;|but|if|when|whether|because</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">and|but|n?or|so|yet|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token regexp="yes" case_sensitive="yes">
                        [Ss]he|[Hh]e|[Ww]e|[Tt]hey|I|[Ii]t|[Yy]ou
                    </token>
                    <token regexp="yes" min="0">&apostrophe;[a-z]{1,2}|all</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="MD|VB[DZP]?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Use a comma before '\2' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \2</suggestion>
                <example correction=", but">She really purchased the car<marker> but</marker> she declined the extended warranty.</example>
                <example correction=", so">I wrote the device integration for them<marker> so</marker> we can now pull the data in the ecosystem.</example>
                <example correction=", so">Or, you know, leave the imbalance where it is<marker> so</marker> they can sell Weapon Upgrade packs.</example>
                <example correction=", so">It would help a lot if we could know what the referring URL was<marker> so</marker> we can load the page in context.</example>
                <example correction=", and">He gave the picture to his daughter<marker> and</marker> she was so surprised that she forgot to say "thank you".</example>
                <example correction=", so">I need to borrow some money<marker> so</marker> I can buy some medicine for Tom.</example>
                <example correction=", but">I tried to convert her to Islam<marker> but</marker> she politely declined.</example>
                <example correction=", and">BOD meeting is next week<marker> and</marker> we all have to jump for it.</example>
                <example correction=", so">Tom dyed his hair gray<marker> so</marker> he'd look older.</example>
                <example correction=", so">Someone needs to reach McDonald<marker> so</marker> we can ask him about it.</example>
                <example correction=", and">Can you give me deal numbers for those as well<marker> and</marker> we can take a peak and see why they were not killed.</example>
                <example correction=", and">I get into town on June 23<marker> and</marker> I fly out the next Sunday.</example>
                <example correction=", and">I'm 27<marker> and</marker> I graduated from UT 4 1/2 years ago.</example>
                <example correction=", and">I voted for him in 2008<marker> and</marker> I plan to stick with him in 2012.</example>
                <example correction=", and">I'm already twenty<marker> and</marker> I have no idea what I want to do with my life.</example>
                <example correction=", so">I bought it for my girlfriend<marker> so</marker> after I tested it I took it to her house.</example>
                <example correction=", although">Alexa reports that the device is unresponsive<marker> although</marker> it does indeed turn it on.</example>
                <example correction=", although">I don’t believe in aliens, vampires, and werewolves<marker> although</marker> they try to convince me they exist.</example>
                <example correction=", although">I know one too<marker> although</marker> he hasn’t retired I think.</example>
                <example correction=", and">Let's continue to talk<marker> and</marker> hopefully I can add a position down the road that will make more sense for everyone at that time.</example>
                <example correction=", and">Something happens<marker> and</marker> immediately we react rather than just noticing.</example>
                <example correction=", but">They will transact at some point, maybe not until next week<marker> but</marker> they will do something.</example>
                <example correction=", but">If she could she would<marker> but</marker> we won't let her.</example>
                <example correction=", and">That way you always have a phone on you<marker> and</marker> you can voice call or text.</example>
                <example correction=", and">I have run some report queries<marker> and</marker> it appears that although they have read the ETA and have about 10 users they have never traded online.</example>
                <example correction=", but">Thank you<marker> but</marker> I’m trying to avoid running wires down this wall for another switch.</example>
                <example correction=", and">I mentioned that I might call you<marker> and</marker> he has no problem with that.</example>
                <example correction=", and">She asked about you<marker> and</marker> she didn't know Jill and Matt had a baby.</example>
                <example correction=", or">I can submit the claim here and bill you<marker> or</marker> I can submit the claim to you.</example>
                <example correction=", so">I just bundled west and east<marker> so</marker> you can ignore them.</example>
                <example correction=", and">Sharen has inquired once before<marker> and</marker> we were under the impression that the deals were separate and not included.</example>
                <example correction=", and">They are calling people directly now<marker> and</marker> we need to stop that.</example>
                <example correction=", and">Cash is king for now<marker> and</marker> we need thepricing to get the rest of the cash.</example>
                <example correction=", and">Let me know if you are going for sure<marker> and</marker> I will call back and reserve spots for us.</example>
                <example correction=", and">Second, it is quite old and our forms have evolved since then<marker> and</marker> we would not want to replicate this form.</example>
                <example correction=", and">I talked with Abbott Building Co. today<marker> and</marker> they said the building for this project should be ready in about a week.</example>
                <example correction=", although">I think Little Woodrow's is on for tonight<marker> although</marker> I'm still waiting to see if my brother and his wife want to go out tonight.</example>
                <example correction=", and">I seem to remember that our traders in Singapore did a deal with a PRC company a while back<marker> and</marker> it was our conclusion at the time that it was a very dangerous (perhaps unenforceable) thing to do.</example>
                <example correction=", and">They've acted irresponsibly and immorally<marker> and</marker> it has to stop.</example>
                <example correction=", so">Please confirm if you plan to be there or not<marker> so</marker> I can make reservations.</example>
                <example correction=", and">I'm taking the first full week of Sept. off<marker> and</marker> it would be easiest for me to get everything done then if that's okay with y'all.</example>
                <example correction=", and">She has placed her property and home on the market for $220K<marker> and</marker> she is planning to close on a new home during the month of December.</example>
                <example correction=", and">We got him a fisher price farm for Christmas<marker> and</marker> he had just opened that when he opened the horses.</example>
                <example correction=", and">Vince, Kevin Hannon is the executive lead for Cornell<marker> and</marker> he needs to approve.</example>
                <example correction=", and">Sami went looking for Layla<marker> and</marker> he found her backpack.</example>
                <example correction=", and">We checked Edgar for him<marker> and</marker> he didn't come up in any of the filings.</example>
                <example>Judge for yourself<marker> and</marker> you won't be judged.</example> <!-- less than 9 words -->
                <example correction=", and">His sons were kings Chimalpilli II and Cuauhtémoc<marker> and</marker> he also had one daughter.</example>
                <example correction=", and">I am not sure what Kevin is looking at, but Jenny's 2001 Plan had $17.4MM<marker> and</marker> we are currently forecasting $17.3MM for 2001.</example>
                <example correction=", and">Thanks for your help, I have talked with Mr. Shaw<marker> and</marker> we are all set.</example>
                <example correction=", and">The problems in OPEC have shaken investor confidence<marker> and</marker> therefore we think that energy will lag in a rally of the cyclicals.</example>
                <example correction=", and">Please let me know what you decide to do<marker> and</marker> again I am sorry about the confusion.</example>
                <example correction=", but">They probably planned for the students to park in the garages<marker> but</marker> instead they are used as extra rooms.</example>
                <example correction=", and">I know that<marker> and</marker> I'd do a lot for her.</example>
                <example correction=", and">We immediately need to start the drafting of the Longview turbine contract<marker> and</marker> I'd like to see if we are close enough to get that started.</example>
                <example correction=", and">On my second day of work we had a major bomb threat at Hoover Tower<marker> and</marker> I've already filed one police report of suspected terrorist activity.</example>
                <example correction=", and">Just sign up for MCI WorldCom Long Distance<marker> and</marker> you'll receive 500 CoolPoints each month during your first 4 months as an MCI WorldCom customer.</example>
                <!-- TODO-->
                <!-- <example correction="her, and">I know <marker>her and</marker> I've got proof that you date her.</example> -->
                <!-- <example correction="mode, so">In local <marker>mode so</marker> it cannot be started from Houston.</example> -->
                <!-- <example correction="1948, but">The ship was sold to the Indian Navy in <marker>1948 but</marker> when she was scrapped, parts of the ship were saved and preserved in New Zealand.</example> -->
                <example>I need it so I can open the door.</example>
                <example>They played so badly it doesn't even deserve a comment.</example>
                <example>I don't think that you and I'll be able to do that by ourselves.</example>
                <example>1980 – Carolina Crescentini, Italian actress If you bite your fingernails, sooner or later you will make your fingers bleed.</example>
                <example>I know sooner or later I'm going to have to do that if no one else does.</example>
                <example>Tom said he wondered if Mary and I'd really be able to do that by ourselves.</example>
                <example>I have not yet completed a bullet point outline of the settlement proposal for Stan to send to Davis after Stan and he meet.</example>
                <example>I assumed that you and I'd do that together.</example>
                <example>Fernley may have made you aware of his decision with Tani when you and he talked yesterday.</example>
                <example>We also think it is important that you and we have sight of the exact wording of the test method to see whether on its face it is inappropriate for condensate.</example>
                <example>Tom said that you and he went camping last weekend.</example>
                <example>There are always exceptions, and every so often it’s rather a tendency of favored spellings than a fixed rule.</example>
                <example>Tom said you and he went camping last weekend.</example>
                <example>I don't think that you and I'll be able to do that by ourselves.</example>
                <example>Mike, you or I should let Rex know that a couple of these additional tweaks are coming through this other channel.</example>
                <example>I think past negotiations have not gone as well as you or I would have liked.</example>
                <example>I wouldn't want anyone to perceive that you or I are doing anything to discourage students from considering Enron as their first choice.</example>
                <example>Since there are no black and white answers, it probably would be useful to have a meeting to discuss our thoughts and address questions that we and you all may have.</example>
                <example>Let me know and you or I can call Andy Ott about this.</example>
                <example>You speak so loudly I can even hear you on the first floor.</example>
                <example>Let's look at some truths about life and how quickly and easily we can move away from them.</example>
                <example>The very fact that you put Enron's current problems on the table shows how strongly and genuinely you feel about the firm being secure and stable.</example>
                <example>Not only they but also I was scolded by the teacher.</example>
                <example>Oh, say, can you see, the dawn’s early light what so proudly we hailed at the twilight’s last gleaming?</example>
                <example>I will let you know what those items are and when we expect to bill them.</example>
                <example>Analcime is usually classified as a zeolite mineral, but structurally and chemically it is more similar to the feldspathoids.</example>
                <example>I need a car so I can come see you.</example>
                <example>When you serve the monastic assembly, they and you should taste only the flavour of the Ocean of Reality, the Ocean of unobscured Awake Awareness, not whether or not the soup is creamy or made only of wild herbs.</example>
                <example>Not merely I but also he is invited to the party.</example>
                <example>No Hub is required, but you cannot simulate a Hub.</example>
                <example>My hubby and I used to go mountain climbing together.</example>
                <example>I want a wife and children, and so I need a house.</example>
                <example>Last Sunday, <marker>Mary and</marker> I went to the zoo.</example>
                <example>Where are <marker>Mary and</marker> I going?</example>
                <example>She asked where <marker>Mary and</marker> I were going.</example>
                <example>Hades was not, however, an evil god, for although he was stern, cruel, and unpitying, he was still just.</example>
                <example>When we were kids, Tom and I did a lot of things together.</example>
                <example>I think I have to go on a lower dose just so I can afford them.</example>
                <example>This is where Tim and I live.</example>
                <example>I think Tom and I agree.</example>
                <example>Note that although I’d love offline features, the size of the App is important to me as well.</example>
                <example>During the conference call, Mr. Lay said that although he regrets Mr. Skilling's decision, he has never felt better about the company.</example>
                <example>This is so you can quickly respond to my email.</example>
                <example>We have already identified our lower performers across Operations and IT as well.</example>
                <example>I think tom and I agree.</example>
                <example>Because Mike still wants Richard's business, and Mike and I are close, Mike is likely to be pretty forthcoming if Richard or I ask him what is going on.</example>
                <example>Or so he seemed, his sayings were so wise.</example>
                <example>I think tom and you agree.</example>
                <example>Lee Johnson is asking about the breakout contract for LV Co Genn and when it will be ready.</example>
                <example>I am really curious about Frank Vickers and when he is avail.</example>
                <example>Once again , this is so we may share in the Christmas Spirit and show our appreciation for one another.</example>
                <example>In doing so they involved themselves in some misunderstandings of history and in some confusion of theology.</example>
                <example>Victor, Robert or I will send through some meter request next week.</example>
                <example>I would like to incorporate my security system into the SmartThings Platform, especially so I can use Amazon Alexa to ARM the system at night.</example>
                <example>I still can't believe Mary and I are getting married.</example>
                <example>I love <marker>Tim and</marker> he loves me.</example>
                <example>No one is obliged to do more than what he or she can.</example>
                <example>Either you or he is wrong.</example>
                <example>But my friends and I spent the summer together in the sun.</example>
                <example>I thought you and he were happy.</example>
                <example>The attachment is the punch list we discussed last night that outlines what party is responsible for making what notification to the DEQ and when it is required.</example>
                <example>The 3rd and I will never become friends.</example>
                <example>so I think you’re reading my questions/requests right.</example>
                <example>Tom couldn't find anybody to go with him, and so he went by himself.</example>
                <example>Just so we're clear, that was Tom's idea, not mine.</example>
                <example>Either they are not happy together or there is another problem.</example>
                <example>It's so we can go to the game together.</example><!-- Premium #1795 -->
                <example>Did you know that it was so they could go to the game together?</example>
                <example>Some changes were for safety, but some of them were so we could do the job quickly.</example>
                <example>His daughter and he often texted each other inside their own home.</example><!-- Premium #1795 -->
                <example>His handsome brothers and she often went to exotic locations for extended weekend holidays.</example>
                <example>The 'important official' was, or so it may reasonably be assumed, a man named Peter Smollett, later unmasked as a Soviet agent.</example>
                <example>Please let Casey or I know what your plans are around those holidays.</example>
                <example>Dave Forster or I will be contacting the point people within each group (in the "To" Header for this message) periodically to ensure prompt feedback.</example>
                <example>If you need ECAP deals signed, George McClellan or I can sign by fax.</example>
                <example>Tom, Mary, John, Alice and I used to sing together.</example>
                <example>The third card is for the remainder of the ETS BCP Team members, both Business and IT staff.</example>
                <example>FBR reports on positive developments for generic drugs and IT service providers.</example>
                <example>Whether this was during one of Poirot's numerous retirements or before she entered his employ is unknown.</example>
                <example>You used to do so before you became a university student.</example>
                <example>If we or they come up with any ideas, maybe it could be discussed then.</example>
                <example>Not only they but also I was scolded by the teacher.</example>
                <example>If they or you are not interested, I apologize for taking up your time today.</example>
                <example>No one but you could have done it this well.</example>
                <example>Analcime is usually classified as a zeolite mineral, but structurally and chemically it is more similar to the feldspathoids.</example>
                <example>The very fact that you put Enron's current problems on the table shows how strongly and genuinely you feel about the firm being secure and stable.</example>
                <example>Price's work was cited at the Scopes Trial of 1925, yet although he frequently solicited feedback from geologists and other scientists, they consistently disparaged his work.</example>
                <example>I will forward the information to you so you can update the list.</example>
                <example>How can I explain it to you so you would understand?</example>
                <example>The army reforms were not yet completed by the war of 1809, in which Charles acted as commander in chief, yet even so it proved a far more formidable opponent than the old and was only defeated after a desperate struggle involving Austrian victories and large loss of life on both sides.</example>
                <example>I don't think my ex-girlfriend and I'd ever start dating again.</example><!-- #4500 -->
                <example>He didn't expect that his rather annoying wife and he'd stop loving each other.</example><!-- #4500 annoying/B-VP -->
                <example>We had an on-off affair; a week after we split my ex-girlfriend and I'd always start dating again.</example><!-- #4500 -->
                <example>I don't think that my former boyfriend and I'd ever start dating again.</example><!-- #4500 -->
                <example>Her mother didn't really expect that her former lover and she'd actually get together for a second time.</example><!-- #4500 -->
                <example>My friends aren't sure whether my former girlfriend who lives in Wales and I'd ever start dating again.</example><!-- #4500 -->
                <example>My former girlfriend who lives in Wales and I'd occasionally talk about the old days.</example><!-- #4500 -->
                <example>Even Biden, despite his Irish loathing for British Imperialism and it's effects on Ireland, is bound to them.</example><!-- different error: "it's" vs "its" -->
                <example>Show Me a Strong Town and I'll Show You a Strong Bank (1966)</example>
                <example>The Communist Party also was outlawed, and the government defined membership so broadly it could arrest people indiscriminately, branding them Communists.</example>
            </rule>
            <rule>
                <pattern>
                    <token negate="yes" regexp="yes">\W+|and|n?or|&amp;|but|if|when|whether|because</token>
                    <marker>
                        <token case_sensitive="yes">and</token>
                    </marker>
                    <token regexp="yes">so|yet|maybe|perhaps|although</token>
                    <token regexp="yes" skip="2">s?he|we|they|I</token>
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Use a comma before '\2' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \2</suggestion>
                <url>https://www.grammar-monster.com/lessons/commas_before_conjunctions.htm</url>
                <example correction=", and">Bill didn't work hard enough<marker> and</marker> so he failed.</example>
                <example>Alan and I am preparing a monthly trading and transactional summary, a litigation report and the TOP TEN legal risk report.</example>
                <example>Being open, Adam and I have different views on the direction of the organization.</example>
                <example>Tom, Mary, John, Alice and I used to sing together.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="RB" />
                    <token>so</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token />
                    <token />
                    <token />
                    <token negate="yes" regexp="yes">\W+|and|n?or|&amp;|but|if|when|whether|because</token>
                    <marker>
                        <token regexp="yes">so|yet|although</token>
                    </marker>
                    <token>I</token>
                </pattern>
                <message>Use a comma before '\5' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \5</suggestion>
                <url>https://www.grammar-monster.com/lessons/commas_before_conjunctions.htm</url>
                <example correction=", so">I need to borrow some money<marker> so</marker> I can buy some medicine for Tom.</example>
                <example correction=", although">I have gotten better<marker> although</marker> I was told I wouldn’t improve.</example>
                <example>I want a wife and children, and so I need a house.</example>
                <example>I think I have to go on a lower dose just so I can afford them.</example>
                <example>Are you just getting back from the gym, if so I'm impressed.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" skip="-1">Since|As|If|Once|When</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token skip="-1">whether</token>
                    <token>or</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token />
                    <token />
                    <token />
                    <token negate="yes" regexp="yes">\W+|and|n?or|&amp;|but|if|when|whether|because</token>
                    <marker>
                        <token regexp="yes">and|but|or|so|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token>I</token>
                    <token regexp="yes">'m|am|was</token>
                    <token />
                </pattern>
                <message>Use a comma before '\5' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \5</suggestion>
                <url>https://www.grammar-monster.com/lessons/commas_before_conjunctions.htm</url>
                <example correction=", but">My friends are in Washington<marker> but</marker> I am in Seattle.</example>
                <example correction=", although">I quite liked it<marker> although</marker> I’m not quite sure why yet.</example>
                <example correction=", and">EPRM 2001 will be held in Houston on the 14th, 15th &amp; 16th of May<marker> and</marker> I am keen to start the initial research as soon as possible.</example>
                <example correction=", and">I have conducted a search on Amazon.com, Britannica.com and Dow Jones<marker> and</marker> I am coming up empty handed.</example>
                <example>Since my home is secure and I’m white, I did nothing.</example>
                <example>What I am finding a bit strange is that although I am following some topics, I do not get all the messages in my stream with those topics tagged.</example>
                <example>Not only you but also I am in the wrong.</example>
                <example>Chris, Just so I'm clear....</example>
                <example>In fact Audrey and I am visiting BCCK this Friday to be sure we are not leaving anything else on the table which Enron could capture.</example>
                <example>Not only you but also I am in the wrong.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_COMPOUND_SENTENCE_2" name="comma between independent clauses">
            <antipattern>
                <token regexp="yes">all|many|(any|every)(thing|one|body)</token>
                <token>but</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">only|just|if</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>so</token>
                <token regexp="yes">much|few</token>
            </antipattern>
            <antipattern>
                <token>while</token>
                <token>doing</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token postag="IN|PRP|TO" postag_regexp="yes" />
                <token inflected="yes">do</token>
                <token>so</token>
            </antipattern>
            <antipattern><!-- https://github.com/languagetool-org/languagetool/issues/4364 -->
                <token inflected="yes">do</token>
                <token regexp="yes">in|of|while</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>not</token>
                <token skip="4">only</token>
                <token>but</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">nobody|no-one|nothing|none?</token>
                <token>but</token>
            </antipattern>
            <antipattern>
                <token>no</token>
                <token regexp="yes">one|body|thing</token>
                <token>but</token>
            </antipattern>
            <antipattern><!-- a building designed so inmates can't flee ... -->
                <token regexp="yes">an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*" postag_regexp="yes" />
                <token postag="VBD" />
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>whether</token>
                <token skip="-1" />
                <token>or</token>
            </antipattern>
            <antipattern>
                <token skip="5">after</token>
                <token regexp="yes">n?or|and|but</token>
                <token>before</token>
            </antipattern>
            <antipattern>
                <token skip="5" regexp="yes">before|prior</token>
                <token regexp="yes">n?or|and|but</token>
                <token>after</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">so|that</token>
                <token regexp="yes">yet|although</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START|PCT" postag_regexp="yes" />
                <token>for</token>
                <token regexp="yes">so|although|yet</token>
            </antipattern>
            <antipattern><!-- Functions that have only poles but no essential singularities are called meromorphic. -->
                <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                <token>but</token>
                <token>no</token>
            </antipattern>
            <antipattern><!-- chunker error -->
                <token regexp="yes">and|but|n?or|so|yet|although</token>
                <token>even</token>
                <token>unknown</token>
            </antipattern>
            <antipattern>
                <token>so</token>
                <token>that</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">every?</token>
                <token>so</token>
                <token>often</token>
            </antipattern>
            <antipattern><!-- ensure that there's a verb in the clause before the conjunction -->
                <token regexp="yes">,|:|;|…</token>
                <token spacebefore="yes" skip="-1">
                    <exception regexp="yes">and|or</exception>
                    <exception postag="VB.*" postag_regexp="yes" regexp="yes">
                        (?!^(&uncommon_verbs;)$).+
                    </exception>
                    <exception postag="VB.*" postag_regexp="yes" scope="next" regexp="yes">
                        (?!^(&uncommon_verbs;)$).+
                    </exception>
                </token>
                <token regexp="yes">and|but|n?or|so|yet|although</token>
            </antipattern>
            <antipattern><!-- ensure that there's a verb in the clause before the conjunction -->
                <token postag="SENT_START" skip="-1">
                    <exception postag="VB.*" postag_regexp="yes" scope="next" regexp="yes">
                        (?!^(&uncommon_verbs;)$).+
                    </exception>
                </token>
                <token regexp="yes">but|so|yet|although</token>
            </antipattern>
            <antipattern><!-- He played so badly ... -->
                <token chunk_re=".-VP" />
                <token min="0" regexp="yes">it|them|us|me|you|him|her|that|this|th[eo]se</token>
                <token>so</token>
                <token regexp="yes">badly|loudly|proudly|perfectly|nicely|wonderfully|beautifully|carefully|quickly|hard|widely|frequently|broadly</token>
            </antipattern>
            <antipattern><!-- ... defined membership so broadly it ... -->
                <token chunk_re=".-VP" />
                <token chunk_re="B-NP.*" min="0" />
                <token chunk_re="E-NP.*" />
                <token>so</token>
                <token regexp="yes">badly|loudly|proudly|perfectly|nicely|wonderfully|beautifully|carefully|quickly|hard|widely|frequently|broadly</token>
            </antipattern>
            <antipattern><!-- He has given up so quickly ... -->
                <token chunk_re=".-VP" />
                <token chunk_re="B-PRT" />
                <token>so</token>
                <token regexp="yes">badly|loudly|proudly|perfectly|nicely|wonderfully|beautifully|carefully|quickly|hard|widely|frequently|broadly</token>
            </antipattern>
            <antipattern><!-- Let's look at some truths about life and how quickly and easily we can move away from them. -->
                <token>how</token>
                <token postag="RB" />
                <token>and</token>
                <token postag="RB" />
                <token postag="PRP" />
            </antipattern>
            <antipattern><!-- Oh, say, can you see, the dawn’s early light what so proudly we hailed at the twilight’s last gleaming? -->
                <token>what</token>
                <token>so</token>
            </antipattern>
            <antipattern><!-- The reforms were not completed by the war, in which Charles acted as commander, yet even so it proved ... -->
                <token postag="CC|PCT" postag_regexp="yes" />
                <token>even</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>sooner</token>
                <token>or</token>
                <token>later</token>
            </antipattern>
            <antipattern><!-- Satyam acknowledges that so far two customers has dropped out but argues ... -->
                <token chunk="B-SBAR">that</token>
                <token>so</token>
            </antipattern>
            <antipattern><!-- all but one -->
                <token>all</token>
                <token>but</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token>so</token>
                <token>far</token>
                <token>so</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern><!-- AT&T hasn't completed yet the number of network miles required by the agreement. -->
                <token postag="VBN" chunk_re=".-VP" />
                <token>yet</token>
                <token postag="RB" min="0" />
                <token chunk_re="B-NP.*|I-ADJP" postag="NN.*|DT|PRP.*|CD|JJ.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>yet</token>
                <token>another</token>
            </antipattern>
            <antipattern>
                <token>so</token>
                <token>many</token>
                <token />
                <token regexp="yes">so|too</token>
                <token postag="JJ" />
            </antipattern>
            <rule>
                <pattern>
                    <token />
                    <token />
                    <token regexp="yes">.*[a-z0-9].*
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">but|so|yet|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?" postag_regexp="yes" /><!-- TODO: make this optional -->
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before '\4' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \4</suggestion>
                <example correction=", but">I'm sorry<marker> but</marker> Google Spreadsheets isn't supported yet.</example>
                <example correction=", although">The smart plug works<marker> although</marker> the repeater always show no recent activity.</example>
                <example correction=", but">Pardon me<marker> but</marker> your fly is undone.</example>
                <example correction=", although">As of a storm in spring 2009, the sign is no longer there<marker> although</marker> the supporting posts are still visible.</example>
                <example correction=", although">In 1999, Cygnus offered Cygwin 1.0 as a commercial product of interest in its own right<marker> although</marker> subsequent versions have not been released, instead relying on continued open source releases.</example>
                <example correction=", but">The second phase would have added 1,444 MW this year<marker> but</marker> its contractors stopped work this month as lenders were unwilling to support the venture.</example>
                <example correction=", but">Balaguer won in 1994<marker> but</marker> most observers felt the election had been stolen.</example>
                <example correction=", so">Our goal is to make this life changing step easy and affordable<marker> so</marker> average folks like you can benefit from the advantages of being ordained.</example>
                <example correction=", but">Here is the original response<marker> but</marker> the letter pretty much supersedes this document.</example>
                <example correction=", but">I've tried to approve<marker> but</marker> no products will come into the queue.</example>
                <!-- TODOs -->
                <!-- <example correction=", yet">We had several months to get an ISDA signed<marker> yet</marker> there is now a time issue to get it closed prior to the beginning of the transaction.</example> -->
                <!-- <example correction=", but">Corona is starting to become really annoying<marker> but</marker> luckily Summer is coming.</example> -->
                <example>Owners of an Amazon Echo Show or Echo Spot can now fully answer Ring doorbells.</example>
                <example>Not only Jim but his parents are sick.</example>
                <example>Most are herbs, climber herbs, woody lianas or shrubs but some genus are canopy evergreen lauroid trees.</example>
                <example>It changed the rules, and it did so after the election was over.</example>
                <example>It is not clear yet when the discussions will be completed and wham a final decision will be issued</example>
                <example>I laughed so hard tears streamed down my face.</example>
                <example>Townsend's methodologically adventurous but ultimately cautious essay is another valuable lesson in the danger of establishing the date of Acts–or any work–by arguing for the earliest possible time of origin.</example>
                <example>Engine fuel is stored in tanks, usually in the wings but larger aircraft also have additional fuel tanks in the fuselage.</example>
                <example>How could so many people go along with this?</example>
                <example>So far two customers has dropped out but argues it is small compared to its client base of 150 odd companies.</example>
                <example>We can now consider yet another interesting argument proposed by Socrates.</example>
                <example>Every inline element that has a width but no text content should become a `\uFEFF` during parsing.</example>
                <example>Functions that have only poles but no essential singularities are called meromorphic.</example>
                <example>... and that it hires so many people so fast that processes break down.</example>
            </rule>

            <rule><!-- xxx but what is your favorite way of doing it? -->
                <antipattern><!-- What time and where will we meet? -->
                    <token regexp="yes">what|which</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">what|which|why|when|where|who|how</token>
                </antipattern>
                <pattern>
                    <token />
                    <token />
                    <token regexp="yes">.*[a-z0-9].*
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token regexp="yes">so|but|and|or|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token regexp="yes">what|which|why|when|where|who|how</token>
                    <token regexp="yes" min="0">&apostrophe;[a-z]{1,2}</token>
                    <token postag="RB" min="0">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes" skip="-1">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token chunk_re="E-NP.*" postag="PRP|DT|NN.*" postag_regexp="yes" skip="-1" />
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Use a comma before '\4' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \4</suggestion>
                <example correction=", and">What is this<marker> and</marker> why would you want to do it?</example>
                <example correction=", but">I understand<marker> but</marker> what is your preferred solution?</example>
                <example correction=", so">Thanks John<marker> so</marker> what should I do?</example>
                <example correction=", and">What is consciousness<marker> and</marker> why did it evolve?</example>
                <example>What time and where will we meet?</example>
                <example>Do you know Majid Oukacha, the French podcaster who dared to criticize Islam and who is threatened now?</example>
                <example>Who exactly is a God and who isn't?</example>
                <example>Rob the Church of her accessories and what remains behind?</example>
                <example>Which foods are rich in calories and which aren't?</example>
            </rule>
            <rule>
                <pattern>
                    <token />
                    <token />
                    <token />                    
                    <token regexp="yes">.*[a-z0-9].*
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">but|so|yet|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="E-NP.*" postag="NN.*|DT|EX" postag_regexp="yes" />
                    <token regexp="yes" min="0">&apostrophe;[a-z]{1,2}</token>
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before '\5' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \5</suggestion>
                <example correction=", but">I'm sorry<marker> but</marker> Google isn't supported yet.</example>
                <example correction=", but">I could always yell out to Alexa<marker> but</marker> this seems like a more civilized solution.</example>
                <example correction=", but">Sorry to say<marker> but</marker> there isn’t much support left for X-10 in the market place.</example>
                <example correction=", so">I only need on/off<marker> so</marker> these should work.</example>
                <example correction=", but">Doorbell notifications work<marker> but</marker> that’s it.</example>
                <example correction=", but">Some people talk smart<marker> but</marker> act like future Darwin Award winners.</example>
                <example>Owners of an Amazon Echo Show or Echo Spot can now fully answer Ring doorbells.</example>
                <example>It seems nobody but Tom does that.</example>
                <example>It seems no one but Tom does that.</example>
                <example>Yet an organization composed of nothing but malcontents won't work.</example>
                <example>A building designed so inmates can't flee.</example>
                <example>A wild card here is DaBryan Blanton, the small but lightning fast running back from Forney.</example>
                <example>You shouldn't have given up so quickly Sami dressed like a ninja assassin.</example>
                <example>Caesar, seeking the legitimacy an endorsement by a senior senator would provide, courted Cicero's favour, but even so Cicero slipped out of Italy and traveled to Dyrrachium (Epidamnos), Illyria, where Pompey's staff was situated.</example>
                <example>... for these games to offer employees and that so many were disappointed.</example>
                <example>Property crime from 2005 to 2006 was unchanged across the country and in Cleveland, with larceny-theft down by 7% but burglaries up almost 14%.</example>
                <example>The magic of GTD as a productivity framework is that it shapes your system, so that there are little to no surprises.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" skip="20">if|when|unless|once|since|while|although|whereas|wh?ether|whenever</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="CC|SENT_START|DT|PCT" postag_regexp="yes" />
                    <token regexp="yes" skip="20">as|before|after</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern><!-- He said he looked and the oil was fine. -->
                    <token inflected="yes">say</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token inflected="yes" regexp="yes">look|check</token>
                    <token>and</token>
                </antipattern>
                <antipattern>
                    <token skip="15">either</token>
                    <token>or</token>
                </antipattern>
                <antipattern><!-- Poorly explained or misunderstood messages can also result in confusion.  -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token postag="RB" />
                    <token postag="VB[GD]" postag_regexp="yes" />
                    <token regexp="yes">and|or</token>
                    <token postag="JJ|VBD" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Incorrect chunking "Take two: Aspirin, New uses and new dangers are still being discovered as aspirin enters its 2nd century." -->
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <token postag="JJ" chunk_re="E-NP-.*" />
                    <token postag="NNS" chunk_re=".-VP" />
                    <token regexp="yes">and|or</token>
                    <token postag="JJ" />
                    <token postag="NNS" />
                    <token postag="VBP" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- Incorrect chunking "Take two: Aspirin, New uses and new dangers were being discovered as aspirin enters its 2nd century." -->
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <token postag="JJ" chunk_re="E-NP-.*" />
                    <token postag="NNS" chunk_re=".-VP" />
                    <token regexp="yes">and|or</token>
                    <token postag="JJ" />
                    <token postag="NNS" />
                    <token>were</token>
                </antipattern>
                <pattern>
                    <token />
                    <token>
                        <exception>,</exception>
                    </token>
                    <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
                    <token postag="RB.*|RP" postag_regexp="yes" chunk_re="B-PP|B-ADVP" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">and|or</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?" postag_regexp="yes" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes" chunk_re=".-VP">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before "\5" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \5</suggestion>
                <example correction=", and">It was raining<marker> and</marker> the game was called off.</example>
                <example correction=", and">Gómez was defeated and captured<marker> and</marker> the rebellion was snuffed out.</example>
                <example correction=", and">That is exactly what it was<marker> and</marker> your response was both thoughtful and informative.</example>
                <example correction=", and">I looked back<marker> and</marker> the truck was ordering.</example>
                <example correction=", or">The motor is shot<marker> or</marker> the regulator is dry and binding.</example>
                <example>That's the same voltage that's measured when the switch is off and the wire is connected.</example>
                <example>I can confirm the light goes on when a code is entered or the door is unlocked manually.</example>
                <example>I think I forgot to ask or check in the lead up – is the damage boost from Life calculated before or after the Ally has been successfully devoured?</example>
                <example>They would reset back to zero when 1 of the 3 is not completed or a day is missed.</example>
                <example>He said he looked and the oil was fine.</example>
                <example>If that doesn't work and the battery is connected to the harness properly, you're going to need some voltage tests done by a shop to figure it out.</example>
                <example>If there is and the shop is denying responsibility, you have a legal case.</example>
                <example>Hourly polling or even every 15 minutes doesn't have that much of an impact on battery life.</example>
                <example>What is often overlooked or even unknown is that many of those debts are far more extreme.</example>
                <example>This deal either needs to be extended or a new deal needs to be set up.</example>
                <example>Poorly explained or misunderstood messages can also result in confusion.</example>
                <example>After the bankruptcy is annulled or the bankrupt has been automatically discharged, the bankrupt's credit report status will be shown as "discharged bankrupt" for some years.</example>
                <example>This is important because WABC's past strategy of attaining roughly 10% EPS growth was heavily dependent on heavy share repurchase and expense savings as opposed to top line growth.</example>
                <example>Take two: Aspirin, New uses and new dangers are still being discovered as aspirin enters its 2nd century.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" skip="20">if|when|unless|once|since|while|although|whereas|wh?ether|whenever</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="CC|SENT_START|DT|PCT" postag_regexp="yes" />
                    <token regexp="yes">as|before|after</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern><!-- It's primary and core purpose is SmartThings control. -->
                    <token>it</token>
                    <token>'s</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token regexp="yes">or|and</token>
                    <token postag="JJ.*" postag_regexp="yes" skip="2" />
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern><!-- They do unannounced and undocumented cloud side changes all the time. -->
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token regexp="yes">or|and</token>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re="B-NP.*|I-ADJP" />
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re=".-NP.*" />
                </antipattern>
                <antipattern>
                    <token skip="15">either</token>
                    <token>or</token>
                </antipattern>
                <pattern>
                    <token />
                    <token />
                    <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" skip="3" />
                    <token chunk_re=".-ADJP" postag="JJ.*" postag_regexp="yes" />
                    <token chunk_re="B-ADVP" postag="RB.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">and|or</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?" postag_regexp="yes" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes" chunk_re=".-VP">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before "\6" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \6</suggestion>
                <example correction=", and">The weather is great<marker> and</marker> again the game was called off.</example>
                <example>They do unannounced and undocumented cloud side changes all the time.</example>
                <example>It's primary and core purpose is SmartThings control.</example><!-- "its" -->
                <example>We don't even send a verification e-mail to check if the address is valid and the user owns it.</example>
                <example>I couldn't tell wether they are tight or the price is just high.</example>
                <example>Either this man is dead or my watch has stopped.</example>
                <example>Individuals at risk of a severe withdrawal syndrome as well as those who have significant or acute comorbid conditions are generally treated as inpatients.</example>
            </rule>
            <rule>
                <antipattern><!-- We don't have yet any report on Broadband that might help you, developed internally by my group. -->
                    <token regexp="yes" skip="4">but|so|yet|although</token>
                    <token chunk="B-PP" postag="IN" skip="1" />
                    <token chunk_re="E-NP.*" postag_regexp="yes" />
                    <token chunk_re="E-NP.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token />
                    <token />
                    <token regexp="yes">.*[a-z0-9].*
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">but|so|yet|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?|RB" postag_regexp="yes" min="0" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token chunk="B-PP" postag="IN" />
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?|RB" postag_regexp="yes" min="0" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*|DT" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before '\4' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \4</suggestion>
                <example correction=", but">I'm sorry<marker> but</marker> a lot of these features aren't supported yet.</example>
                <example correction=", but">Thanks for that<marker> but</marker> none of those items seems to apply to us.</example>
                <example correction=", so">A fallback plan is in place in the event any problems are encountered<marker> so</marker> your access to services will resume on schedule.</example>
                <example correction=", but">I had a question<marker> but</marker> the guy from Walmart already answered it.</example>
                <example correction=", but">I wasn't sure<marker> but</marker> Tom from finance helped me.</example>
                <example>We don't have yet any report on Broadband that might help you, developed internally by my group.</example>
                <example>AT&amp;T hasn't completed yet the number of network miles required by the agreement.</example>
            </rule>

            <rule>
                <pattern>
                    <token />
                    <token />
                    <token regexp="yes">.*[a-z0-9].*
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">but|although</token><!-- removed "so" and "yet", because too many false alarms -->
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="I-ADJP" postag="DT|NN.*" postag_regexp="yes" />
                    <token chunk="B-PP" postag="IN" />
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?|RB" postag_regexp="yes" min="0" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*|DT" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before '\4' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \4</suggestion>
                <example correction=", but">I'm sorry<marker> but</marker> many of these are not ready yet.</example>
                <example>I have just been so busy with the write on competition for law review.</example>
            </rule>

            <rule><!-- ... but Google's software is not supported -->
                <pattern>
                    <token />
                    <token />
                    <token regexp="yes">.*[a-z0-9].*
                        <exception postag="CC" />
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">but|so|yet|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token chunk_re="B-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?|RB" postag_regexp="yes" min="0" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="[IE]-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="POS" spacebefore="no" />
                    <token chunk_re="[IB]-NP.*|I-ADJP" postag="PRP\$|DT|CD|JJ.*|NNP?|NN:UN?" postag_regexp="yes" min="0" />
                    <token chunk_re="I-NP.*" postag="JJ.*|CD|NN|NN:UN?|RB" postag_regexp="yes" min="0" max="2" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" max="2">
                        <exception>as</exception>
                    </token>
                    <token postag="MD|VB[DZP]?" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before '\4' if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \4</suggestion>
                <example correction=", but">I'm sorry<marker> but</marker> Google's latest software isn't supported yet.</example>
                <example correction=", but">I'm sorry<marker> but</marker> my friends' dogs cannot come.</example>
                <example correction=", but">I'm sorry<marker> but</marker> my best friend's new dog cannot attend.</example>
                <example correction=", but">Mom's goal was to graduate college<marker> but</marker> dad's goal was mom.</example>
                <example>WorldCom said that although Verizon's rates increased very little since the plan's inception, they are excessive, as shown by the incumbent's 33% return on equity.</example>
                <example>The irony is that although the public's opinion is important, it must pay for its acceptance.</example>
                <example>As he did so the Frenchman's car began smoking and on lap 16 he dropped out, leaving Amon (who had overtaken Rodriguez) in the lead.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_COMPOUND_SENTENCE_3" name="Comma before 'so/but/and please'">
            <antipattern>
                <token regexp="yes">if|even|when|because</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token>.</token>
                <token regexp="yes">but|and|or|so|although</token>
            </antipattern>
            <antipattern><!-- If you need me to do so please let me know. -->
                <token inflected="yes">do</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>sooner</token>
                <token>or</token>
                <token>later</token>
            </antipattern>
            <antipattern>
                <token skip="9" regexp="yes">n?either</token>
                <token regexp="yes">n?or</token>
            </antipattern>
            <antipattern>
                <token skip="5">after</token>
                <token regexp="yes">n?or|and|but</token>
                <token>before</token>
            </antipattern>
            <antipattern>
                <token skip="5" regexp="yes">before|prior</token>
                <token regexp="yes">n?or|and|but</token>
                <token>after</token>
            </antipattern>
            <antipattern><!-- If you wish to administer this directly or together please let me know. -->
                <token postag="RB" />
                <token>or</token>
                <token>together</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">every?</token>
                <token>so</token>
                <token>often</token>
            </antipattern>
            <rule>
                <pattern>
                    <token />
                    <token>
                        <exception regexp="yes">,|;|:|&hyphen;|&gt;|&lt;|…|\(|\[|\?|\!</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">but|and|or|so|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token>please</token>
                    <token postag="RB" min="0" max="2">
                        <exception>there</exception>
                    </token>
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message>Use a comma before "\3" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \3</suggestion>
                <example correction=", so">It's great<marker> so</marker> please do not change it.</example>
                <example correction=", and">Thank you very much<marker> and</marker> please let me know if there is anything else that you need.</example>
                <example correction=", so">I have added a poll<marker> so</marker> please vote!</example>
                <example correction=", so">The letter is to be sent Thursday, September 21st<marker> so</marker> please advise if you have concerns no later than close of business the day before.</example>
                <example correction=", so">If there is anything I can do, I will be in<marker> so</marker> please just let me know.</example>
                <example>If so please advise your fax number.</example>
                <example>If you wish to administer this directly or together please let me know.</example>
                <example>My assesment (and please correct me if I am wrong) is that ...</example>
                <example>Please let me know (and please do copy Michael on your response) whether your schedule will allow your participation in this very special event.</example>
                <example>If you need me to do so please let me know.</example>
            </rule>
            <rule>
                <antipattern><!-- Hello and thanks -->
                    <token regexp="yes">hi|hello|welcome|heya?|regards|apologies|thanks|congrats|congratulations|kudos</token>
                    <token postag="UNKNOWN|NNP" postag_regexp="yes" min="0" />
                    <token>and</token>
                    <token regexp="yes">thanks?</token>
                </antipattern>
                <antipattern><!-- Be sure and thank your wife for all her efforts. -->
                    <token>thank</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">honor|appreciate</token>
                    <token regexp="yes">and|or|but</token>
                    <token inflected="yes">thank</token>
                </antipattern>
                <antipattern>
                    <token postag="VBP?" postag_regexp="yes" />
                    <token postag="RP" min="0" />
                    <token>and</token>
                    <token>thank</token>
                </antipattern>
                <pattern>
                    <token />
                    <token>
                        <exception regexp="yes">,|;|:|&hyphen;|&gt;|&lt;|…|\(|\[|\?|\!</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">but|and|or|so|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">many|then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token skip="3" regexp="yes">thanks?</token>
                    <token>for</token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before "\3" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \3</suggestion>
                <example correction=", and">Thank you for reaching out<marker> and</marker> thanks for buying our Premium subscription.</example>
                <example correction=", but">So weird<marker> but</marker> thanks for the help!</example>
                <example>Hello and thanks for reading.</example>
                <example>Hi and thank you for your suggestion.</example>
                <example>I appreciate and thank everyone for their input.</example>
                <example>Thanks and sorry for bad English.</example>
                <example>Congratulations and thanks to the team for a job well done.</example>
                <example>I also want to recognize and thank OYSA for their spirit</example>
            </rule>
            <rule>
                <antipattern><!-- Hello and sorry -->
                    <token regexp="yes">hi|hello|welcome|heya?|regards|apologies|thanks|thx|thanx|congrats|congratulations|kudos</token>
                    <token postag="UNKNOWN|NNP" postag_regexp="yes" min="0" />
                    <token>and</token>
                    <token regexp="yes">apologies|sorry</token>
                </antipattern>
                <antipattern>
                    <token>so</token>
                    <token>sorry</token>
                </antipattern>
                <antipattern>
                    <token>thank</token>
                    <token>you</token>
                    <token regexp="yes" min="0">all|much</token>
                    <token>and</token>
                    <token regexp="yes">sorry|apologies</token>
                </antipattern>
                <antipattern>
                    <token>thanks</token>
                    <token>a</token>
                    <token regexp="yes">lot|bunch|ton|mill?</token>
                    <token>and</token>
                    <token regexp="yes">sorry|apologies</token>
                </antipattern>
                <pattern>
                    <token />
                    <token>
                        <exception regexp="yes">,|;|:|&hyphen;|&gt;|&lt;|…|\(|\[|\?|\!</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">but|and|or|so|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">many|then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token regexp="yes">apologies|sorry</token>
                    <token>for</token>
                    <token />
                    <token />
                </pattern>
                <message>Use a comma before "\3" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \3</suggestion>
                <example correction=", and">Thank you for reaching out<marker> and</marker> sorry for the problems you were having.</example>
                <example correction=", so">I am new to Maven<marker> so</marker> apologies for any misused terminology.</example>
                <example>Thanks and sorry for bad English.</example>
                <example>I’m so sorry for the frustration.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_COMPOUND_SENTENCE_4" name="Comma before 'so/but/and MD + PRP + VB'">
            <antipattern>
                <token regexp="yes">if|even|when|because</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token>.</token>
                <token regexp="yes">but|and|or|so|although</token>
            </antipattern>
            <antipattern><!-- Should I or should I not do this? -->
                <token postag="MD" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token>or</token>
                <token postag="MD" />
                <token postag="PRP|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Will you or won't you come with me? -->
                <token postag="MD" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token>or</token>
                <token postag="MD" />
                <token>n't</token>
                <token postag="PRP|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- Should I stay or should I go? -->
                <token postag="MD" />
                <token postag="PRP" />
                <token postag="VB" />
                <token>or</token>
                <token postag="MD" />
                <token postag="PRP" />
                <token postag="VB" />
            </antipattern>
            <antipattern><!-- What type of middle school have you or will you complete? -->
                <token inflected="yes" regexp="yes">have|do|be</token>
                <token postag="PRP" />
                <token>or</token>
                <token postag="MD" />
                <token postag="PRP" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token inflected="yes">do</token>
                <token>so</token>
            </antipattern>
            <antipattern>
                <token skip="9" regexp="yes">n?either</token>
                <token regexp="yes">n?or</token>
            </antipattern>
            <antipattern>
                <token skip="5">after</token>
                <token regexp="yes">n?or|and|but</token>
                <token>before</token>
            </antipattern>
            <antipattern>
                <token skip="5" regexp="yes">before|prior</token>
                <token regexp="yes">n?or|and|but</token>
                <token>after</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">every?</token>
                <token>so</token>
                <token>often</token>
            </antipattern>
            <rule>
                <pattern>
                    <token />
                    <token>
                        <exception regexp="yes">,|;|:|&hyphen;|&gt;|&lt;|…|\(|\[|\?|\!</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">but|and|or|so|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="DT|CD|JJ.*|NN.*|PRP\$" postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                    <token postag="PRP|NNP|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" max="2" />
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Use a comma before "\3" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \3</suggestion>
                <example correction=", but">It's great<marker> but</marker> can you further improve it?</example>
                <example correction=", and">How much did you pay for it<marker> and</marker> can you get that money back if you resell it?</example>
                <example correction=", or">Do you want your whiskey straight<marker> or</marker> should I mix it with water?</example>
                <example correction=", so">Sorry but I accidentally deleted the email you just sent<marker> so</marker> would you please resend it?</example>
                <example>Should I stay or should I go?</example>
                <example>Should I or should I not do this?</example>
                <example>What type of middle school have you or will you complete?</example>
            </rule>
            <rule>
                <pattern>
                    <token />
                    <token>
                        <exception regexp="yes">,|;|:|&hyphen;|&gt;|&lt;|…|\(|\[|\?|\!</exception>
                    </token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">but|and|or|so|although</token>
                    </marker>
                    <token min="0" regexp="yes" postag="RB">then|now|maybe|perhaps|also|almost|even|instead|again|together|always|therefore|soon|thus|later|otherwise|somehow|else|already|often|sometimes|.+ly|after|before|first|tonight|yesterday|today|elsewhere|(every|some|any)where|altogether|anyway|first</token>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token>n't</token>
                    <token postag="DT|CD|JJ.*|NN.*|PRP\$" postag_regexp="yes" chunk_re="B-NP.*" min="0" />
                    <token postag="PRP|NNP|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" max="2" />
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Use a comma before "\3" if it connects two independent clauses (unless they are closely connected and short).</message>
                <suggestion>, \3</suggestion>
                <example correction=", but">It's great<marker> but</marker> can't you further improve it?</example>
                <example>Will you or won't you come with me?</example>
            </rule>
        </rulegroup>

        <rulegroup id="APOS_ARE" name="extraneous apostrophes before 'are'">
            <rule>
                <pattern>
                    <marker>
                        <token postag='NN|NN:UN?' postag_regexp="yes">
                            <exception regexp="yes">&given_names_that_are_also_nouns;|karen</exception>
                            <exception regexp="yes">today|yesterday|tomorrow|(some|any|every|no)(thing|body|one)</exception>
                            <exception postag="NNP" case_sensitive="yes" regexp="yes">[A-Z][a-z].*</exception>
                        </token>
                        <token>'s</token>
                    </marker>
                    <token regexp="yes">aren?|weren?</token>
                </pattern>
                <message suppress_misspelled="yes">Did you mean the plural noun <suggestion><match no="1" postag="N.*" postag_regexp="yes" postag_replace="NNS" /></suggestion> instead of the possessive?</message>
                <short>Extraneous apostrophe</short>
                <example correction="cars">The <marker>car's</marker> are cheap.</example>
                <example correction="IDs|Ids"> the <marker>ID's</marker> are not to a row</example>
                <example>Tom's are not quite as clean as Mary's.</example>
                <example>Today's are attached below.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag='NNP' regexp="yes" case_sensitive="yes">
                            German|Korean|Hawaiian|Bulgarian|Hebrew|Russian|Slovakian|Czechian
                        </token>
                        <token>'s</token>
                    </marker>
                    <token regexp="yes">aren?|weren?</token>
                </pattern>
                <message>Did you mean the plural noun <suggestion><match no="1" postag="N.*" postag_regexp="yes" postag_replace="NNPS" /></suggestion> instead of the possessive?</message>
                <short>Extraneous apostrophe</short>
                <example correction="Germans">The <marker>German's</marker> were led by Merkel.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FRENCH_S" name="French's => French people">
            <rule>
                <pattern>
                    <marker>
                        <token>french</token>
                        <token>'s</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="JJS" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                </pattern>
                <message>The more common plural noun here is <suggestion>French people</suggestion> or simply <suggestion>French</suggestion>.</message>
                <example correction="French people|French">The <marker>French's</marker> were led by Macron.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN" />
                    <token postag="UNKNOWN|NNP" postag_regexp="yes" min="0" />
                    <token>French</token>
                    <token>'s</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">Frenches</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="JJS" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>The more common plural noun here is <suggestion>French people</suggestion> or simply <suggestion>French</suggestion>.</message>
                <example correction="French people|French">The <marker>Frenches</marker> were led by Macron.</example>
                <example>On March 5, 1975 Steve Wozniak attended the first meeting of the Homebrew Computer Club in Gordon French's garage.</example>
            </rule>
        </rulegroup>
        <rule id="STATE_OF_THE_ART" name="state of the art (state-of-the-art)">
            <pattern>
                <marker>
                    <token>state</token>
                    <token>of</token>
                    <token>the</token>
                    <token>art</token>
                </marker>
                <token postag='NN.*' postag_regexp='yes'>
                    <exception postag="MD|DT|RB.*|IN|PRP.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>Consider adding hyphens to this phrasal adjective.</message>
            <suggestion>\1-\2-\3-\4</suggestion>
            <example correction="state-of-the-art">We present our <marker>state of the art</marker> solution.</example>
            <example>We compare our results to the <marker>state of the art</marker>.</example>
        </rule>
        <rule id="OUT_OF_PLACE" name="out of place (out-of-place) etc.">
            <antipattern>
                <token postag="VBZ">'s</token>
            </antipattern>
            <pattern>
                <or>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|'s</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </or>
                <marker>
                    <token>out</token>
                    <token>of</token>
                    <token regexp="yes">place|doors?|band|bounds|courts?|stock|home|town|reach|network|office|scope|state|wedlock|pockets?|order</token>
                </marker>
                <token postag='NN.*' postag_regexp='yes'>
                    <exception regexp="yes">till|then|his|if</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>out-of-\4</suggestion>?</message>
            <example>This word is <marker>out of place</marker>.</example>
            <!--<example correction="">This word is <marker>out-of-place</marker>.</example>-->
            <example correction="out-of-place">This is an <marker>out of place</marker> word.</example>
            <example>He's out of town till Monday, but please try to get a hold of his assistant at the number below to get a mailing address.</example>
            <example>Eott's <marker>out of pocket</marker> expense</example><!-- Found by OUT_OF_POCKET_HYPHEN -->
        </rule>
        <rule id="OUT_OF_THE_WAY" name="out of the way (out-of-the-way) etc.">
            <pattern>
                <or>
                    <token regexp="yes">an?|the|my|his|her|their|our|your|s</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </or>
                <marker>
                    <token>out</token>
                    <token>of</token>
                    <token>the</token>
                    <token regexp="yes">way|box|blue</token>
                </marker>
                <token postag='NN.*' postag_regexp='yes'/>
            </pattern>
            <message>Did you mean <suggestion>out-of-the-\5</suggestion>?</message>
            <example>They seem to be having five hindrances <marker>out of the way</marker>.</example>
            <example correction="out-of-the-box">Tom had a really nice <marker>out of the box</marker> replacement.</example>
            <example correction="out-of-the-way">An <marker>out of the way</marker> place.</example>
        </rule>
        <rulegroup id="EG_NO_COMMA" name="'e.g.' without a comma" tags="picky">
            <rule>
                <pattern>
                    <marker>
                        <token>e</token>
                        <token>.</token>
                        <token spacebefore="no">g</token>
                        <token>.</token>
                    </marker>
                    <token negate="yes">,</token>
                </pattern>
                <message>A comma is missing here:<suggestion>e.g.,</suggestion>.</message>
                <short>Punctuation error</short>
                <example>There are several grammar checkers for English, e.g., LanguageTool.</example>
                <example correction="e.g.,">There are several grammar checkers for English, <marker>e.g.</marker> LanguageTool.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>eg</token>
                    </marker>
                    <token negate="yes" regexp="yes">,|\.</token>
                </pattern>
                <message>A comma and a dot are missing here.</message>
                <suggestion>e.g.,</suggestion>
                <short>Punctuation error</short>
                <example>There are several grammar checkers for English, e.g., LanguageTool.</example>
                <example correction="e.g.,">There are several grammar checkers for English, <marker>eg</marker> LanguageTool.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IE_NO_COMMA" name="'i.e.' without a comma" tags="picky">
            <rule>
                <pattern>
                    <marker>
                        <token>i</token>
                        <token>.</token>
                        <token spacebefore="no">e</token>
                        <token>.</token>
                    </marker>
                    <token negate="yes" regexp="yes">,|-|–|:|;|\.|\/</token>
                </pattern>
                <message>A comma is missing here.</message>
                <suggestion>i.e.,</suggestion>
                <short>Punctuation error</short>
                <example>Who's responsible for providing public facilities, <marker>i.e.,</marker> a post office, library, etc. for the Northwest?</example>
                <example correction="i.e.,">Who's responsible for providing public facilities, <marker>i.e.</marker> a post office, library, etc. for the Northwest?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>ie</token>
                    <token>:</token>
                </antipattern>
                <antipattern>
                    <token case_sensitive="yes">IE</token>
                    <token regexp="yes">\d+</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">the|in</token>
                    <token case_sensitive="yes">IE</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>ie</token>
                    </marker>
                    <token negate="yes" regexp="yes">,|-|–|:|;|\.|\/</token>
                </pattern>
                <message>The comma and dots are missing here:<suggestion>i.e.,</suggestion>.</message>
                <short>Punctuation error</short>
                <example>Who's responsible for providing public facilities, <marker>i.e.,</marker> a post office, library, etc. for the Northwest?</example>
                <example correction="i.e.,">Who's responsible for providing public facilities, <marker>ie</marker> a post office, library, etc. for the Northwest?</example>
                <example>Atlantipedia.ie: Encyclopedic collection of information on Atlantis.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ie</token>
                        <token>.</token>
                    </marker>
                    <token negate="yes">,</token>
                </pattern>
                <message>The comma and dots are missing here.</message>
                <suggestion>i.e.,</suggestion>
                <short>Punctuation error</short>
                <example>Who's responsible for providing public facilities, <marker>i.e.,</marker> a post office, library, etc. for the Northwest?</example>
                <example correction="i.e.,">Who's responsible for providing public facilities, <marker>ie.</marker> a post office, library, etc. for the Northwest?</example>
            </rule>
        </rulegroup>
        <rule id="NO_SPACE_CLOSING_QUOTE" name="Missing space after closing quote">
            <pattern>
                <token>”</token>
                <token regexp='yes' spacebefore='no'>\w+</token>
            </pattern>
            <message>There should be a space after a closing quote.</message>
            <suggestion>\1 \2</suggestion>
            <example correction="” said">“Good morning, Frank,<marker>”said</marker> Hal.</example>
        </rule>
        <rulegroup id="UNIT_SPACE" name="Missing space between numeric value and unit (e.g., 25 km)">
            <rule>
                <regexp case_sensitive='yes'>(?&lt;![A-Z\$€£¥฿฿=][0-9\.]{0,5})(?!\d{1,5}m (?:users|subscribers|subscriptions|people|citizens|inhabitants|developers|[DM]AUs?|monthly|yearly|weekly))((\b|\-)[0-9]{1,5}[0-9,.]{0,5}(€|¥|฿|฿|°C|°F|°De?|°R[éeøa]?|(Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|f|z|y)?[ΩΩm]|(Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|p|f|a|z|y)?N|[kKMGTPEZY]i?B|[kmµnp]g|[Mk]t|kWh|GWa|MWd|MWh)(?!\w))</regexp>
                <message>Insert a space between the numerical value and the unit symbol.</message>
                <suggestion><match no="1" regexp_match="((\-)?[0-9]+[0-9,.]*{1,30})" regexp_replace="$1&nbsp;"/></suggestion>
                <url>https://www.bipm.org/en/publications/si-brochure/section5-3.html#section3</url>
                <example correction="25&nbsp;°C">The temperature is <marker>25°C</marker>.</example>
                <example correction="-25&nbsp;°C">The temperature is <marker>-25°C</marker>.</example>
                <example correction="25,5&nbsp;°F">The temperature is <marker>25,5°F</marker> warm.</example>
                <example correction="5&nbsp;km">Distance <marker>5km</marker>.</example>
                <example correction="5&nbsp;kg">It weighs <marker>5kg</marker>.</example>
                <example>...rest in the estate to the Disney Corporation for $<marker>350m</marker>.</example>
                <example>The revenue was $2.7m</example>
                <example>The German news magazine <marker>T3N</marker> is popular.</example>
                <example>(AsCH3)2n</example>
                <example>They have 100m users</example>
                <example type="triggers_error">Fits 1.5mm-4.5mm</example><!-- TODO: needs specific rule suggesting "1.5 mm - 4.5 mm" -->
                <example>https://docs.google.com/document/d/1hEO7G3hm6bTkYnNlmT3uV</example>
                <example>https://docs.google.com/spreadsheets/d/122B2q3m-6s7aoXXPlmDk3p3h_nTIFO1E7VaTJt</example>
                <example type="triggers_error">..., one of which included irradiation of 243Am with 15N ions.</example>
                <example type="triggers_error">... astatine-214, astatine-215, and astatine-216m.</example>
                <example>...their sample variance, and σ2N their population variance.</example>
                <example>Globally, it has 690m MAUs (all outside China), meaning the US is actually a small percentage of users.</example>
                <example>Meanwhile, the BBC understands the government has “stood down” its Operation Yellowhammer contingency planning for a no-deal exit, while it has also paused its £100m Get Ready for Brexit on 31 October campaign.</example>
            </rule>
            <rule>
                <regexp>((\-)?[0-9]{0,10}[0-9.,]{0,10}) °\s([CFK])</regexp>
                <message>For the unit symbols for degree, minute, and second for plane angle no space is left between the numerical value and the unit symbol.</message>
                <suggestion>\1&nbsp;°\3</suggestion>
                <example correction="25&nbsp;°C">The angle is <marker>25 ° C</marker>.</example>
                <example>The temperature is 25 °C.</example>
            </rule>
            <rule>
                <regexp>((\-)?[0-9]{0,10}[0-9.,]{0,10}) (°)(?!\s*[CFKSN])</regexp>
                <message>For the unit symbols for degree, minute, and second for plane angle no space is left between the numerical value and the unit symbol: <suggestion>\1°</suggestion> or add a missing unit symbol (e.g., <suggestion>\1 °C</suggestion>).</message>
                <example correction="25°|25 °C">The angle is <marker>25 °</marker>.</example>
                <example>The temperature is 25 °C.</example>
            </rule>
            <rule>
                <regexp>(\-?[0-9]{1,10}) (″)</regexp>
                <message>For the unit symbols for degree, minute, and second for plane angle no space is left between the numerical value and the unit symbol.</message>
                <suggestion>\1\2</suggestion>
                <url>https://www.bipm.org/en/publications/si-brochure/section5-3.html#section3</url>
                <example>3° 14′ 45,54″</example>
                <example correction="54″">45,<marker>54 ″</marker></example>
                <example>It is denoted by a double prime ( ″ ).</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMMA_AND_NUMBERS" name="Wrong space/comma in numbers">
           <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">\d{2}</token>
                    <token spacebefore="no">,</token>
                    <token regexp="yes" spacebefore="no">\d{4}</token>
                </pattern>
                <message>Please check whether a space is missing or whether the comma should be placed elsewhere.</message>
                <suggestion>\1, \3</suggestion>
                <url>https://www.grammar-monster.com/lessons/commas_with_numbers.htm</url>
                <short>Punctuation error</short>
                <example correction="16, 1963">On June <marker>16,1963</marker> Valentina Tereshkova was launched into space aboard Vostok 6.</example>
                <example>A day has 86,400 seconds.</example>
            </rule>
           <rule default="off">
                <!-- "off" because we need a rule that deals with wrong number formats first (e.g. 12,14 EUR, 67,70 %)-->
                <pattern case_sensitive="yes">
                    <marker>
                        <token regexp="yes" spacebefore="yes">\d{2,30}</token>
                        <token spacebefore="no">,</token>
                        <token regexp="yes" spacebefore="no">\d{2}</token>
                    </marker>
                    <token spacebefore="yes"/>
                </pattern>
                <message>Please check whether a space is missing or whether the comma should be placed elsewhere.</message>
                <suggestion><match no="1" regexp_match="(.$)" regexp_replace=""/>,<match no="1" regexp_match="^(\d)+(\d)$" regexp_replace="$2"/>\3</suggestion>
                <url>https://www.grammar-monster.com/lessons/commas_with_numbers.htm</url>
                <short>Punctuation error</short>
                <example correction="86,400">A day has <marker>864,00</marker> seconds.</example>
                <example>A day has 86,400 seconds.</example>
            </rule>
        </rulegroup>
        <rulegroup name="abbreviations with spaces in between (e. g.)" id="EG_SPACE">
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">[Ee]</token>
                    <token>.</token>
                    <token spacebefore="yes">g</token>
                    <token>.</token>
                </pattern>
                <message>There should be no space here.</message>
                <suggestion>e.g.</suggestion>
                <short>Punctuation error</short>
                <example>There are several grammar checkers for English, e.g., LanguageTool.</example>
                <example correction="e.g.">There are several grammar checkers for English, <marker>e. g.</marker> LanguageTool.</example>
                <example>E. G. Erdos, L. E. Boggs, C. D. Mackey</example>
            </rule>
            <rule>
                <pattern>
                    <token>i</token>
                    <token>.</token>
                    <token spacebefore="yes">e</token>
                    <token>.</token>
                </pattern>
                <message>There should be no space here.</message>
                <suggestion>i.e.</suggestion>
                <short>Punctuation error</short>
                <example>Who's responsible for providing public facilities, <marker>i.e.,</marker> a post office, library, etc. for the Northwest?</example>
                <example correction="i.e.">Who's responsible for providing public facilities, <marker>i. e.</marker>, a post office, library, etc. for the Northwest?</example>
            </rule>
        </rulegroup>
    <!--rulegroup id='ABREVIATIONS_PUNCTUATION' name="Abbreviations: Punctuation" default="on"-->
      <!--       Localized from Portuguese, Tiago F. Santos,  2018-11-30      -->
        <!--antipattern>< URLs>
            <token/>
            <token spacebefore='no'>.</token>
            <token spacebefore='no'/>
        </antipattern-->
        <!--antipattern>
            <token>Top</token>
            <token>Ten</token>
        </antipattern>
        <antipattern>
            <token regexp='yes'>["“]</token>
            <token regexp='yes' spacebefore='no'>sets?</token>
            <token regexp='yes' spacebefore='no'>["”]</token>
        </antipattern>
        <antipattern>
            <token regexp='yes'>&apostrophe;</token>
            <token regexp='yes' spacebefore='no'>sets?</token>
            <token regexp='yes' spacebefore='no'>&apostrophe;</token>
        </antipattern-->
      <!--rule>
        <pattern case_sensitive="no">
          <marker>
            <token regexp="yes" case_sensitive='yes'>&abbreviations;|&abbreviations2;
              <exception regexp='yes'>test|will|her|rich|path|found|even|man|class|accept|poet|affect|dial|direct|math|let|pop|off|treat|predict|stand|art|content|bucks|invent|script|leg|north|east|south|west|mineral|herb|suppress|o|fund|pass|iron|disc|port|myth|add|build|sat|contempt|select|writ|sing|intellect|print|prop|comb|lit</exception>
              <exception postag='NNPS?' postag_regexp='yes'/>
              <exception regexp="yes" case_sensitive='yes'>[ad]C|DJ</exception>
              <exception regexp="yes" case_sensitive='yes'>\p{Lu}+</exception></token>
          </marker>
            <token>
              <exception regexp='yes'>\.|&hyphen;</exception></token>
        </pattern>
        <message>If it is an abbreviation, it is missing the period.</message>
          <suggestion><match no="1"/>.</suggestion-->
        <!--short>Puctuation error</short--><!-- TODO uncomment after testing and false positive removal -->
        <!--example correction="Dr.">Sorry, <marker>Dr</marker> Phil is in an appointment.</example-->
        <!--example>Isto ocorreu no ano 453 dC, certo?</example XXX use for false positives >
      </rule>
    </rulegroup-->
        <rulegroup name="space in 'o´clock'" id="O_CLOCK">
            <rule>
                <antipattern case_sensitive="yes">
                    <token>o</token>
                    <token spacebefore="no" regexp="yes">&apostrophe;</token>
                    <token spacebefore="no">clock</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token spacebefore="yes">clock</token>
                </pattern>
                <message>There should be no space here.</message>
                <suggestion>o\2clock</suggestion>
                <short>Punctuation error</short>
                <example correction="o'clock">They meet at 2 <marker>o' clock</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup default="off" id="COMMA_BEFORE_AND" name="Missing comma before 'and, or, nor, yet, so, but' (incomplete)">
            <rule>
                <antipattern>
                    <token regexp="yes">I|you|s?he|it|we|they|my|your|his|her|our|their</token>
                    <token regexp="yes">and|or|nor|but|so|yet</token>
                    <token regexp="yes">I|you|s?he|it|we|they|my|your|his|her|our|their</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="-1">and|or|nor|but|so|yet|,<exception postag="VB[DGPNZ]?" postag_regexp="yes" scope="next"/></token>
                    <token regexp="yes">and|or|nor|but|so|yet</token>
                </antipattern>
                <antipattern>
                    <token/>
                    <token>so</token>
                    <token regexp="yes">many|much|often</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" skip="-1"><exception postag="VB[DPZ]?" postag_regexp="yes" scope="next"/></token>
                    <token regexp="yes">and|or|nor|but|so|yet</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <pattern>
                    <marker><token><exception regexp="yes">,|;|\(|-</exception></token>
                    <token regexp="yes">and|or|nor|but|so|yet</token></marker>
                    <token regexp="yes" skip="-1">I|you|s?he|it|we|they|my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most<exception scope="next">and</exception><exception scope="next">,</exception></token>
                    <token postag="VB[DPZ]?" postag_regexp="yes"></token>
                </pattern>
                <message>If the conjunctions 'and', '(n)or, 'so', 'but', or 'yet' separate two independent clauses, a comma must precede them.</message>
                <suggestion>\1, \2</suggestion>
                <url>https://owl.english.purdue.edu/owl/resource/607/02</url>
                <example correction="piano, and">She loves playing the <marker>piano and</marker> I hate it.</example>
                <example correction="Timothy, but">My name is <marker>Timothy but</marker> my friends call me Tim.</example>
                <example correction="nice, yet">I am really <marker>nice yet</marker> many people do not like me.</example>
                <example><marker>Me and</marker> my friends went to Italy last year, but my fiancee and her friends decided to go to France.</example>
                <example>He had met his <marker>uncle and</marker> his aunt, before he flew to Germany.</example>
                <example>They often argue whether it was <marker>his or</marker> her idea.</example>
                <example>Following their unsuccessful participation in the League of Peace and Freedom, Russian revolutionary Mikhail <marker>Bakunin and</marker> his collectivist anarchist associates joined the First International.</example>
                <example>After they had finished their homework, Peter and his friends played soccer.</example>
            </rule>
        </rulegroup>
        <rule default="off" id="COMMA_WHICH" name="No comma before 'which'">
            <antipattern>
                <token regexp="yes">['‘"“]</token>
                <token spacebefore="no">which</token>
                <token spacebefore="no" regexp="yes">['’"”]</token>
            </antipattern>
            <antipattern>
                <token>which</token>
                <token />
                <token>which</token>
            </antipattern>
            <pattern>
                <token><exception regexp="yes">[,(-–−—―"“]|that|so</exception><exception postag="IN|TO|;|SENT_START" postag_regexp="yes"/></token>
                <token>which</token>
            </pattern>
            <!-- -->
            <message>Probably a comma is missing here: <suggestion>\1, \2</suggestion>. Or if you want to use a restrictive clause, use <suggestion>\1 that</suggestion>.</message>
            <url>https://jakubmarian.com/is-that-always-restrictive-and-which-non-restrictive/</url>
            <short>Comma missing</short>
            <example correction="house, which|house that">I am going to the <marker>house which</marker> burned down.</example>
            <example>The science fair, which lasted all day, ended with an awards ceremony.</example>
            <example>This is an example (which is dull).</example>
            <example>..., these or those it is usual to use 'which'.</example>
        </rule>
        <rule id="BY_DEFAULT_COMMA" name="Comma after by default at the beginning of a sentence.">
            <pattern case_sensitive="yes">
                <token postag="SENT_START"/>
                <marker>
                    <token>By</token>
                    <token>default</token>
                </marker>
                <token negate="yes" regexp="yes">,|&hyphen;|;</token>
            </pattern>
            <message>Did you mean: <suggestion>By default,</suggestion>?</message>
            <short>Punctuation error</short>
            <example correction="By default,"><marker>By default</marker> this setting is enabled.</example>
        </rule>
        <rulegroup id="SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA" name="Commas after conjunctive/linking adverbs in front of a new sentence.">
            <url>https://languagetool.org/insights/post/linking-words/</url>
            <rule>
                <antipattern>
                    <token>further</token>
                    <token regexp="yes">research(ing)?|down|details|to|reads|evidences?|questions|concern|steps?|explored|progress</token>
                </antipattern>
                <antipattern>
                    <token>instead</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token>rather</token>
                    <token regexp="yes">than|sooner|later</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-PP">besides</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">also|elsewhere</token>
                    <token regexp="yes">in|since</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">thus|still</token>
                    <token postag="VB." postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token>thus</token>
                    <token>far</token>
                </antipattern>
                <antipattern>
                    <token>equally</token>
                    <token>important</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"></token>
                    <token/>
                    <token postag="JJ"/>
                    <token>,</token>
                </antipattern>
                <antipattern case_sensitive="yes"><!-- However fast you may walk, ... / However implausible this is...-->
                    <token>However</token>
                    <token postag_regexp="yes" postag="RB|JJ"/><!-- Cannot use chunk="I-ADVP" -->
                    <token postag_regexp="yes" postag="DT|PRP"/>
                </antipattern>
                <antipattern>
                    <token skip="2">however</token>
                    <token inflected="yes">look</token>
                    <token>at</token>
                </antipattern>
                <antipattern>
                    <token skip="2">however</token>
                    <token inflected="yes" regexp="yes">want|like</token>
                    <token>it</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">accordingly|additionally|also|consequently|similarly</token>
                    <token postag="VBP"><exception negate_pos="yes" postag="VBP?" postag_regexp="yes"/></token>
                </antipattern>
                <antipattern>
                    <token>Also</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <!-- typical headline, but may hide real errors... -->
                    <token>Further</token>
                    <token postag="VBG" regexp="yes">(add|comp(licat|ound)|exp(and|lain)|read|stat)ing</token>
                </antipattern>
                <antipattern>
                    <token>However</token>
                    <token>that</token>
                    <token>may</token>
                    <token>be</token>
                    <token>,</token>
                </antipattern>
                <antipattern>
                    <token>However</token>
                    <token postag_regexp="yes" postag="PRP|NNP"/>
                    <token postag_regexp="yes" postag="VB.*"/><!-- Other rules should find incorrect text such as "However they goes, ..." -->
                    <token min="0" max="1" postag="PRP"/>
                    <token>,</token>
                </antipattern>
                <antipattern><!-- #1744. Still and calm he was sitting there. -->
                    <token postag="JJ"/>
                    <token>and</token>
                    <token postag="JJ"/>
                </antipattern>
                <antipattern>
                    <token>likewise</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>similarly</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- however defined, ...-->
                    <token>however</token>
                    <token postag="VB[DN]" postag_regexp="yes" />
                    <token regexp="yes">[,\-–:;]</token>
                </antipattern>
                <antipattern><!-- However highly brokerage analysts rate the -->
                    <token postag="SENT_START"/>
                    <token postag_regexp="yes"  postag="W.+"/>
                    <token postag_regexp="yes" postag="RB|JJ"/>
                    <token chunk="B-NP-plural"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/>
                    <token postag_regexp="yes" postag="DT|PRP\$|JJR?|NN.*"/>
                </antipattern>
                <antipattern>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token>also</token>
                    <token>that</token>
                    <token>year</token>
                </antipattern>
                <antipattern><!-- Also on Friday, ... -->
                    <token>also</token>
                    <token postag="IN" />
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>,</token>
                </antipattern>
                <antipattern>
                    <token>besides</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" min="1" max="2" />
                    <token regexp="yes">[,\-–:;]</token>
                </antipattern>
                <antipattern><!-- Also me: -->
                    <token>also</token>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token>:</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">.+ly</token>
                    <token min="0">not</token>
                    <token chunk_re=".-ADJP" postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token regexp="yes">.+ly</token>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <token postag="IN" />
                </antipattern>
                <antipattern><!-- Currently under construction in Edmonton is ... -->
                    <token postag="SENT_START" />
                    <token regexp="yes">.+ly</token>
                    <token postag="IN" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="IN" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- Currently under construction is ...  -->
                    <token postag="SENT_START" />
                    <token regexp="yes">.+ly</token>
                    <token postag="IN" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token chunk_re="B-NP.*">further</token>
                    <token chunk_re="E-NP.*" postag="NN:UN?" postag_regexp="yes" />
                    <token chunk_re=".-VP" />
                </antipattern>
                <antipattern><!-- do not check lowercase sentence -->
                    <token postag="SENT_START" />
                    <token regexp="yes" case_sensitive="yes">[a-z].*</token>
                </antipattern>
                <pattern>
                    <!-- TODO: also cover the case where a new sub-clause is connected by ";|, $adverb," and detect missing punctuation -->
                    <token postag="SENT_START"/>
                    <!-- now, next, then and yet are not solely linking adverbs and result in too many false positives -->
                    <marker>
                        <token regexp="yes">a(ccordingly|dditionally|l(so|as))|anyhow|besides|c(omparatively|on(sequent|verse)ly)|currently|e(lsewhere|qually)|f(inally|urther(more)?)|h(ence(forth)?|owever)|in(deed|stead)|likewise|m(eanwhile|oreover)|n(amely|(ever|one)theless)|otherwise|s(imilarly|ubsequently)|t(here(after|fore)|hus|ypically)
                            <exception negate_pos="yes" postag="RB">further</exception>
                        </token>
                    </marker>
                    <token negate="yes" regexp="yes">[,:!\.\?\-\–…]|and|or|&amp;</token>
                </pattern>
                <message>A comma may be missing after the conjunctive/linking adverb '\2'.</message>
                <suggestion>\2,</suggestion>
                <short>Punctuation error</short>
                <example correction="Nonetheless,"><marker>Nonetheless</marker> you should set commas to enhance readability.</example>
                <example>Further Spanish attacks were harsh.</example>
                <example>Besides the power analysis, there are less formal methods...</example>
                <example correction="Besides,"><marker>Besides</marker> I promised her we would come.</example>
                <example>Also in 1875, the legislature passed the Blaine Amendment.</example>
                <example>Thus began the infamous "prison ships" system.</example>
                <example>However fast you may walk, you can't catch up with him.</example>
                <example>However fast the man walks, he'll never catch up with me.</example>
                <example>However implausible this is, it is certainly the case that...</example>
                <example>Also specify your gender.</example>
                <example>Also known as UCB, ...</example>
                <example>Still the greatest.</example>
                <example>Currently commented out code will not be executed.</example>
                <example>Also that year, Delta began an expansion of their international routes into Latin America.</example>
                <example>Rather informal.</example>
                <example>Finally </example>
                <example>Further study will prove that the theory is right.</example>
                <example>Besides death, there is life.</example>
                <example>Also on Friday, CEO Elon Musk tweeted that Tesla will enter India by 2021.</example>
                <example>Also happens with other things.</example><!-- informal -->
                <example>Further concern was raised about people who were eating U.S. rice exceeding WHO standards for personal arsenic intake in 2005.</example>
                <example>However you look at it, existing investors are likely to lose out.</example>
                <example correction="Alas,"><marker>Alas</marker> James had finals and couldn’t attend.</example>
                <example>Alas! Her heart belonged to another.</example>
                <example>Further to this previous point, it is difficult to fully respect a high-ranking business official if their grammar isn’t up to par.</example>
                <example>Thus far, the tests are in agreement with the observations made.</example>
                <example>Finally outside, she caused a bit of shock amongst the Assisians.</example>
                <example><marker>However that may be</marker>, I am wrong.</example>
                <example><marker>However we go</marker>, we must get there by seven.</example>
                <example><marker>However you do it</marker>, the result will be the same.</example>
                <example><marker>Indeed</marker>. He is young, but smart for his age.</example>
                <example correction="Currently,"><marker>Currently</marker> (2000 census) 57.71% of Alaska's area has this...</example>
                <example correction="However,"><marker>However</marker> de facto self-ruling khanates emerged in the area...</example>
                <example correction="However,"><marker>However</marker> large errors can occur.</example>
<!-- TODO -->   <example><marker>Anyway</marker> you look after the disambiguation, and I'll do the grammar rules.</example>
                <example><marker>Anyway you look at it</marker>, the rule is good.</example>
                <example>Still and calm he was sitting there.</example>
                <example>Similarly to Tom, Joe has good grades at school.</example>
                <!-- TODO: <example correction="Still,"><marker>Still</marker> the banking system is considered an important element.</example> -->
                <example>Also - and this is a recurring theme here - a government cannot just decide about this.</example>
                <example type="triggers_error"><marker>Indeed he is rich</marker>, but he is not reliable.</example><!-- Comma is also correct. -->
                <example>Still others simply travel around America in recreation...</example><!-- Comma is also correct. -->
                <example><marker>Currently under construction in Edmonton</marker> is the new...</example>
                <example><marker>Further progress in the understanding of atoms</marker> did not occur until 1913.</example><!-- Comma is also correct, depends on the intended meaning. -->
                <example>Still higher values of n further increase the number of errors.</example><!-- Comma is also correct. -->
                <example>Also from that general era, Martin Cruz Smith, in his ...</example><!-- MFU 2019-10-15: Incomplete sentence. Thus probably should be out of scope. -->
                <example>Likewise in the United States.</example>
                <example>However highly brokerage analysts rate the stock, ``I have to remain skeptical,'' said Barry Borak, energy analyst at David L. Babson &amp; Co., which manages $60 billion in Cambridge, Massachusetts.</example>
                <example correction="Similarly,"><marker>Similarly</marker> please add any additional comments or suggestions.</example>
                <example>Currently not available for the Premium version.</example>
            </rule>
            <rule>
                <pattern>
                    <!-- TODO: also cover the case where a new sub-clause is connected by ";|, $adverb," and detect missing punctuation -->
                    <token postag="SENT_START"/>
                    <token>in</token>
                    <marker>
                        <token regexp="yes">addition|contrast|comparison</token>
                    </marker>
                    <token negate="yes" regexp="yes">[,:!\.\?\-\–…]|and|or|&amp;
                        <exception regexp="yes">to|with</exception>
                    </token>
                </pattern>
                <message>A comma may be missing after the conjunctive/linking adverb '\3'.</message>
                <suggestion>\3,</suggestion>
                <short>Punctuation error</short>
                <example correction="addition,">In <marker>addition</marker> he created a great rule for LanguageTool.</example>
                <example>In addition to these, it is also featured in Schoolhouse Rock.</example>
                <example><marker>In comparison with Tokyo</marker>, London is small.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">also|similarly</token>
                    </marker>
                    <token>please</token>
                </pattern>
                <message>A comma may be missing after the conjunctive/linking adverb '\2'.</message>
                <suggestion>\2,</suggestion>
                <example correction="Also,"><marker>Also</marker> please forward this to other groups as well.</example>
            </rule>
        </rulegroup>
        <rule id="YEAR_OLD_PLURAL" name="She turned 25 year (years) old.">
            <pattern>
                <token inflected="yes" regexp="yes">be|turn</token>
                <marker>
                    <token postag="CD">
                        <exception regexp="yes">one|1</exception>
                    </token>
                    <token>year</token>
                </marker>
                <token regexp="yes">old|young</token>
            </pattern>
            <message>Did you mean <suggestion>\2 years</suggestion>?</message>
            <example correction="25 years">He turned <marker>25 year</marker> old.</example>
        </rule>
        <rulegroup id="YEAR_OLD_HYPHEN" name="Missing hyphens in '5 year old'">
            <url>https://www.tckpublishing.com/year-old-hyphen/#:~:text=When%20to%20Hyphenate%20Year%20Old,be%20written%20as%20year%2Dold.</url>
            <antipattern><!-- different error: Is She 25 year old. -->
                <token inflected="yes">be</token>
                <token postag="PRP|NNP" min="0" postag_regexp="yes" />
                <token postag="RB" min="0"  max="2" />
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- different error: She is 2 year old -->
                <token inflected="yes">be</token>
                <token postag="RB" min="0"  max="2" />
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- different error: She turned 25 year old. -->
                <token inflected="yes" skip="6">turn</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="JJR" />
                <token regexp="yes">th[ea]n</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes">1|one</token>
                <token>year</token>
                <token>old</token>
                <token postag="IN" />
            </antipattern>
            <rule>
                <pattern>
                    <token postag="CD" />
                    <token regexp="yes">year|month|week</token>
                    <token regexp="yes">olds?</token>
                </pattern>
                <message>It seems that hyphens are missing.</message>
                <suggestion>\1-\2-\3</suggestion>
                <example correction="five-year-olds">All <marker>five year olds</marker> were preparing for pre-school.</example>
                <example>It is almost 1 year old.</example>
                <example>The fluid is less than 1 year old and looks and smells normal.</example>
                <example>One year old at most.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">\d+-year</token>
                    <token regexp="yes">olds?</token>
                </pattern>
                <message>In this expression, '\1-\2' is used as a modifier. It is therefore usually hyphenated.</message>
                <suggestion>\1-\2</suggestion>
                <example correction="5-year-olds">All <marker>5-year olds</marker> were preparing for pre-school.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MISSING_HYPHEN" name="Missing hyphens in compounds">
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|our|your|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token postag="CD"/>
                        <token regexp="yes">second|min(ute)?|hour|day|week|month|year|foot|met(er|re)|mile|inch|page|store?y</token>
                        <token regexp="yes">high|old|long</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*|PCT|CC" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use hyphens.</message>
                <suggestion>\3-\4-\5</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphens</short>
                <example correction="two-year-old">Rudolph is a <marker>two year old</marker> reindeer.</example>
                <example correction="29-year-old">She is an adorable <marker>29 year old</marker> cat.</example>
                <example>Rudolph is two years old.</example>
                <example>Rudolph is two years old actually</example>
                <example>It is located one hour's drive from Barcelona.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD">
                            <exception scope="previous" postag="CD" />
                        </token>
                        <token>year-old</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*|PCT" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use hyphens.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphens</short>
                <example correction="two-year-old">Rudolph is a <marker>two year-old</marker> reindeer.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|our|your|s</token>
                    <marker>
                        <token postag="CD"/>
                        <token regexp="yes">thirds|fourths|fifths|sixths|seventh|eights|ninths|tenths</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use hyphens.</message>
                <suggestion>\2-\3</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphens</short>
                <example correction="two-thirds">The decision requires a <marker>two thirds</marker> majority.</example>
                <example>Only a majority of two thirds would be enough.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|our|your|s</token>
                    <marker>
                        <token postag="JJ" regexp="yes">.*(second|min(ute)?|hour|day|week|month|year|foot|met(er|re)|mile|inch|page|store?y)</token>
                        <token regexp="yes">high|old|long</token>
                    </marker>
                    <token postag="NN.*|SENT_END|PCT" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\2-\3</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen</short>
                <example correction="two-year-old">Rudolph is a <marker>two-year old</marker> reindeer.</example>
                <example>Rudolph is two years old.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VBZ">'s<exception postag="POS"/></token>
                </antipattern>
                <antipattern><!-- https://en.wikipedia.org/wiki/9_Story_Media_Group -->
                    <token>9</token>
                    <token>story</token>
                    <token>media</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|our|your|'s</token>
                    <token postag="JJ" min="0"/>
                    <marker>
                        <token postag="CD"></token>
                        <token regexp="yes">second|min(ute)?|hour|day|week|month|year|foot|met(er|re)|mile|inch|page|store?y</token>
                    </marker>
                    <token postag="NN.*|JJ" postag_regexp="yes">
                        <exception regexp="yes">till|ago</exception>
                    </token>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\3-\4</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen</short>
                <example correction="35-hour">France has a <marker>35 hour</marker> working week.</example>
                <example correction="100-metre">He won the <marker>100 metre</marker> sprint.</example>
                <example correction="15-foot">Lara handed me a <marker>15 foot</marker> pole.</example>
                <example correction="eighteen-inch">An <marker>eighteen inch</marker> monitor is too big for my desk.</example>
                <example correction="one-hour">Tom's <marker>one hour</marker> workout was very intense.</example>
                <example correction="3-year">He filed a protest (Below) against AEP/CSW's <marker>3 year</marker> update request.</example>
                <example>There's only one week till Easter Sunday.</example>
                <example>There's only one day left.</example>
                <example>I visited my country one week ago.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|our|your|s</token>
                    <token postag="JJ" min="0"/>
                    <marker>
                        <token regexp="yes">\d+</token>
                        <token spacebefore="no">,</token>
                        <token spacebefore="no" regexp="yes">\d{3}</token>
                        <token regexp="yes">second|min(ute)?|hour|day|week|month|year|foot|met(er|re)|mile|inch|page|store?y</token>
                    </marker>
                    <token postag="NN.*|JJ" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\3\4\5-\6</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen</short>
                <example correction="5,000-year">The country has an over <marker>5,000 year</marker> history of producing wine.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|the|my|his|her|its|their|our|your|s</token>
                    <token postag="JJ" min="0"/>
                    <marker>
                        <token regexp="yes">\d+</token>
                        <token spacebefore="no">,</token>
                        <token spacebefore="no" regexp="yes">\d{3}</token>
                        <token spacebefore="no">,</token>
                        <token spacebefore="no" regexp="yes">\d{3}</token>
                        <token regexp="yes">second|min(ute)?|hour|day|week|month|year|foot|met(er|re)|mile|inch|page|store?y</token>
                    </marker>
                    <token postag="NN.*|JJ" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\3\4\5\6\7-\8</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen</short>
                <example correction="5,000,000-year">The earth has an over <marker>5,000,000 year</marker> history.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="CD" />
                    <token>day</token>
                    <token skip="1">trip</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token postag="CD">
                            <exception>one</exception>
                        </token>
                        <token>day</token>
                    </marker>
                    <token regexp="yes">SLA|weeks?|money-back|deadline|shipping|penalty|pandemi[ac]|residency|calendar|window|diary|turnarounds?|deliver(y|ies)|event|seminars?|cookies?|trade|diet|cruise|festival|school|weather|forecast|challenges?|warrant(y|ies)|guarantees?|getaways?|weekends?|course|conference|tour|adventure|training|off-?site|workout|travel|experience|rule|ticket|timeframe|trip|diary|lockdown|shutdown|periods?|intervals?|average|avg</token>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <example correction="2-day">FedEx <marker>2 day</marker> delivery.</example>
                <example correction="60-day">Some states require a 30/<marker>60 day</marker> warranty on major components.</example>
                <example correction="three-day">Have a nice time tonite and for the <marker>three day</marker> weekend.</example>
                <example>He indicated that he hoped to one day work on the official supplement.</example>
                <example>The use of the roadstead in front of St Peter Port by over 100 cruise ships a year is bringing over 100,000 day trip passengers to the island each year.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>single</token>
                        <token>day</token>
                    </marker>
                    <token regexp="yes">increase|decrease</token>
                </pattern>
                <message>The adjective <suggestion>\1-\2</suggestion> is spelled with a hyphen.</message>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <example correction="single-day">Florida has seen the largest <marker>single day</marker> increase of COVID-19 infections.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token>day</token>
                    </marker>
                    <token regexp="yes">work(ing)?</token>
                    <token regexp="yes">weeks?</token>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <example correction="4-day">Sign the contract and get <marker>4 day</marker> work weeks.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token>day</token>
                    </marker>
                    <token regexp="yes">workweeks?</token>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\1-\2</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <example correction="4-day">Sign the contract and get <marker>4 day</marker> workweeks.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">will|can</token>
                    <token>one</token>
                    <token>day</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="V.+" postag_regexp='yes'/>
                    <marker>
                        <token postag="CD"></token>
                        <token regexp="yes">second|min(ute)?|hour|day|week|month|year|foot|met(er|re)|mile|inch|page|store?y</token>
                    </marker>
                    <token postag="NNP?S" postag_regexp="yes"/>
                </pattern>
                <message>When a number forms part of an adjectival compound, use a hyphen.</message>
                <suggestion>\2-\3</suggestion>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen</short>
                <example correction="6-page">Instead of maintaining <marker>6 page</marker> templates for each language...</example>
                <example>The tree will one day bear fruits.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">left|right</token>
                    <token>hand</token>
                    <token chunk="B-VP" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">left|right</token>
                    <token>hand</token>
                    <token postag="VB.+" postag_regexp="yes"/>
                    <token postag="JJ"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">left|right</token>
                    <token>hand</token>
                    <token postag="VBG" />
                    <token postag="DT" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">left|right</token>
                        <token>hand</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="IN"/>
                        <exception>away</exception>
                        <exception>waves</exception>
                        <exception regexp="yes">yesterday|tomorrow|today</exception>
                    </token>
                </pattern>
                <message>Did you mean the adjective <suggestion>\1-hand</suggestion>?</message>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen</short>
                <example correction="right-hand">He is her <marker>right hand</marker> man.</example>
                <example>His left hand felt numb.</example>
                <example>He talked to them with his left hand holding a gun.</example>
                <example correction="left-hand">You'll see the bank on the <marker>left hand</marker> side of the hospital.</example>
                <example>She moved her right hand away from his.</example>
                <example>I hurt my right hand yesterday.</example>
            </rule>
            <rule><!-- English-speaking -->
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">&languages;</token>
                        <token>speaking</token>
                    </marker>
                  <token postag_regexp="yes" postag="NN.*"><exception regexp="yes" case_sensitive="yes">&languages;</exception></token>
                </pattern>
                <message>Did you mean the adjective <suggestion>\1-speaking</suggestion>?</message>
                <url>https://languagetool.org/insights/post/hyphen/</url>
                <short>Missing hyphen: languages</short>
                <example correction="English-speaking">This is all about <marker>English speaking</marker> people.</example>
                <example>This is all about <marker>English-speaking</marker> people.</example>
                <example>When you hear the <marker>English speaking</marker> French, you have to laugh.</example>
                <example>There is an old joke about the <marker>English speaking</marker> loudly to foreigners.</example>
                <example>When I hear an <marker>Italian speaking</marker>, I remember the wonderful holidays in Italy.</example>
<!-- False negative --><example>We're lost! If those people are <marker>Italian speaking</marker>, ask them for directions.</example>
<!-- False negative, but other rules find the capitalization problem. --><example>We're lost again! Aren't they <marker>english speaking</marker> people from our hotel? Ask them for directions.</example>
            </rule>
        </rulegroup>
        <rule id="FACE_FIRST" name="Missing hyphen: face first (face-first)">
            <pattern case_sensitive="yes">
                <marker>
                    <token>face</token>
                    <token>first</token>
                </marker>
                <token>into</token>
            </pattern>
            <message>Did you mean the adverb <suggestion>\1-\2</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/face-first</url>
            <short>Missing hyphen</short>
            <example correction="face-first">I crashed <marker>face first</marker> into the snow.</example>
        </rule>
        <rulegroup id="DASH_RULE" name='Hyphen, n-dash and m-dash' tags="picky">
            <!-- Created by Tiago F. Santos, 2017-01-23 -->
            <!-- Localised to English by Marco A.G.Pinto, 2017-04-02 -->
            <url>https://en.wikipedia.org/wiki/Dash#Em_dash</url>
           <antipattern>
               <token regexp='yes'>-</token>
               <token regexp='yes'>-</token>
               <token regexp='yes'>-</token>
           </antipattern>
            <antipattern>
                <token spacebefore="yes">-</token>
                <token spacebefore="no"></token>
                <token spacebefore="no">-</token>
            </antipattern>
            <antipattern>
                <token>-</token>
                <token spacebefore="no"/>
                <token spacebefore="no">-</token>
            </antipattern>
            <antipattern>
                <token>-</token>
                <token regexp="yes" spacebefore="no">\d+</token>
            </antipattern>
            <rule>
                <antipattern>
                    <!-- typical signature delimiter in emails -->
                    <token>-</token>
                    <token>-</token>
                </antipattern>
                <pattern>
                    <token postag='SENT_START'/>
                    <token min='0' regexp='yes'>["«»“”]</token>
                    <marker>
                        <token regexp='yes'>-|–</token>
                   </marker>
                </pattern>
                <message>Consider using an em dash in dialogues and enumerations.</message>
                <suggestion>—</suggestion>
                <short>Use an em dash</short>
                <example correction='—'><marker>-</marker> What is that, mother?</example>
                <example correction='—'>« <marker>-</marker> What is that, mother?</example>
                <example>— It's your birthday present, my daughter.</example>
            <example>---------------------------------------</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp='yes'>\d+|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;</token>
                    <token regexp='yes'>-|–</token>
                    <token regexp='yes'>\d+|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token />
                        <token spacebefore="yes">-</token>
                        <token spacebefore="yes"/>
                    </marker>
                </pattern>
                <message>Consider using either an em dash (—) or an en dash (–) if you do not want to join two words.</message>
                <suggestion>\1—\3</suggestion>
                <suggestion>\1 – \3</suggestion>
                <short>Use an em or en dash</short>
                <example correction='enrollments—mostly|enrollments – mostly'>In these educational establishments there were <marker>enrollments - mostly</marker> from elementary school — and a total of teachers.</example>
                <example correction='Macau—Association|Macau – Association'>Institute Ricci de <marker>Macau - Association</marker> of cultural promotion of the Company of Jesus in Macau</example>
                <example>In the Midwest and Northwest portion are higher elevations, reaching 500 meters above sea level, highlighting Serra do Tumucumaque and Sierra Lombarda.</example>
            </rule>
            <rule>
            <antipattern><!-- XXX YYYY-XX-XX date formats and XX-XX-YYYY -->
                <token regexp="yes">\d{2}|\d{4}</token>
                <token regexp="yes" spacebefore='no'>–|-</token>
                <token regexp="yes" spacebefore='no'>\d{2}</token>
                <token regexp="yes" spacebefore='no'>–|-</token>
                <token regexp="yes" spacebefore='no'>\d{2}|\d{4}</token>
            </antipattern>
                <antipattern>
                    <!--negative number-->
                    <token spacebefore="yes">-</token>
                    <token spacebefore="no" regexp="yes">\d+</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>\d+|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;</token>
                    <token regexp='yes'>-|—</token>
                    <token regexp='yes'>\d+|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;</token>
                </pattern>
                <message>Consider using an en dash (half dash), if you want to indicate numerical ranges or time ranges.</message>
                <suggestion>\1 – \3</suggestion>
                <suggestion>\1–\3</suggestion>
                <short>Use an en dash</short>
                <example correction='1901 – 1978|1901–1978'>Vitorino Nemésio (<marker>1901 - 1978</marker>) — writer and university teacher.</example>
            <example>10-10-10 — Date</example>
            <example>10-10-2010 — Date</example>
            <example>2010-10-10 — Date</example>
            </rule>
            <rule>
              <antipattern>
                  <token regexp='yes'>-</token>
                  <token regexp='yes'>-</token>
                  <token regexp='yes'>-</token>
                  <token regexp='yes'>,</token>
              </antipattern>
              <pattern>
                <marker>
                  <token regexp='yes' spacebefore='yes'>-|–</token>
                </marker>
                  <token spacebefore="no">,</token>
              </pattern>
              <message>If this is a parenthetical clause, finish it with an em dash.</message>
              <suggestion>—</suggestion>
              <short>Use an em dash</short>
              <example correction='—'>…— as aforementioned <marker>-</marker>,…</example>
              <example>A better or more prestigious quality or status: A-, A or A+</example>
              <example>Sometimes the syndrome is divided into low-, medium- or high-functioning autism</example>
              <example>--------, Schopenhauer, The Human Character.</example>
            </rule>
        </rulegroup>
    <rule id="ENUMERATION_AND_DASHES" name="Enumerations with dashes: 1.2.-">
    <!-- Created by Tiago F. Santos, 2017-01-23 -->
    <!-- Localised to English by Marco A.G.Pinto, 2017-04-02 -->
      <antipattern>
          <token regexp='yes'>\d+|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;</token>
          <token regexp='yes'>-|–</token>
          <token regexp='yes'>\d+|&months;|&abbrevMonths;|&weekdays;|&abbrevWeekdays;</token>
      </antipattern>
      <antipattern>
        <token regexp="yes">\d+</token>
        <token>.</token>
        <token min='0' regexp='yes'>\d{1,2}</token>
        <token min='0'>.</token>
        <token>-</token>
        <token regexp="yes">\-?\d+</token>
      </antipattern>
      <pattern>
          <token postag='SENT_START'/>
          <marker>
              <token regexp="yes">\d+</token>
              <token>.</token>
              <token min='0' regexp='yes'>\d{1,2}</token>
              <token min='0'>.</token>
              <token regexp="yes" min="1" max="3" spacebefore="no">[—–‒-]</token>
          </marker>
      </pattern>
      <message>Dashes are unnecessary in enumerations.</message>
        <suggestion>\2\3<match no='4' include_skipped='all'/><match no='5' include_skipped='all'/></suggestion>
      <example correction="1."><marker>1.-</marker> Introduction</example>
      <example correction="1."><marker>1.--</marker> Introduction</example>
      <example correction="1.3."><marker>1.3.—</marker> Introduction</example>
      <example>50-30</example>
      <example>12.45 - -4 = 8.45</example>
      <example>...with a rock...—, I believe that...</example>
    </rule>
    <rule id="NO_COMMA_BEFORE_INDIRECT_QUESTION" name="no comma before indirect question">
        <antipattern>
            <token postag="SENT_START|CC" postag_regexp="yes" />
            <token min="0">,</token>
            <token postag="RB" min="0" />
            <token min="0">,</token>
            <token>who</token>
            <token>knows</token>
            <token>,</token>
        </antipattern>
        <antipattern>
            <token>you</token>
            <token>know</token>
            <token>what</token>
            <token>,</token>
        </antipattern>
        <antipattern>
            <token>,</token>
            <token>if</token>
            <token regexp="yes">not|yes|(im)?possible|any(thing)?|ever</token>
            <token postag="PRP_S.*|PCT|EX" postag_regexp="yes" />
        </antipattern>
        <antipattern>
            <token>,</token>
            <token>if</token>
            <token regexp="yes">not|yes|(im)?possible|any(thing)?|ever</token>
            <token regexp="yes">then|please</token>
        </antipattern>
        <antipattern>
            <token>,</token>
            <token>if</token>
            <token postag="PRP_S.*" postag_regexp="yes" />
            <token postag="VB.*" postag_regexp="yes" />
            <token>,</token>
        </antipattern>
        <antipattern>
            <token postag="SENT_START" />
            <token min="0" regexp="yes">&quote;</token>
            <token>you</token>
            <token>know</token>
            <token>,</token>
        </antipattern>
        <antipattern>
            <token regexp="yes" skip="-1">
                if|when|although|since|once
                <exception scope="next">,</exception>
            </token>
            <token inflected="yes" regexp="yes" skip="1">ask|wonder|know</token>
            <token regexp="yes">wh(ich|ere|at|[oy]|ose)</token>
        </antipattern>
        <antipattern><!-- Yes, I know, what can I say? -->
            <token>,</token>
            <token postag="PRP_S.*" postag_regexp="yes" />
            <token postag="VB[DZP]" postag_regexp="yes" />
            <token>,</token>
            <token regexp="yes">wh(ich|ere|at|[oy]|ether|ose)|if</token>
        </antipattern>
        <antipattern><!-- I know, what a shock.  -->
            <token postag="SENT_START|PCT" postag_regexp="yes" />
            <token>I</token>
            <token>know</token>
            <token>,</token>
            <token>what</token>
            <token regexp="yes">an?</token>
        </antipattern>
        <antipattern>
            <token postag="VBN" chunk_re="[BI]-NP.*">known</token>
            <token postag="N.*" postag_regexp="yes" chunk_re="E-NP.*" />
        </antipattern>
        <pattern>
            <token inflected="yes" regexp="yes">ask|wonder|know</token>
            <token min="0">
                <exception postag="W.*" postag_regexp="yes" />
            </token>
            <marker>
                <token>,</token>
                <token regexp="yes">wh(ich|ere|at|[oy]|ether|ose)|if</token>
            </marker>
            <token><exception postag="VB.*" postag_regexp="yes"/></token>
        </pattern>
        <message>If <suggestion> \4</suggestion> starts an indirect question, you do not need to put a comma before it.</message>
        <url>https://www.thoughtco.com/what-is-an-indirect-question-1691162</url>
        <example correction=" where">I asked Tom<marker>, where</marker> he lives.</example>
        <example correction=" who">If you would like someone in EIPL/DPC to be signing the contract, please let me know<marker>, who</marker> the signing authority is.</example>
        <example correction=" what">Do you know<marker>, what</marker> to do?</example>
        <example>We know how, where and when.</example>
        <example>Yes, I know, what can I say?</example>
        <example>Please let me know what, if any, tanks and term you are interested in looking at asap.</example>
        <example>So, who knows, if he gets on in Houston, I might get an opportunity to move there too.</example>
        <example>If my memory serves me, this is a known issue, which I will have to research to find the current status.</example>
    </rule>
    </category>

    <!-- ====================================================================== -->
    <!-- Commonly Confused Words -->
    <!-- ====================================================================== -->
    <category id="CONFUSED_WORDS" name="Commonly Confused Words" type="misspelling">
        <rule id="MARY_CHRISTMAS" name="Mary (Merry) Christmas">
            <pattern>
                <token regexp="yes">marr?y</token>
                <token regexp="yes">christmas|krist?mas</token>
            </pattern>
            <message>Did you mean the Christmas greeting <suggestion>merry Christmas</suggestion>?</message>
            <example correction="Merry Christmas"><marker>Mary Christmas</marker> to you and your loved ones!</example>
        </rule>
        <rule id="HWY_WHY" name="hwy vs why">
            <antipattern>
                <token><exception regexp="yes" inflected="yes">reason|ask|question|wonder|know</exception></token>
                <token>hwy</token>
                <token>.</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">the|our|their|another|a|follow|drive|on</token>
                <token>hwy</token>
            </antipattern>
            <antipattern>
                <token>hwy</token>
                <token regexp="yes">\d+.*|[B-H]|[J-Z]</token>
            </antipattern>
            <antipattern>
                <token>hwy</token>
                <token regexp="yes">n[ro]|#</token>
                <token min="0">.</token>
                <token regexp="yes">\d+.*</token>
            </antipattern>
            <antipattern>
                <token skip="-1">hwy</token>
                <token regexp="yes" inflected="yes">bridge|car|bus|truck|drive|highway|freeway|autobahn|driveway|wheel|steer|speed</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes" skip="-1">>bridge|car|bus|truck|drive|highway|freeway|autobahn|driveway|wheel|steer|speed</token>
                <token>hwy</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="SENT_END">Hwy</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes" postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">
                    [A-Z][a-z].*
                    <exception regexp="yes" inflected="yes">reason|ask|question|wonder|know</exception>
                </token>
                <token case_sensitive="yes">Hwy</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Hh]wy</token>
            </pattern>
            <message>"hwy" is the abbreviation for "Highway". Did you mean <suggestion>why</suggestion>?</message>
            <example correction="why">I'd like to know <marker>hwy</marker> this doesn't work.</example>
            <example correction="Why"><marker>Hwy</marker> are you so unhappy?</example>
            <example>Consulate General of Korea, 2756 Pali Hwy</example>
        </rule>
        <rule id="OVERDUE_OVERDO" name="overdue vs overdo">
            <antipattern>
                <token chunk_re=".-NP.*">overdue</token>
            </antipattern>
            <pattern>
                <token regexp="yes" inflected="yes">do|will|can|should|must</token>
                <token inflected="yes">not</token>
                <marker>
                    <token>overdue</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>overdo</suggestion>?</message>
            <example correction="overdo">Please don't <marker>overdue</marker> it.</example>
            <example>Will overdue tasks finally be finished?</example>
        </rule>
        <rule id="OPINING_OPENING" name="opining vs. opening">
            <antipattern>
                <token>opining</token>
                <token regexp="yes">on|that|s?he|we|they|it|there</token>
            </antipattern>
            <pattern>
                <token chunk_re=".-VP">opining</token>
            </pattern>
            <message>Did you mean <suggestion>opening</suggestion> (= present participle of "to open")?</message>
            <example correction="opening">He is <marker>opining</marker> the windows.</example>
            <example>All the usual suspects were on the floor opining on the issue.</example>
            <example>He was an apologist for slavery, opining that it should be condoned if it was used to allow an elite to pursue scientific enquiry.</example>
        </rule>
        <rulegroup id="ENSUE_ENSURE" name="ensue vs ensure">
            <rule>
                <pattern>
                    <token regexp="yes">please|kindly</token>
                    <marker>
                        <token>ensue</token>
                    </marker>
                    <token chunk_re="B-SBAR|B-PP">that</token>
                </pattern>
                <message>Did you mean the verb <suggestion>ensure</suggestion> (= "make sure")?</message>
                <example correction="ensure">Please <marker>ensue</marker> that this works.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">can|could</token>
                    <token>you</token>
                    <marker>
                        <token>ensue</token>
                    </marker>
                    <token chunk_re="B-SBAR|B-PP">that</token>
                </pattern>
                <message>Did you mean the verb <suggestion>ensure</suggestion> (= "make sure")?</message>
                <example correction="ensure">Can you <marker>ensue</marker> that this works?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">will|can|could|should|must</token>
                    <marker>
                        <token>ensue</token>
                    </marker>
                    <token chunk_re="B-SBAR|B-PP">that</token>
                </pattern>
                <message>Did you mean the verb <suggestion>ensure</suggestion> (= "make sure")?</message>
                <example correction="ensure">I will <marker>ensue</marker> that this works.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">have|need|want</token>
                    <token>to</token>
                    <marker>
                        <token>ensue</token>
                    </marker>
                    <token chunk_re="B-SBAR|B-PP">that</token>
                </pattern>
                <message>Did you mean the verb <suggestion>ensure</suggestion> (= "make sure")?</message>
                <example correction="ensure">We have to <marker>ensue</marker> that this works.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HEART_HEARD" name="heart/herd vs heard">
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes">
                        <exception regexp="yes">now|for</exception>
                    </token>
                    <token inflected="yes">have</token>
                    <token min="0">n't</token>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="IN|EX|W.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">heart|herd</token>
                    </marker>
                    <token postag="PCT|DT|PRP\$|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>heard</suggestion> (= past tense of "hear")?</message>
                <example correction="heard">Have you ever <marker>heart</marker> of this?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes">
                        <exception regexp="yes">now|for</exception>
                    </token>
                    <token inflected="yes">have</token>
                    <token min="0">n't</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="RB" min="0">
                        <exception postag="IN|EX|W.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">heart|herd</token>
                    </marker>
                    <token postag="PCT|DT|PRP\$|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>heard</suggestion> (= past tense of "hear")?</message>
                <example correction="heard">Have the police ever <marker>heart</marker> of this?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token min="0">n't</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX|W.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">heart|herd</token>
                    </marker>
                    <token regexp="yes">of|from|about|that|s?he|we|you|they|it|this|the|my|y?our|their|them|him|his</token>
                </pattern>
                <message>Did you mean the verb <suggestion>heard</suggestion> (= past tense of "hear")?</message>
                <example correction="heard">I have <marker>heart</marker> of this.</example>
            </rule>
        </rulegroup>
        <rule id="MORE_MOVE" name="more vs move">
            <pattern>
                <token postag="MD"><exception>need</exception></token>
                <token inflected="yes" min="0">not</token>
                <marker>
                    <token>more</token>
                </marker>
                <token case_sensitive="yes" regexp="yes">it|them|in(to)?|the|my|y?our|his|her|their|at|by|from|out|to</token>
            </pattern>
            <message>Did you mean the verb <suggestion>move</suggestion>?</message>
            <example correction="move">We will <marker>more</marker> in on September 1st.</example>
        </rule>
        <rule id="FEE_FREE" name="fee vs free">
            <antipattern>
                <token>fee</token>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>fee</token>
                <token regexp="yes">paying|&hyphen_modifier;</token>
            </antipattern>
            <antipattern>
                <token skip="1">for</token>
                <token>admission</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token>it</token>
                <token>'s</token>
                <token>fee</token>
            </antipattern>
            <pattern>
                <token inflected="yes">be</token>
                <token regexp="yes" min="0">completely|really|totally</token>
                <marker>
                    <token chunk_re="E-NP.*" case_sensitive="yes">fee</token>
                </marker>
                <token postag="IN|TO|PCT|CC" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>free</suggestion>?</message>
            <example correction="free">The tool is completely <marker>fee</marker>.</example>
        </rule>
        <rule id="JAPANISE_JAPANESE" name="Japanise vs Japanese">
            <pattern>
                <token>japanise</token>
            </pattern>
            <message>Did you mean <suggestion>Japanese</suggestion> (= people from Japan)?</message>
            <example correction="Japanese">The <marker>japanise</marker> have a successful economy.</example>
        </rule>
        <rulegroup id="ART_ARE" name="art vs are">
            <rule>
                <pattern>
                    <token regexp="yes">you|we|they</token>
                    <marker>
                        <token case_sensitive="yes">art</token>
                    </marker>
                    <token postag="VBG|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>are</suggestion>?</message>
                <example correction="are">Is this the data you <marker>art</marker> looking for?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>art</token>
                    <token regexp="yes">galler(y|ies)|exhibitions?</token>
                </antipattern>
                <pattern>
                    <token postag="W.*|CC|SENT_START|PCT" postag_regexp="yes">
                        <exception regexp="yes">that|now|for</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Aa]rt</token>
                    </marker>
                    <token postag="PRP.*P|NNPS" chunk_re="E-NP.*" postag_regexp="yes" />
                    <token postag="VBG|JJ.*" postag_regexp="yes" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>are</suggestion>?</message>
                <example correction="are">What <marker>art</marker> you looking for?</example>
                <example>Are there any museums or art galleries open until late evening?</example>
            </rule>
        </rulegroup>
        <rule id="WOOD_WOULD" name="wood vs would">
            <pattern>
                <token postag="CC|SENT_START|PCT" postag_regexp="yes">
                    <exception>for</exception>
                </token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <marker>
                    <token case_sensitive="yes">wood</token>
                </marker>
                <token min="0">not</token>
                <token postag="VB" />
            </pattern>
            <message>Did you mean the modal verb <suggestion>would</suggestion>?</message>
            <example correction="would">It <marker>wood</marker> not mean anything.</example>
        </rule>
        <rule id="LEAR_LEARN" name="lear vs learn">
            <pattern>
                <token postag="MD|PRP_S.*|NNPS?|TO" postag_regexp="yes" />
                <token postag="RB" min="0">
                    <exception postag="IN|EX" postag_regexp="yes" />
                </token>
                <marker>
                    <token case_sensitive="yes">lear</token>
                </marker>
                <token>from</token>
            </pattern>
            <message>Did you mean the verb <suggestion>learn</suggestion>?</message>
            <example correction="learn">I want to <marker>lear</marker> from the best.</example>
        </rule>
        <rule id="BEE_BE" name="bee vs be">
            <pattern>
                <token postag="MD|TO" postag_regexp="yes">
                    <exception>need</exception>
                </token>
                <token inflected="yes" min="0">not</token>
                <marker>
                    <token case_sensitive="yes">bee</token>
                </marker>
                <token postag="JJR?" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>be</suggestion>?</message>
            <example correction="be">It can <marker>bee</marker> good.</example>
        </rule>
        <rule id="PEDDLE_PADDLE" name="peddle (paddle/pedal)">
            <pattern>
                <token regexp="yes">a|the|no|my|y?our|his|their</token>
                <marker>
                    <token regexp="yes">peddles?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>paddle<match no="2" regexp_match="(?i)peddle" regexp_replace="" /></suggestion> (= used to move a boat) or <suggestion>pedal<match no="2" regexp_match="(?i)peddle" regexp_replace="" /></suggestion> (= used to ride or drive)?</message>
            <example correction="paddles|pedals">The <marker>peddles</marker> on my bike are broken.</example>
        </rule>
        <rulegroup id="PEAK_ATTENTION" name="peaked (piqued) my attention">
            <url>https://languagetool.org/insights/post/peek-peak-pique/</url>
            <rule>
                <pattern>
                    <marker>
                    <token regexp="yes" postag="V.*" inflected="yes" postag_regexp="yes">pe[ea]k</token>
                    </marker>
                    <token postag="PRP\$.*" chunk_re=".-NP.*" postag_regexp="yes"/>
                    <token min="0" max="4" postag="JJ.*|RB|CC|UNKNOWN" postag_regexp="yes"/>
                    <token regexp="yes" chunk_re="E-NP.*">curiosity|interest|attention|suspicions?</token>
                </pattern>
                <message>Did you mean 'pique (= arouse) \4'? To 'peak' means 'to reach a maximum', to 'peek' means 'to take a brief look; to peer'.</message>
                <suggestion><match no="1" postag="V.*" postag_regexp="yes">pique</match></suggestion>
                <example correction="piqued">That <marker>peaked</marker> my attention.</example>
                <example correction="piquing">His words were <marker>peeking</marker> my intense and lasting curiosity.</example>
                <example correction="piqued">It <marker>peaked</marker> my interest.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                    <token regexp="yes" postag="V.*" inflected="yes" postag_regexp="yes">pe[ea]k</token>
                    </marker>
                    <token max="6" postag="DT|NN.*|JJ.*|RB|CC|UNKNOWN" postag_regexp="yes"/>
                    <token postag="POS" chunk_re=".-NP.*"/>
                    <token min="0" max="4" postag="JJ.*|RB|CC|UNKNOWN" postag_regexp="yes"/>
                    <token regexp="yes" chunk_re="E-NP.*">curiosity|interest|attention|suspicions?</token>
                </pattern>
                <message>Did you mean 'pique (= arouse) \4'? To 'peak' means 'to reach a maximum', to 'peek' means 'to take a brief look; to peer'.</message>
                <suggestion><match no="1" postag="V.*" postag_regexp="yes">pique</match></suggestion>
                <example correction="piques">That’s not the the part of the announcement that <marker>peeks</marker> wrestling fans’ interest, though.</example>
                <example correction="piqued">His words truly <marker>peaked</marker> the constitutional judges' suspicions.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                    <token regexp="yes" postag="V.*" inflected="yes" postag_regexp="yes">pe[ea]k</token>
                    </marker>
                    <token min="0" max="4" postag="JJ.*|RB|CC" postag_regexp="yes"/>
                    <token regexp="yes" chunk_re="E-NP.*">curiosity|interest|attention|suspicions?</token>
                </pattern>
                <message>Did you mean 'pique (= arouse) \3'? To 'peak' means 'to reach a maximum', to 'peek' means 'to take a brief look; to peer'.</message>
                <suggestion><match no="1" postag="V.*" postag_regexp="yes">pique</match></suggestion>
                <example correction="piqued">The program has certainly <marker>peeked</marker> public interest in this rare bird.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MEAN_MAN" name="mean vs man">
            <rule>
                <pattern>
                    <token>what</token>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>mans</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>means</suggestion>?</message>
                <example correction="means">Any idea what he <marker>mans</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token regexp="yes">that|it|this</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>mans</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>means</suggestion>?</message>
                <example correction="means">It <marker>mans</marker> the world to me.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">think|believe|hope|doubt|assume|know</token>
                    <token regexp="yes">that|it|this</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>mans</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>means</suggestion>?</message>
                <example correction="means">I know this <marker>mans</marker> nothing</example>
            </rule>
            <rule>
                <pattern>
                    <token>what</token>
                    <token regexp="yes">you|we|they|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">man</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>mean</suggestion>?</message>
                <example correction="mean">Any idea what we <marker>man</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="PRP_S3.*|NNP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">mans</token>
                    </marker>
                    <token>that</token>
                </pattern>
                <message>Did you mean the verb <suggestion>mean</suggestion>?</message>
                <example correction="mean">It <marker>mans</marker> that we can go home now.</example>
            </rule>
            <rule>
                <pattern>
                    <token>by</token>
                    <token regexp="yes">any|no</token>
                    <marker>
                        <token>mans</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>means</suggestion>?</message>
                <example correction="means">I wasn't a good student by any <marker>mans</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>by</token>
                    <marker>
                        <token>mans</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>means</suggestion>?</message>
                <example correction="means">That is a four year course taught by <marker>mans</marker> of lectures and seminars.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception>for</exception>
                    </token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token inflected="yes">do</token>
                    <token inflected="yes">not</token>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">m[ae]n</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>mean</suggestion>?</message>
                <example correction="mean">I did not <marker>man</marker> to hurt you.</example>
            </rule>
        </rulegroup>
        <rule id="FUNCTIONALLY_FUNCTIONALITY" name="functionally vs functionality">
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Tt]he|[Aa]n?</token>
                <marker>
                    <token>functionally</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VBZ|PKT|IN|CC|W.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the noun <suggestion>functionality</suggestion>?</message>
            <example correction="functionality">The <marker>functionally</marker> is broken.</example>
        </rule>
        <rulegroup id="WORT_WORTH" name="wort vs worth">
            <rule>
                <antipattern><!-- is wort to which ... -->
                    <token>to</token>
                    <token postag="W.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>wort</token>
                    </marker>
                    <token postag="PCT|CC|TO" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>worth</suggestion> (as in 'good enough to justify')?</message>
                <example correction="worth">It's also <marker>wort</marker> to check this.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>wort
                            <exception scope="previous" postag="DT|IN" postag_regexp="yes"/>
                        </token>
                    </marker>
                    <token postag="VBG"/>
                </pattern>
                <message>Did you mean <suggestion>worth</suggestion> (as in 'good enough to justify')?</message>
                <example correction="Worth"><marker>Wort</marker> reading the whole thing.</example>
                <example correction="worth">She said it was <marker>wort</marker> going there.</example>
                <example>Another common method of energy recovery takes place during the wort cooling.</example>
                <example>During wort boiling, the humulones are thermally isomerized into iso-alpha acids or isohumulones, which are responsible for the bitter taste of beer.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DE_THE" name="de vs the">
            <antipattern>
                <token>de</token>
                <token regexp="yes">facto|jure|la|rigueur|vries|minim[iu]s|soto|paul|paris|no</token>
            </antipattern>
            <antipattern>
                <token>de</token>
                <token regexp="yes" case_sensitive="yes">[A-Z].*[a-z].*</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <marker>
                        <token case_sensitive="yes">de</token>
                    </marker>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" chunk_re="[BIE]-NP.*" />
                </pattern>
                <message>Did you mean the article <suggestion>the</suggestion>?</message>
                <example correction="the">I have <marker>de</marker> best ideas.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token>de</token>
                    <token postag="VB" />
                    <token postag="RB" min="0" />
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="IN" chunk_re=".-PP" />
                    <marker>
                        <token case_sensitive="yes">de</token>
                    </marker>
                    <token postag="NN.*|JJ.*" postag_regexp="yes" chunk_re="[BIE]-NP.*" />
                </pattern>
                <message>Did you mean the article <suggestion>the</suggestion>?</message>
                <example correction="the">He is one of <marker>de</marker> best.</example>
                <example>The only answer if you want to sign up more is to de rate the payments and make the program aggregate capacity a max of 150 MW.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TUFF_TOUGH" name="tuff vs tough">
            <rule>
                <antipattern>
                    <token>tuff</token>
                    <token regexp="yes">gongs?</token>
                </antipattern>
                <antipattern>
                    <token>tuff</token>
                    <token>tuff</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">be|look|seem</token>
                    <token regexp="yes" min="0">very|really|so|quite</token>
                    <marker>
                        <token>tuff</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>tough</suggestion> (like "strong" or "difficult")?</message>
                <example correction="tough">He is very <marker>tuff</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>tuff</token>
                    </marker>
                    <token regexp="yes">enough|like</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>tough</suggestion> (like "strong" or "difficult")?</message>
                <example correction="tough">He was <marker>tuff</marker> enough.</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <marker>
                        <token>tuff</token>
                    </marker>
                    <token>as</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>tough</suggestion> (like "strong" or "difficult")?</message>
                <example correction="tough">He was as <marker>tuff</marker> as steel.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>tuff</token>
                    </marker>
                    <token regexp="yes">persons?|people|guys?|boys?|girls?|wom[ae]n|m[ae]n|wi[vf]es?|husbands?|days?|weeks?|years?|weekends?|challenges?|tasks?|problems?|issues?|materials?|leathers?|metals?|papers?|steels?|motherfuck(er|a)s?|muthafuckas?|politicians?|cookies?|workers?|competition|tournaments?|ways?|paths?|nuts?|mudders?|ones?|guides?|world|times?|situations?|sell|life|job|call|decisions?|questions?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>tough</suggestion> (like "strong" or "difficult")?</message>
                <example correction="tough">He is a <marker>tuff</marker> guy.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>tuff</token>
                    </marker>
                    <token regexp="yes">that|it|this|them|something</token> 
                    <token>out</token>
                </pattern>
                <message>Did you mean the verb <suggestion>tough</suggestion> (like "strong" or "difficult")?</message>
                <example correction="tough">I will <marker>tuff</marker> it out.</example>
            </rule>
        </rulegroup>
        <rule id="BEAN_BEEN" name="have bean (been)">
            <antipattern>
                <token>bean</token>
                <token postag="NNP?S|NN:U" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern>
                <token>bean</token>
                <token postag="NNP?S|NN:U" postag_regexp="yes" chunk_re="I-NP.*" />
                <token regexp="yes">and|or|&amp;</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">will|'ll</token>
                <token>have</token>
            </antipattern>
            <antipattern>
                <token>bean</token>
                <token regexp="yes">bags?</token>
            </antipattern>
            <pattern>
                <token inflected="yes">have</token>
                <token postag="RB" min="0" />
                <marker>
                    <token case_sensitive="yes">bean</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>been</suggestion>?</message>
            <example correction="been">I have not <marker>bean</marker> happy with the solution.</example>
            <example>I think I will have bean chili.</example>
            <example>I had bean soup and cutlet for dinner.</example>
        </rule>
        <rulegroup id="GOD_GOOD" name="sounds god (good)">
            <rule>
                <pattern>
                    <token regexp="yes">sounds|looks</token>
                    <token min="0" regexp="yes">too|really|very|so</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">god|goo</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>good</suggestion>?</message>
                <example correction="good">That sounds <marker>god</marker>, thanks!</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">god|goo</token>
                    </marker>
                    <token>as</token>
                </pattern>
                <message>Did you mean <suggestion>good</suggestion>?</message>
                <example correction="good">He is as <marker>god</marker> as me.</example>
            </rule>
        </rulegroup>
        <rule id="FIR_FOR" name="fir vs for">
            <antipattern>
                <token postag="PRP$" />
                <token>fir</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>fir</token>
            </antipattern>
            <antipattern><!-- confusion of "fit" -->
                <token postag="MD|TO" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <token>fir</token>
            </antipattern>
            <antipattern><!-- confusion of "fit" -->
                <token regexp="yes">they|you|we|I</token>
                <token postag="RB" min="0" />
                <token>fir</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">Abies|trees?</token>
                <token>fir</token>
            </antipattern>
            <antipattern>
                <token skip="-1">fir</token>
                <token regexp="yes">Abies|trees?</token>
            </antipattern>
            <antipattern>
                <token>fir</token>
                <token>that</token>
                <token postag="RB" min="0" />
                <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <pattern>
                <marker>
                    <token case_sensitive="yes">fir</token>
                </marker>
                <token postag="PRP\$|DT|NNP|PRP_O.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the preposition <suggestion>for</suggestion>?</message>
            <example correction="for">This is <marker>fir</marker> my best friend.</example>
        </rule>
        <rule id="FIR_FIT" name="fir vs fit">
            <antipattern><!-- confusion of "for" -->
                <token postag="VB.*|IN" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes">Abies|trees?</token>
                <token>fir</token>
            </antipattern>
            <antipattern>
                <token skip="-1">fir</token>
                <token regexp="yes">Abies|trees?</token>
            </antipattern>
            <pattern>
                <token postag="PRP|MD|TO" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <marker>
                    <token case_sensitive="yes">fir</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>fit</suggestion>?</message>
            <example correction="fit">I could <marker>fir</marker> our needs.</example>
        </rule>
        <rulegroup id="EM_ME" name="let em (me) know">
            <antipattern>
                <token regexp="yes" skip="-1">pixels?|px|units?|rems?|s?css|sass|font.*|margin.*|padding.*</token>
                <token>em</token>
            </antipattern>
            <antipattern>
                <token skip="-1">em</token>
                <token regexp="yes">pixels?|px|units?|rems?|s?css|sass|font.*|margin.*|padding.*</token>
            </antipattern>
            <antipattern>
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
                <token>em</token>
                <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes">let</token>
                    <marker>
                        <token>em</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>me</suggestion> or <suggestion>them</suggestion>?</message>
                <example correction="me|them">If this is a problem, please let <marker>em</marker> know.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP" regexp="yes" inflected="yes">send|forward|tell|explain|email</token>
                    <token min="0">to</token>
                    <marker>
                        <token case_sensitive="yes">em</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>me</suggestion> or <suggestion>them</suggestion>?</message>
                <example correction="me|them">Please tell <marker>em</marker> what you did last night.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN" chunk="B-PP" />
                    <marker>
                        <token case_sensitive="yes">em</token>
                    </marker>
                    <token postag="PCT|CC|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>me</suggestion> or <suggestion>them</suggestion>?</message>
                <example correction="me|them">Please send it to <marker>em</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP">
                        <exception inflected="yes" regexp="yes">hope|think|entra</exception>
                    </token>
                    <token chunk_re="B-PRT" min="0" />
                    <marker>
                        <token case_sensitive="yes">em</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>them</suggestion>, <suggestion>me</suggestion> or <suggestion>'em</suggestion>?</message>
                <example correction="them|me|'em">Don't call <marker>em</marker> lazy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">any|some|plenty|many|all|every|lots?|few|one|two|three|four|five|six|seven|eight|nine|ten|\d+</token>
                    <token>of</token>
                    <marker>
                        <token case_sensitive="yes">em</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>them</suggestion> or <suggestion>'em</suggestion>?</message>
                <example correction="them|'em">You cannot kill all of <marker>em</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="SE_SEE" name="se vs see">
            <pattern>
                <token postag="MD|PRP_S[12]" postag_regexp="yes">
                    <exception>need</exception>
                </token>
                <token postag="RB" min="0">
                    <exception postag="IN|VB.*" postag_regexp="yes" />
                </token>
                <marker>
                    <token case_sensitive="yes">Se</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>See</suggestion>?</message>
            <example correction="See">I Can <marker>Se</marker> No Difference.</example>
        </rule>
        <rule id="NAIVE_NATIVE" name="naive vs native">
            <pattern>
                <marker>
                    <token>naive</token>
                </marker>
                <token min="0" regexp="yes">English|Spanish|Italian|French|Russian|German|Portuguese|Dutch|mobile</token>
                <token regexp="yes">Americans?|speakers?|apps?</token>
            </pattern>
            <message>Did you mean <suggestion>native</suggestion>?</message>
            <example correction="native">Is he a <marker>naive</marker> Spanish speaker?</example>
        </rule>
        <rulegroup id="PEASE_PLEASE" name="pleas vs please">
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>pease</token>
                    </marker>
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="Please"><marker>Pease</marker> have a look at this.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <marker>
                        <token>pease</token>
                    </marker>
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="please">Could you <marker>pease</marker> have a look at this?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes">Pease</token>
                    </marker>
                    <token>,</token>
                    <token postag="VB|MD|NNP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="Please"><marker>Pease</marker>, can you check this?</example>
            </rule>
            <rule>
                <pattern>
                    <token>,</token>
                    <marker>
                        <token>pease</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="please">Can you check this, <marker>pease</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token>could</token>
                    <marker>
                        <token>pease</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="please">If you could <marker>pease</marker> check this. That would be great.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TANKFUL_THANKFUL" name="tankful vs thankful">
            <rule>
                <antipattern>
                    <token postag="PRP\$|DT|POS" postag_regexp="yes" />
                    <token>tankful</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>tankful</token>
                    </marker>
                    <token regexp="yes">for|that|\.|\!</token>
                </pattern>
                <message>Did you mean <suggestion>thankful</suggestion>?</message>
                <example correction="thankful">I'm <marker>tankful</marker> for your help.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">very|really|so</token>
                    <marker>
                        <token>tankful</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>thankful</suggestion>?</message>
                <example correction="thankful">I'm very <marker>tankful</marker> for your help.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>tankful</token>
                    </marker>
                    <token postag="IN|PCT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>thankful</suggestion>?</message>
                <example correction="thankful">I'm very <marker>tankful</marker> for your help.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WALLED_WALLET" name="walled vs wallet">
            <rule>
                <pattern>
                    <marker>
                        <token>wallet</token>
                    </marker>
                    <token regexp="yes">gardens?|castles?|cit(y|ies)</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>walled</suggestion> (= enclosed within walls)?</message>
                <example correction="walled">The king is hiding in a <marker>wallet</marker> city.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">crypto(-?currency)?|bitcoin|ethereum</token>
                    <marker>
                        <token>walled</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>wallet</suggestion> (= case that holds money)?</message>
                <example correction="wallet">I store all my coins in a Bitcoin <marker>walled</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <marker>
                        <token>walled</token>
                    </marker>
                    <token postag="VB[ZD]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean the noun <suggestion>wallet</suggestion> (= case that holds money)?</message>
                <example correction="wallet">My <marker>walled</marker> contains three Bitcoin.</example>
            </rule>
        </rulegroup>
        <rule id="CORSE_COURSE" name="corse vs course">
            <pattern>
                <token regexp="yes">off?</token>
                <marker>
                    <token>corse</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>course</suggestion>?</message>
            <example correction="Course">Of <marker>Corse</marker>, I can take care.</example>
        </rule>
        <rulegroup id="PLEAS_PLEASE" name="pleas vs please">
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">for|provided</exception>
                    </token>
                    <marker>
                        <token>pleas</token>
                    </marker>
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="Please"><marker>Pleas</marker> have a look at this.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <marker>
                        <token>pleas</token>
                    </marker>
                    <token postag="VB" chunk_re=".-VP" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="please">Could you <marker>pleas</marker> have a look at this?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes">Pleas</token>
                    </marker>
                    <token>,</token>
                    <token postag="VB|MD|NNP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="Please"><marker>Pleas</marker>, can you check this?</example>
            </rule>
            <rule>
                <pattern>
                    <token>,</token>
                    <marker>
                        <token>pleas</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="please">Can you check this, <marker>pleas</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token>could</token>
                    <marker>
                        <token>pleas</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>please</suggestion>?</message>
                <example correction="please">If you could <marker>pleas</marker> check this. That would be great.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COLLEGE_COLLEAGUE" name="college vs colleague">
            <rule>
                <pattern>
                    <token regexp="yes">friends|family</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <marker>
                        <token>colleges</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>colleagues</suggestion> (= coworkers)?</message>
                <example correction="colleagues">We will share this with our friends and <marker>colleges</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>colleges</token>
                    </marker>
                    <token regexp="yes">and|or|&amp;</token>
                    <token regexp="yes">friends|family</token>
                </pattern>
                <message>Did you mean <suggestion>colleagues</suggestion> (= coworkers)?</message>
                <example correction="colleagues">We will share this with our <marker>colleges</marker> and friends.</example>
            </rule>
            <rule>
                <pattern>
                    <token>friend</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <marker>
                        <token chunk_re="E-NP.*">college</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>colleague</suggestion> (= coworker)?</message>
                <example correction="colleague">Tom is my friend and <marker>college</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>college</token>
                    </marker>
                    <token regexp="yes">and|or|&amp;</token>
                    <token chunk_re="E-NP.*">friend</token>
                </pattern>
                <message>Did you mean <suggestion>colleague</suggestion> (= coworker)?</message>
                <example correction="colleague">Tom is my <marker>college</marker> and friend.</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="1">my</token>
                    <marker>
                        <token regexp="yes">colleges?</token>
                    </marker>
                    <token regexp="yes">and|&amp;</token>
                    <token regexp="yes">I|me</token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)ollege" regexp_replace="olleague" /></suggestion>?</message>
                <example correction="colleagues">My <marker>colleges</marker> and I are going for lunch.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AS_ASK" name="as vs. ask">
            <antipattern>
                <token>as</token>
                <token>for</token>
                <token regexp="yes">now|today|me|us|them|him|her|you|example|instance</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">they|I|we</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Aa]s</token>
                    </marker>
                    <token regexp="yes" min="0">me|us|them|you|him|her</token>
                    <token>for</token>
                </pattern>
                <message>Did you mean the verb <suggestion>ask</suggestion>?</message>
                <example correction="ask">They <marker>as</marker> for permission.</example>
                <example>I as for now don't have anymore questions.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Aa]s</token>
                    </marker>
                    <token regexp="yes" min="0">me|us|them|you|him|her</token>
                    <token>for</token>
                </pattern>
                <message>Did you mean the verb <suggestion>ask</suggestion>?</message>
                <example correction="ask">They can <marker>as</marker> for permission.</example>
            </rule>
        </rulegroup>
        <rule id="RELIEVE_RELIEF" name="relieve vs relief">
            <pattern>
                <token inflected="yes">sigh</token>
                <token regexp="yes">in|of</token>
                <token postag="JJ" min="0" />
                <marker>
                    <token regexp="yes">relie?[fv]e|releaf|relift|releif</token>
                </marker>
            </pattern>
            <message>It appears the correct noun in this context is <suggestion>relief</suggestion>.</message>
            <example correction="relief">She sighed in <marker>relieve</marker>.</example>
        </rule>
        <rule id="OUR_YOUR" name="our vs your">
            <antipattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <token>thanks</token>
            </antipattern>
            <antipattern>
                <token postag="NNP" />
                <token postag="RB" min="0" />
                <token>thanks</token>
            </antipattern>
            <pattern>
                <token regexp="yes">thanks?</token>
                <token min="0" regexp="yes">so|a</token>
                <token regexp="yes" min="0">much|you|lot|greatly|ton</token>
                <token>for</token>
                <marker>
                    <token>our</token>
                </marker>
                <token postag="JJ" min="0" />
                <token regexp="yes">help|message|(e-?)?mail|feedback|letter|support|understanding|attention|efforts?|patience|reply|response|consideration|concern|orders?</token>
            </pattern>
            <message>Did you mean <suggestion>your</suggestion>?</message>
            <example correction="your">Thanks for <marker>our</marker> help.</example>
            <example>He thanks for our patience.</example>
        </rule>
        <rulegroup id="JUT_JUST" name="jut vs just">
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                        <exception>for</exception>
                    </token>
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>Just</suggestion>?</message>
                <example correction="Just"><marker>Jut</marker> manually check the records.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP_S.*|NNP" postag_regexp="yes" />
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>just</suggestion>?</message>
                <example correction="just">I <marker>jut</marker> can't believe what happened!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>just</suggestion>?</message>
                <example correction="just">I couldn't <marker>jut</marker> stand there and watch!</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="VB[NG]|DT|JJ|W.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>just</suggestion>?</message>
                <example correction="just">He's <marker>jut</marker> unhappy.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="VBN|DT|W.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>just</suggestion>?</message>
                <example correction="just">He has <marker>jut</marker> done it.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="VBP?|DT|W.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>just</suggestion>?</message>
                <example correction="just">He does <marker>jut</marker> what we expected from him.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">let</token>
                    <token regexp="yes">'s|us|me|them|him|her</token>
                    <marker>
                        <token>jut</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>just</suggestion>?</message>
                <example correction="just">Let's <marker>jut</marker> do it.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SEES_SEEMS" name="sees vs seems">
            <rule>
                <antipattern><!-- it sees .... and expects -->
                    <token skip="-1">sees</token>
                    <token>expects</token>
                </antipattern>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <token>it</token>
                    <marker>
                        <token>sees</token>
                    </marker>
                    <token regexp="yes">that|like|as</token>
                    <token min="0">if</token>
                    <token chunk_re=".-NP.*" skip="4" />
                    <token chunk_re=".*-VP" />
                </pattern>
                <message>Did you maybe mean <suggestion>seems</suggestion>?</message>
                <example correction="seems">It <marker>sees</marker> that he is unhappy.</example>
            </rule>
            <rule>
                <pattern>
                    <token>it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>sees</token>
                    </marker>
                    <token>to</token>
                    <token regexp="yes">me|us</token>
                </pattern>
                <message>Did you maybe mean <suggestion>seems</suggestion>?</message>
                <example correction="seems">It <marker>sees</marker> to me that he is unhappy.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LUCK_LICK" name="luck vs lick">
            <antipattern>
                <token skip="-1" inflected="yes" chunk_re="..V.*">take</token>
                <token>good</token>
                <token>lick</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>good</token>
                    <marker>
                        <token>lick</token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>Did you mean <suggestion>luck</suggestion>?</message>
                <example correction="luck">I wish you good <marker>lick</marker>.</example>
                <example>The Church took a good lick.</example><!-- licking and look would be the candidates here, not luck -->
            </rule>
            <rule>
                <pattern>
                    <token>good</token>
                    <marker>
                        <token>lock</token>
                    </marker>
                    <token postag="SENT_END">,</token>
                </pattern>
                <message>Did you mean <suggestion>luck</suggestion>?</message>
                <example correction="luck">Good <marker>lock</marker>,</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token>good</token>
                </antipattern>
                <pattern>
                    <token>good</token>
                    <marker>
                        <token regexp="yes">l[io]ck</token>
                    </marker>
                    <token regexp="yes">with|for|at|in|on|to</token>
                </pattern>
                <message>Did you mean <suggestion>luck</suggestion>?</message>
                <example correction="luck">I wish you good <marker>lick</marker> with that.</example>
            </rule>
            <rule>
                <pattern>
                    <token>best</token>
                    <token>of</token>
                    <marker>
                        <token regexp="yes">l[io]ck</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>luck</suggestion>?</message>
                <example correction="luck">Best of <marker>lick</marker> with that.</example>
            </rule>
        </rulegroup>
        <rule id="ME_BE" name="me vs be">
            <antipattern>
                <token>me</token>
                <token postag="VBG" skip="15" />
                <token postag="VB" chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token postag="VB" />
                <token>'d</token>
                <token>me</token>
            </antipattern>
            <pattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <token postag="RB" min="0">
                    <exception postag="VB|IN" postag_regexp="yes" />
                </token>
                <marker>
                    <token>me</token>
                </marker>
                <token regexp="yes" postag="RB" min="0">.*ly</token>
                <token postag="JJ.*|VBN|IN|DT|PRP\$" postag_regexp="yes">
                    <exception regexp="yes">just|only</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>be</suggestion>?</message>
            <example correction="be">Thought you might <marker>me</marker> interested in the report.</example>
            <example correction="be">Any help would <marker>me</marker> appreciated!</example>
            <example correction="be">Calling either of those two methods would <marker>me</marker> many times faster than calling the corresponding REST API end-point.</example>
            <example>Ok, so would me taking a benzodiazepine like klonopin every day ease it?</example>
            <example>Also, would me playing it for 3 hours at a car show in the heat be a factor on why it did it?</example>
        </rule>
        <rule id="PER_PRE" name="per vs pre">
            <pattern>
                <token postag="CD" />
                <token postag="NN.*|UNKNOWN" postag_regexp="yes" min="0" />
                <marker>
                    <token>pre</token>
                </marker>
                <token regexp="yes">hour|min(ute)?|sec(ond)?|day|week|month|year|cent</token>
            </pattern>
            <message>Did you mean <suggestion>per</suggestion>?</message>
            <example correction="per">He earns 20 bucks <marker>pre</marker> hour.</example>
        </rule>

        <rule id="SIGH_SIGN" name="sigh vs sign">
            <antipattern>
                <token inflected="yes">sigh</token>
                <token>in</token>
                <token postag="JJ" min="0" />
                <token postag="NN:UN?" postag_regexp="yes" chunk_re=".-NP.*" />
            </antipattern>
            <antipattern>
                <token inflected="yes">sigh</token>
                <token skip="1" regexp="yes">in|off</token>
                <token regexp="yes">relieve|relief|releaf|relive|relift|heart|releif|relefe</token>
            </antipattern>
            <antipattern>
                <token>in</token>
                <token regexp="yes">her|his|its|their</token>
                <token>sleep</token>
            </antipattern>
            <pattern>
                <marker>
                    <token inflected="yes" chunk_re=".-VP">sigh</token>
                </marker>
                <token regexp="yes">up|in|off</token>
            </pattern>
            <message>Did you mean the verb <suggestion><match no="1" postag_regexp="yes" postag=".*">sign</match></suggestion>?</message>
            <example correction="signing">Please consider <marker>sighing</marker> up for our newsletter.</example>
            <example>He sighed in exasperation and nodded.</example>
            <example>She is sighing in pure bliss.</example>
        </rule>
        <rulegroup id="CAUSE_COURSE" name="cause vs course">
            <antipattern>
                <token regexp="yes">kind|sort|lots?|matter</token>
                <token>of</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="CC|PCT|SENT_START|UH" postag_regexp="yes" />
                    <marker>
                        <token>of</token>
                        <token>cause</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>of course</suggestion>?</message>
                <example correction="Of course"><marker>Of cause</marker>, I will be there.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>of</token>
                        <token>cause</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>of course</suggestion>?</message>
                <example correction="of course">I will be there <marker>of cause</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP_S.+|NNP|MD" postag_regexp="yes" />
                    <marker>
                        <token>of</token>
                        <token>cause</token>
                    </marker>
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>of course</suggestion>?</message>
                <example correction="of course">I <marker>of cause</marker> will be there!</example>
            </rule>
        </rulegroup>
        <rulegroup id="EGO_AGO" name="ego vs ago">
            <rule>
                <antipattern>
                    <token>alter</token>
                    <token>ego</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">alt[ea]r</token>
                    <token regexp="yes">[ea]go</token>
                </pattern>
                <message>Did you mean <suggestion>alter ego</suggestion> (= second self)?</message>
                <url>https://www.merriam-webster.com/dictionary/alter%20ego</url>
                <example correction="alter ego">This is my <marker>altar ago</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">decades?|years?|months?|weeks?|days?|hours?|minutes?|seconds?|moments?|time</token>
                    <marker>
                        <token>ego</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>ago</suggestion>?</message>
                <example correction="ago">It happened three hours <marker>ego</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="IND_KIND" name="ind vs kind">
            <pattern>
                <marker>
                    <token>ind</token>
                </marker>
                <token regexp="yes">message|regards|feedback|words|of</token>
            </pattern>
            <message>Did you mean <suggestion>kind</suggestion>?</message>
            <example correction="Kind"><marker>Ind</marker> Regards.</example>
        </rule>
        <rule id="DEUS_EX_MACHINA" name="deus ex machina">
            <antipattern>
                <token>deus</token>
                <token>ex</token>
                <token>machina</token>
            </antipattern>
            <pattern>
                <token regexp="yes">deu[sx]?</token>
                <token>ex</token>
                <token regexp="yes">machin[ea]?</token>
            </pattern>
            <message>The correct spelling for this expression is <suggestion>deus ex machina</suggestion>.</message>
            <example correction="deus ex machina">But for the grace of the <marker>deux ex machina</marker>, Measure for Measure would have turned into King Lear.</example>
        </rule>
        <rulegroup id="NOTE_NOT" name="note vs not">
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <marker>
                        <token>note</token>
                    </marker>
                    <token postag="VB">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">Please do <marker>note</marker> click this link.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <marker>
                        <token>note</token>
                    </marker>
                    <token postag="VBN">
                        <exception regexp="yes">based|related</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">I have <marker>note</marker> seen this before.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>note</token>
                    </marker>
                    <token postag="VB[NG]" postag_regexp="yes">
                        <exception regexp="yes">based|taking</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">I'm <marker>note</marker> running for president.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <marker>
                        <token>note</token>
                    </marker>
                    <token postag="VB">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">I will <marker>note</marker> click this link.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SECONDE_SECONDS" name="seconde vs seconds">
            <rule>
                <pattern>
                    <token postag="CD">
                        <exception regexp="yes">one|1</exception>
                    </token>
                    <token>seconde</token>
                </pattern>
                <message>Did you mean <suggestion>\1 seconds</suggestion>?</message>
                <example correction="2 seconds">It only took <marker>2 seconde</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" spacebefore="yes">one|1</token>
                    <token>seconde</token>
                </pattern>
                <message>Did you mean <suggestion>\1 second</suggestion>?</message>
                <example correction="1 second">It only took <marker>1 seconde</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="LET_ME_TROUGH" name="Let me trough (through)!">
            <antipattern>
                <token>though</token>
                <token postag="PCT">
                    <exception>!</exception>
                </token>
            </antipattern>
            <pattern>
                <token inflected="yes">let</token>
                <token regexp="yes">him|us|'s|me|her|them|it|you</token>
                <marker>
                    <token regexp="yes">trough|though</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>through</suggestion>?</message>
            <example correction="through">Please let me <marker>trough</marker>.</example>
            <example>The doctor won't let you though.</example>
        </rule>
        <rulegroup id="HER_HERE" name="her vs here">
            <antipattern>
                <token case_sensitive="yes">HER</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">me|him|all|(every|any)(one|body)</token>
                    <token regexp="yes">and|&amp;|or|but</token>
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes">and|&amp;|or</token>
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token>her</token>
                    <token regexp="yes">s?he|they</token>
                    <token inflected="yes">say</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>her</token>
                    </marker>
                    <token regexp="yes">you|they|we|s?he|it|I</token>
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <token postag="MD|VB.*" chunk_re=".-VP" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>here</suggestion>?</message>
                <example correction="Here"><marker>Her</marker> you can see the full text.</example>
                <example correction="Here"><marker>Her</marker> you go!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" />
                        <exception regexp="yes">and|&amp;|or</exception>
                    </token>
                    <marker>
                        <token>her</token>
                    </marker>
                    <token regexp="yes">is|was|has|had|would|could|must|goes</token>
                </pattern>
                <message>Did you mean <suggestion>here</suggestion>?</message>
                <example correction="Here"><marker>Her</marker> is the full text.</example>
                <example>But, her will was invalidated by Parlement in 1274.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GOO_GOOD" name="goo vs good">
            <antipattern><!-- Goo Goo Dolls -->
                <token>goo</token>
                <token regexp="yes">goo|lagoon|sludge</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="JJ" />
                    <token regexp="yes">looking|feeling</token>
                    <token>goo</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">sound|feel|speak|seem|look|be|very|really|pretty|not|too</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>goo</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>good</suggestion>?</message>
                <example correction="good">That sounds <marker>goo</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>goo</token>
                    </marker>
                    <token regexp="yes">enough|news</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>good</suggestion>?</message>
                <example correction="good">It won't be <marker>goo</marker> enough!</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <marker>
                        <token>goo</token>
                    </marker>
                    <token>as</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>good</suggestion>?</message>
                <example correction="good">He's as <marker>goo</marker> as dead!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>goo</token>
                    <token>gone</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token chunk_re="[BI]-NP.*" case_sensitive="yes">goo</token>
                    </marker>
                    <token chunk_re="[EI]-NP.*" postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adjective <suggestion>good</suggestion>?</message>
                <example correction="good">That's a very <marker>goo</marker> alternative!</example>
            </rule>
        </rulegroup>
        <rule id="MEAN_MEANT" name="mean vs meant">
            <pattern>
                <token inflected="yes">
                    be
                    <exception regexp="yes">be|being</exception>
                </token>
                <token postag="RB" min="0" />
                <marker>
                    <token>mean</token>
                </marker>
                <token>to</token>
                <token postag="RB.*" postag_regexp="yes" min="0" />
                <token>be</token>
            </pattern>
            <message>Did you mean <suggestion>meant</suggestion>?</message>
            <example correction="meant">Some texts are not <marker>mean</marker> to be stored forever.</example>
        </rule>
        <rulegroup id="SAID_SAD" name="said vs sad">
            <rule>
                <pattern>
                    <token>very</token>
                    <marker>
                        <token>said</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>sad</suggestion>?</message>
                <example correction="sad">He is very <marker>said</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">s?he|you|they|we|it|I|(some|any|every|no)(body|one)</token>
                    <token postag="RB" min="0" />
                    <token>sad</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token inflected="yes">not</token>
                    <token regexp="yes">s?he|you|they|we|it|I|(some|any|every|no)(body|one)</token>
                    <token postag="RB" min="0" />
                    <token>sad</token>
                </antipattern>
                <antipattern>
                    <token>sad</token>
                    <token>about</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">(some|any|every|no)(body|one)|it|you</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <token>sad</token>
                    <token regexp="yes" inflected="yes">news|mood|story</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0" />
                    <token>sad</token>
                    <token postag="NN:UN?|NNP?S" postag_regexp="yes">
                        <exception postag="RB" /><!-- still match "what you have sad yesterday" -->
                    </token>
                </antipattern>
                <antipattern>
                    <token>sad</token>
                    <token>to</token>
                    <token regexp="yes">see|hear|say</token>
                </antipattern>
                <antipattern>
                    <token>it</token>
                    <token regexp="yes">so|very|quite|really</token>
                    <token>sad</token>
                </antipattern>
                <antipattern>
                    <token>why</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token min="0" regexp="yes">so|very</token>
                    <token>sad</token>
                </antipattern>
                <antipattern>
                    <token>sad</token>
                    <token regexp="yes">faces?|news|moments?|stor(y|ies)|songs?</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[Hh]ave|[Hh]ad|[Hh]as</token>
                    <token>SAD</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|you|they|we|it|I|(some|any|every|no)(body|one)</token>
                    <token min="0" inflected="yes">have</token>
                    <token min="0" postag="RB">
                        <exception postag="IN" />
                    </token>
                    <marker><token>sad</token></marker>
                </pattern>
                <message>Did you mean the verb <suggestion>said</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/said</url>
                <example correction="said">She <marker>sad</marker> that she was tired.</example>
                <example correction="said">This is exactly what you have <marker>sad</marker> yesterday.</example>
                <example correction="said">I hope you <marker>sad</marker> nothing bad about me!</example>
                <example>Are you sad?</example>
                <example>Are he sad about that?</example>
                <example>He brought us sad news.</example>
                <example>One sad song</example>
                <example>Isn't it sad?</example>
                <example>I hope for a good day, had a tough day today, I am with good company, why am I so sad?</example>
                <example>Incorrect grammar: Why you sad baby?</example>
                <example>Incorrect grammar: It so sad to see.</example>
            </rule>
        </rulegroup>
        <rule id="HEARS_YEARS" name="hears vs years">
            <pattern>
                <token postag="CD">
                    <exception regexp="yes">one|1</exception>
                </token>
                <marker>
                    <token>hears</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>years</suggestion>?</message>
            <example correction="years">I was only 12 <marker>hears</marker> old when it happened.</example>
            <example>It's the sound one hears when the train passes by.</example>
        </rule>
        <rulegroup id="OTHER_OTHERS" name="other vs others">
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes">
                        <exception regexp="yes">all|many|few</exception>
                    </token>
                    <token>other</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-NP.*">that</token>
                    <token>other</token>
                </antipattern>
                <antipattern><!-- what other can you recommend? -->
                    <token postag="W.*" postag_regexp="yes" />
                    <token>other</token>
                    <token inflected="yes" regexp="yes">do|will|can|have|be|must|should</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- what other can your father recommend? -->
                    <token postag="W.*" postag_regexp="yes" />
                    <token>other</token>
                    <token inflected="yes" regexp="yes">do|will|can|have|be|must|should</token>
                    <token chunk_re="B-NP.*" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- what other need to be handled? -->
                    <token postag="W.*" postag_regexp="yes" />
                    <token>other</token>
                    <token inflected="yes" regexp="yes">do|will|can|have|be|must|should|need</token>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">couple|lot</token>
                    <token>of</token>
                    <token>other</token>
                    <token />
                    <token chunk_re=".-NP-plural" />
                </antipattern>
                <antipattern>
                    <token postag="DT|PRP\$|W.*" postag_regexp="yes">
                        <exception regexp="yes">all|many|few</exception>
                    </token>
                    <token postag="JJ" />
                    <token>other</token>
                </antipattern>
                <antipattern>
                    <token>other</token>
                    <token postag="RB" min="0" />
                    <token>was</token>
                </antipattern>
                <antipattern>
                    <token>one</token>
                    <token postag="JJ" min="0" />
                    <token>other</token>
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token regexp="yes">&quote;|&apostrophe;</token>
                    <token spacebefore="no">other</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- Other supported NAS devices are the Buffalo Kurobox Pro -->
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>other</token>
                    <token postag="VBD" />
                    <token chunk_re="B-NP-.*" />
                    <token chunk_re="I-NP-.*" min="0" />
                    <token chunk_re="E-NP-.*" />
                    <token inflected="yes" regexp="yes">make|be|do|have|will|can|should|must</token>
                </antipattern>
                <antipattern>
                    <token>other</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">&hyphen_modifier;|noted|charged</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP-plural" />
                </antipattern>
                <antipattern><!-- to other mounted file systems -->
                    <token postag="IN|VB.*" postag_regexp="yes" chunk_re=".-VP|.-PP" />
                    <token>other</token>
                    <token postag="RB" min="0" />
                    <token postag="VBD" />
                    <token chunk_re=".-NP-plural" postag="NNS" />
                </antipattern>
                <antipattern>
                    <token>other</token>
                    <token postag="JJ" />
                    <token chunk_re=".-NP-plural" />
                </antipattern>
                <antipattern><!-- We also received two other completed CA's tonight. -->
                    <token>other</token>
                    <token postag="VBD" />
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" chunk_re=".-NP.*" />
                    <token>'s</token>
                </antipattern>
                <antipattern><!-- advice vs advise -->
                    <token>other</token>
                    <token>advise</token>
                </antipattern>
                <antipattern><!-- Nor one nor t'other had slept a wink! -->
                    <token>t</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>other</token>
                </antipattern>
                <antipattern>
                    <token>significant</token>
                    <token>other</token>
                </antipattern>
                <antipattern><!-- By default, your user profile is viewable by other logged in users. -->
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token postag="DT" min="0" />
                    <token>other</token>
                    <token postag="VBD" />
                    <token postag="IN" />
                    <token postag="NNP?S" postag_regexp="yes" chunk_re="E-NP-plural" />
                </antipattern>
                <antipattern><!-- A lot of other frequently asked questions -->
                    <token>other</token>
                    <token postag="RB" />
                    <token postag="VB[DN]|JJR?" postag_regexp="yes" chunk_re="I-NP-.*" />
                    <token chunk_re="[EI]-NP-.*" />
                </antipattern>
                <antipattern><!-- What other thank you note did you get? -->
                    <token>what</token>
                    <token>other</token>
                    <token>thank</token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">an?|one</token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" />
                    <token>/</token>
                    <token>other</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>other</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="NN.*|EX|IN" postag_regexp="yes" />
                    </token>
                    <token postag="VB[PD]?|MD" postag_regexp="yes" chunk_re=".-VP">
                        <exception>people</exception>
                    </token>
                </pattern>
                <message>It seems that the plural noun <suggestion>others</suggestion> fits better in this context.</message>
                <example correction="others">I will check if this is a problem <marker>other</marker> also have.</example>
                <example correction="Others"><marker>Other</marker> might benefit from it.</example>
                <example correction="Others"><marker>Other</marker> were successful with CoRE.</example>
                <example correction="others">I heard Gov. Perry and <marker>other</marker> have rejected her, but Dealy keeps pushing.</example>
                <example correction="others">Please let me know the way to broadcast this so <marker>other</marker> know this idea has been put up</example>
                <example correction="others">One is work as NGINX and <marker>other</marker> run the PHP.</example>
                <example correction="others">It called out that some jobs were local, in-memory jobs and <marker>other</marker> were clustered, persisted jobs.</example>
                <example correction="others">I'm curious to know what <marker>other</marker> think about me.</example>
                <example>My significant other has 3 nipples.</example>
                <example>What other do you recommend?</example>
                <example>Why would ‘other stuff going on on my machine’ interfere with NextCloud.</example>
                <example>Other supported NAS devices are the Buffalo Kurobox Pro, GLAN Tank, Thecus N2100 and QNAP Turbo Stations.</example>
                <example>ANEEL is backed by the Ministry of Energy and by other Federally owned generations, who have many votes in the MAE.</example>
                <example>Other noted Corsair pilots of the period included VMF-124's Kenneth Walsh, James E. Swett, and Archie Donahue, VMF-215's Robert M. Hanson and Don Aldrich, and VF-17's Tommy Blackburn, Roger Hedrick, and Ira Kepford.</example>
                <example>Due to the similarity between early Avestan and Sanskrit (and other related early Indo-European languages such as Latin and Ancient Greek)</example>
                <example>There are a couple of other retrofit wifi solutions.</example>
                <example>We also received two other completed CA's tonight.</example>
                <example>They have a characteristic immunoglobulin fold in which two beta sheets create a "sandwich" shape, held together by interactions between conserved cysteines and other charged amino acids.</example>
                <example>Nor one nor t'other had slept a wink!</example>
                <example>This further understanding caused Tax to push further to gather other advise from outside counsel operating in the Tokyo market.</example>
                <example>There are a lot of other frequently asked questions.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes" regexp="yes" skip="3">change|set</token>
                    <token>name</token>
                    <token>to</token>
                    <token>other</token>
                </antipattern>
                <pattern>
                    <token postag="IN|TO" postag_regexp="yes" />
                    <marker>
                        <token>other</token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>It seems that a plural noun fits better in this context, or did you forget an article?</message>
                <suggestion>others</suggestion>
                <suggestion>the \2</suggestion>
                <example correction="others|the other">I have no relationship with <marker>other</marker>.</example>
                <example>Put this in the TBG line and change the line name to Other.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>other</token>
                    <token regexp="yes">than|(out|in)side</token>
                </antipattern>
                <antipattern>
                    <token>other</token>
                    <token>mid</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[a-z].*</token>
                    <token>Other</token>
                    <token regexp="yes">[a-z].*</token>
                </antipattern>
                <pattern>
                    <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
                    <token postag="IN|TO" postag_regexp="yes" min="0" />
                    <marker>
                        <token>other</token>
                    </marker>
                    <token postag="IN|TO" postag_regexp="yes" />
                </pattern>
                <message>It seems that a plural noun fits better in this context, or did you forget an article?</message>
                <suggestion>others</suggestion>
                <suggestion>the \3</suggestion>
                <example correction="others|the other">I have told <marker>other</marker> about this great idea.</example>
                <example correction="others|the other">I’m sure the solution here will help <marker>other</marker> in the future — thanks!</example>
                <example correction="others|the other">and some other tools that can be used by <marker>other</marker> via sockets?</example>
                <example>This catch up will help me manage other outside relationships.</example>
                <example>Cellos were derived from other mid- to large-sized bowed instruments in the 16th century, such as the viola da gamba, and the generally smaller and squarer viola da braccio, and such instruments made by members of the Amati family of luthiers.</example>
                <example>We should avoid using Other as an option.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COOPERATE_CORPORATE" name="cooperate vs corporate">
            <rule>
                <pattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <marker>
                        <token>cooperate</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="DT|IN|PRP.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "cooperate" is a verb. Did you mean the adjective <suggestion>corporate</suggestion>?</message>
                <example correction="corporate">Please have a look at our <marker>cooperate</marker> website.</example>
                <example>The CEO's unwillingness to cooperate put us in a difficult position.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WITHDRAWAL_WITHDRAW" name="withdrawal vs withdraw">
            <rule>
                <antipattern><!-- Can withdrawal papers be wrong? -->
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <token postag="MD" />
                    <token>withdrawal</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>withdrawal</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>withdraw</suggestion>?</message>
                <example correction="withdraw">I will <marker>withdrawal</marker> some money from my bank account.</example>
                <example>Can withdrawal papers be wrong?</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">try|have|need|hate|love|like|want</token>
                    <token>to</token>
                    <marker>
                        <token>withdrawal</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>withdraw</suggestion>?</message>
                <example correction="withdraw">I want to <marker>withdrawal</marker> some money from my bank account.</example>
                <example>Can withdrawal papers be wrong?</example>
            </rule>
        </rulegroup>
        <rulegroup id="WARE_WEAR" name="ware vs wear">
            <rule>
                <antipattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <token postag="MD" />
                    <token>ware</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ware</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>wear</suggestion>?</message>
                <example correction="wear">I will <marker>ware</marker> a mask.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token>you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">you|they|we</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ware</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>were</suggestion> or <suggestion><match no="3" regexp_match="(?i)are" regexp_replace="ear" /></suggestion>?</message>
                <example correction="were|wear">They <marker>ware</marker> my sunglasses at night.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">wares?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)are" regexp_replace="ear" /></suggestion>?</message>
                <example correction="wear">I <marker>ware</marker> my sunglasses at night.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">try|have|need|hate|love|like|want</token>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ware</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>wear</suggestion>?</message>
                <example correction="wear">I have to <marker>ware</marker> a mask.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">wares?</token>
                    </marker>
                    <token postag="DT|PRP\$|NN.*|JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*|JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">masks?|(sweat|t-?)?shirts?|trousers?|hats?|(hot)?pants|jens|shoes?|heels?|hoodies?|jackets?|socks?|shorts?|pullovers?|(sun)?glasses?|dress(es)?|uniforms?|caps?|suits?</token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="1" regexp_match="(?i)are" regexp_replace="ear" /></suggestion>?</message>
                <example correction="wear">I will <marker>ware</marker> a black dress.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AD_AS" name="ad vs as">
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ" min="0" />
                <token>ad</token>
            </antipattern>
            <rule>
                <pattern>

                    <marker>
                        <token>ad</token>
                    </marker>
                    <token regexp="yes">well|long|soon|good|fast|quick(ly)?</token>
                    <token>as</token>
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">He will take care <marker>ad</marker> soon as possible.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ad</token>
                    </marker>
                    <token>well</token>
                    <token postag="PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">I can take care <marker>ad</marker> well.</example>
            </rule>
        </rulegroup>
        <rule id="GENERA_GENERAL" name="genera vs general">
            <pattern>
                <token regexp="yes">an?|another|one</token>
                <marker>
                    <token chunk_re="I-NP.*">genera</token>
                </marker>
            </pattern>
            <message>"genera" is the plural noun for "genus". Did you mean the adjective <suggestion>general</suggestion>?</message>
            <example correction="general">It is a <marker>genera</marker> solution.</example>
        </rule>
        <rulegroup id="LIFE_LIVE" name="I life (live)">
            <short>Possible word confusion</short>
            <rule>
                <antipattern>
                    <token>type</token>
                    <token>I</token>
                    <token>life</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                    <token>life</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>i|we|they|s?he</token>
                    <marker><token regexp="yes">lifes?</token></marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="2" regexp_match="(?)ife" regexp_replace="ive" /></suggestion>?</message>
                <example correction="live">I <marker>life</marker> in Moscow.</example>
                <example correction="live">We have to respect the laws of the land we <marker>life</marker> in.</example>
                <example>Troopers are trained to use Type I life jackets on handcuffed subjects.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <token inflected="yes" regexp="yes">will|should|can|might|must|shall|may|do</token>
                    <token>life</token>
                </antipattern>
                <antipattern><!-- What will life on earth look like? -->
                    <token regexp="yes" postag="W.*" postag_regexp="yes">[hw].+</token>
                    <token inflected="yes" regexp="yes">will|should|can|might|must|shall|may|do</token>
                </antipattern>
                <antipattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <token inflected="yes" regexp="yes">
                        will|should|can|might|must|shall|may|do
                        <exception regexp="yes">do(es)?|doing</exception>
                    </token>
                    <token regexp="yes">&apostrophe;</token>
                    <token postag="RB" />
                    <token>life</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">will|should|can|might|must|shall|may|do</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">live|there</exception>
                    </token>
                    <marker>
                        <token>life</token>
                    </marker>
                    <token postag="IN|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>live</suggestion>?</message>
                <example correction="live">I will <marker>life</marker> to the fullest!</example>
                <example>Did life on Earth start on Mars?</example>
                <example>What will life on earth look like?</example>
                <example>But part of being in community and doing life with people means you will be vulnerable and they will see more parts of you.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token>lot</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">want|have|try|suggest|allow|need|love|like|hate</token>
                    <token>to</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">live|there</exception>
                    </token>
                    <marker>
                        <token>life</token>
                    </marker>
                    <token postag="IN|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>live</suggestion>?</message>
                <example correction="live">I want to <marker>life</marker> to the fullest!</example>
                <example>Returnees have trouble getting used to life in Japan.</example>
                <example>We all need to live life to the fullest.</example>
            </rule>
        </rulegroup>
        <rule id="ROLE_ROLL" name="roll vs role">
            <antipattern>
                <token postag="DT|PRP\$|JJ.*" postag_regexp="yes" />
                <token postag="JJ.*|NN(:UN?)?" postag_regexp="yes" min="0" />
                <token regexp="yes">roles?</token>
            </antipattern>
            <antipattern>
                <token postag="NNS" />
                <token regexp="yes">and|or|&amp;</token>
                <token>roles</token>
            </antipattern>
            <antipattern>
                <token>other</token>
                <token>roles</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="5">prefer</token>
                <token>over</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes">roles?</token>
                </marker>
                <token regexp="yes" min="0">it|that|this|them</token>
                <token regexp="yes">a?round|back|over|up|down</token>
            </pattern>
            <message>Did you mean the verb <suggestion><match no="1" regexp_match="(?i)e" regexp_replace="l" /></suggestion>?</message>
            <example correction="roll">If the software update is not working, I can <marker>role</marker> it back if you want.</example>
        </rule>
        <rulegroup id="TREAD_TREAT" name="tread vs treat">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">treads?</token>
                    </marker>
                    <token regexp="yes">(your|one|him|her|my)self|(them|our|your)selves</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)ead" regexp_replace="eat" /></suggestion> (= deal with sth. in a certain way)?</message>
                <example correction="Treat"><marker>Tread</marker> yourself!</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">treads?</token>
                    </marker>
                    <token regexp="yes">them|us|it|him|her|you</token>
                    <token regexp="yes">with|as|right|respectfully|brutally|badly|kindly|nicely|like|well|bad|good|differently</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)ead" regexp_replace="eat" /></suggestion> (= deal with sth. in a certain way)?</message>
                <example correction="treats">He <marker>treads</marker> us with respect!</example>
            </rule>
        </rulegroup>
        <rule id="CONFUSION_OF_YET_ALONE_LET_ALONE" name="confusion of yet alone → let alone">
            <!-- Almost all 645 sentences on iWeb are mistakes: https://www.english-corpora.org/iweb/?c=iweb&q=95399781 -->
            <antipattern>
                <token>alone</token>
                <token>in</token>
                <token postag_regexp="yes" postag="DT|PRP$" />
                <token min="0" chunk_re="I-NP-.*" />
                <token>room</token>
            </antipattern>
            <pattern>
                <token>yet
                    <exception scope="previous">not</exception>
                </token>
                <token>alone</token>
            </pattern>
            <!-- <url>https://english.stackexchange.com/questions/368928/what-does-the-phrase-yet-alone-mean</url> -->
            <message>Did you mean <suggestion>let alone</suggestion>?</message>
            <example correction="let alone">I've never even heard of, <marker>yet alone</marker> tried.</example>
            <example correction="let alone">you wouldn't be able to lift it <marker>yet alone</marker> swing it so i cant complain</example>
            <example correction="let alone">but I have no idea what I want to eat right now, <marker>yet alone</marker> next week.</example>
            <example correction="let alone">I've never even heard of, <marker>yet alone</marker> tried.</example>
            <example correction="let alone">Why have a sword created that no one can use.... <marker>yet alone</marker> get past the barriers that protect it, to properly wield it? </example>
            <example correction="let alone">is difficult to define the boundaries of a hit, in one country, <marker>yet alone</marker> worldwide.</example>
            <example correction="let alone">The feds even knowing that I exist, <marker>yet alone</marker> my firearm purchases.</example>
            <example correction="let alone">the digital advertising ecosystem is still debating standards for online (<marker>yet alone</marker> mobile)</example>
            <example correction="let alone">is to underline the crisis in today's church, <marker>yet alone</marker> tomorrow's</example>
            <example correction="let alone">99% of people have never heard of PIE, <marker>yet alone</marker> of the laryngeal theory</example>
            <example correction="Let alone"><marker>Yet alone</marker> for there to be 20 different winning teams in 35 years.</example>
            <example>Yet alone in her hotel room the next day, 800 miles from her Colorado Springs home</example>
            <example>You realize you are not yet alone with your mother</example>
            <example>In fact, she smiled, she was not yet alone anymore.</example>
        </rule>
        <rulegroup id="TENT_TEND" name="tent vs tend">
            <rule>
                <pattern>
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">tents?</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)ent" regexp_replace="end" /></suggestion>?</message>
                <example correction="tend">I <marker>tent</marker> to agree with you.</example>
                <example correction="tend">A simple line break does not necessarily mean that the sentence ended, people <marker>tent</marker> to use line breaks to format sentences.</example>
                <example>He left the tent to resume the march at 9 pm.</example>
                <example>We will buy a camping tent to prepare for the cold weather.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">do|will|be</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">tent|tenting</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="(?i)ent" regexp_replace="end" /></suggestion>?</message>
                <example correction="tend">I would <marker>tent</marker> to agree with you.</example>
            </rule>
        </rulegroup>
        <rulegroup id="EVERY_EVER" name="ever vs every">
            <antipattern>
                <token postag="JJS|ORD" postag_regexp="yes" />
                <token>ever</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">1st|first|second|third|last|final</token>
                <token>ever</token>
            </antipattern>
            <antipattern><!-- different error -->
                <token regexp="yes">what|which|how|where|who|when|why</token>
                <token>ever</token>
            </antipattern>
            <antipattern>
                <token>never</token>
                <token min="0">,</token>
                <token>ever</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Whatever_and_Ever_Amen -->
                <token>whatever</token>
                <token regexp="yes">and|&amp;</token>
                <token>ever</token>
                <token>amen</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">do|be|have|will|can|should</token>
                    <token regexp="yes">that|this|any|th[oe]se|we|they|you|I|s?he|it|(any|some|every)(one|body|thing)</token>
                    <marker>
                        <token>every</token>
                    </marker>
                    <token postag="VB[DPN]?" postag_regexp="yes" skip="10">
                        <exception regexp="yes">&uncommon_verbs;|time</exception>
                    </token>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Did you mean <suggestion>ever</suggestion>?</message>
                <example correction="ever">Has this <marker>every</marker> worked?</example>
                <example>Why is this every time we say goodbye?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token regexp="yes">day|time|thing|month|week|year|night|week-?end|century|moment</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">I do this <marker>ever</marker> day.</example>
                <example>This was my first ever time using the belt and it felt great.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>every</token>
                    <token>now</token>
                    <token>and</token>
                    <token>then</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">every?</token>
                    <token regexp="yes">k?now</token>
                    <token regexp="yes">and?|ad</token>
                    <token regexp="yes">th[ea]n</token>
                </pattern>
                <message>Did you mean <suggestion>every now and then</suggestion>?</message>
                <example correction="every now and then">I used to see her <marker>ever now and than</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="JJ" />
                    <token>as</token>
                    <token>ever</token>
                    <token postag="NN" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token>best</token>
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" />
                    <token>ever</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <marker><token>ever</token></marker>
                    <token postag="NN"><exception negate_pos="yes" postag="NN"/></token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">Then, <marker>ever</marker> girl received an apple.</example>
                <example>Ircon also paid its highest ever dividend of 225 per cent this year to the government.</example>
                <example>Flawless as ever babe!</example><!-- Missing comma -->
                <example>Best pizza ever mom!</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token>once</token>
                    <token>in</token>
                    <token>a</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="Every"><marker>Ever</marker> once in a while it happens.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT">
                        <exception>that</exception>
                    </token>
                    <token>ever</token>
                </antipattern>
                <pattern>
                    <token postag="CC|SENT_START|PCT|DT" postag_regexp="yes" />
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token chunk_re="[BI]-NP.*" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NNP?|NN:UN?" postag_regexp="yes">
                        <exception regexp="yes">(any|some|every)(one|thing|way|body)</exception>
                    </token>
                    <token regexp="yes">of|on|in|from</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="Every"><marker>Ever</marker> member of the team was there.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT">
                        <exception>that</exception>
                    </token>
                    <token>ever</token>
                </antipattern>
                <pattern>
                    <token postag="CC|SENT_START|PCT|DT" postag_regexp="yes" />
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token chunk_re="[BI]-NP.*" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NNP?|NN:UN" postag_regexp="yes">
                        <exception regexp="yes">(any|some)(one|thing|way|body)</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="Every"><marker>Ever</marker> member is happy.</example>
                <example correction="every">I think that <marker>ever</marker> member is happy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">think|hope|doubt|believe|assume</token>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token chunk_re="[BI]-NP.*" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NNP?|NN:UN" postag_regexp="yes">
                        <exception regexp="yes">(any|some)(one|thing|way|body)</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB[DZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">I think <marker>ever</marker> user is happy now.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="NNS" />
                    <token regexp="yes">later|earlier|ago</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token postag="CD" />
                    <token regexp="yes">(milli)?seconds|minutes|hours|days|weeks|months|years|(kilo|centi|deci)(meters|metres)|km|cm|miles</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">We should do this <marker>ever</marker> 2 weeks.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="NNS" />
                    <token regexp="yes">later|earlier|ago</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes" spacebefore="no">[,.]</token>
                    <token regexp="yes" spacebefore="no">\d+</token>
                    <token regexp="yes">(milli)?seconds|minutes|hours|days|weeks|months|years|(kilo|centi|deci)(meters|metres)|km|cm|miles</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">This happens approx. <marker>ever</marker> 2.5 hours.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token regexp="yes">first|second|third|fourth|fifth|\d+(nd|rd|st|th)</token>
                    <token>of</token>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">The meeting will happen <marker>ever</marker> second of the month.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token regexp="yes">first|second|third|fourth|fifth|\d+(nd|rd|st|th)</token>
                    <token>of</token>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">The event will be held <marker>ever</marker> 2nd of June.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token regexp="yes">first|second|third|fourth|fifth|\d+(nd|rd|st|th)</token>
                    <token regexp="yes">&weekdays;|&abbrevWeekdays;|week-?end|thanksgiving|christmas</token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">The meeting will happen <marker>ever</marker> second Tuesday.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token>first</token>
                    <token chunk_re="I-NP-singular" min="0" />
                    <token chunk_re="E-NP-singular" />
                    <token>ever</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>ever</token>
                    </marker>
                    <token regexp="yes">
                        &weekdays;|&abbrevWeekdays;|week-?end
                        <exception regexp="yes">we|sat</exception>
                        <exception case_sensitive="yes">sun</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>every</suggestion>?</message>
                <example correction="every">The meeting will happen <marker>ever</marker> Tuesday.</example>
                <example>Have you ever sat in a helicopter?</example>
                <example>Las Vegas suffered its first rolling blackout ever Monday as soaring temperatures and churning air conditioners outstripped the local utility's ability to provide electricity.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJS" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes" min="0">who|that|which</token>
                    <marker>
                        <token>every</token>
                    </marker>
                    <token postag="VBN" />
                </pattern>
                <message>Did you mean <suggestion>ever</suggestion>?</message>
                <example correction="ever">This is one of the greatest jokes <marker>every</marker> told.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJS" />
                    <token regexp="yes" min="0">who|that|which</token>
                    <marker>
                        <token>every</token>
                    </marker>
                    <token postag="VBN" />
                </pattern>
                <message>Did you mean <suggestion>ever</suggestion>?</message>
                <example correction="ever">He is one of the greatest <marker>every</marker> lived.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|have</token>
                    <marker>
                        <token>every</token>
                    </marker>
                    <token postag="VBN" />
                    <token postag="RB" min="0" />
                    <token postag="PCT|IN|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>ever</suggestion>?</message>
                <example correction="ever">He is the greatest who has <marker>every</marker> lived.</example>
            </rule>
        </rulegroup>

        <rulegroup id="TREE_THREE" name="tree (three)">
            <rule>
                <pattern>
                    <marker><token>tree</token></marker>
                    <token regexp="yes">centuries|years|months|weeks|days|nights|decades|hours|minutes|seconds|times|(wo)?men|points|children|people|goals|seasons|others|players|sons</token>
                </pattern>
                <message>Did you mean <suggestion>three</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="three">I've lived in Barcelona for <marker>tree</marker> years.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THREAT_THREATEN" name="threat vs threaten">
            <rule>
                <antipattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <token postag="MD" />
                    <token>threat</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>threat</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. Did you mean the verb <suggestion>threaten</suggestion> (= to utter threats) or the verb <suggestion>treat</suggestion> (= behave towards or deal with in a certain way)?</message>
                <example correction="threaten|treat">I will <marker>threat</marker> them right.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">you|it|(some|any|every)(body|thing|one)</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|you|they|we|I|(some|any|every)(body|thing|one)</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">threats?</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb <suggestion><match no="3" regexp_match="(?i)hreat" regexp_replace="hreaten" /></suggestion> (= to utter threats) or the verb <suggestion><match no="3" regexp_match="(?i)h" regexp_replace="" /></suggestion> (= behave towards or deal with in a certain way)?</message>
                <example correction="threatens|treats">He <marker>threats</marker> me right.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">have|use|allow|suggest|try|want|need|love|hate|like|hope|deserve|doubt</token>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>threat</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. Did you mean the verb <suggestion>threaten</suggestion> (= to utter threats) or the verb <suggestion>treat</suggestion> (= behave towards or deal with in a certain way)?</message>
                <example correction="threaten|treat">He wants to <marker>threat</marker> me right.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WITHER_EITHER" name="wither vs either">
            <antipattern>
                <token postag="TO|MD" postag_regexp="yes" />
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" min="0" />
                <token>wither</token>
                <token>
                    <exception postag="VB" />
                </token>
            </antipattern>
            <antipattern>
                <token regexp="yes">they|I|we|you</token>
                <token postag="RB" min="0" />
                <token>wither</token>
                <token>
                    <exception postag="VB" />
                </token>
            </antipattern>
            <antipattern>
                <token inflected="yes">do</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" min="0" />
                <token>wither</token>
                <token>
                    <exception postag="VB" />
                </token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token skip="8">
                            wither
                            <exception scope="next" regexp="yes">,|either</exception>
                        </token>
                    </marker>
                    <token>or</token>
                </pattern>
                <message>Did you mean <suggestion>either</suggestion>?</message>
                <example correction="Either"><marker>Wither</marker> I accompany you to your room or I wait here.</example>
            </rule>
        </rulegroup>
        <rule id="BIS_BUS" name="bis vs bus">
            <antipattern>
                <token skip="-1" regexp="yes" inflected="yes">stretch|pump|train</token>
                <token>bis</token>
            </antipattern>
            <antipattern>
                <token skip="-1">bis</token>
                <token regexp="yes" inflected="yes">stretch|pump|train</token>
            </antipattern>
            <antipattern>
                <token>bis</token>
                <token>sextum</token>
            </antipattern>
            <antipattern>
                <token skip="-1">bis</token>
                <token>tris</token>
            </antipattern>
            <antipattern>
                <token skip="-1">tris</token>
                <token>bis</token>
            </antipattern>
            <pattern>
                <token postag="PRP\$|DT" postag_regexp="yes">
                    <exception regexp="yes">all|th[eo]se|many|some</exception>
                </token>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Bb]is</token>
                </marker>
                <token postag="IN|PCT|CC|MD|VBZ" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the noun <suggestion>bus</suggestion>?</message>
            <example correction="bus">I will take the <marker>bis</marker> to the central station.</example>
        </rule>
        <rule id="MANNER_MATTER" name="manner vs matter">
            <pattern>
                <token>in</token>
                <token min="0">such</token>
                <token regexp="yes">an?</token>
                <token regexp="yes" min="0">very|really|pretty|quite|rather</token>
                <token postag="JJ.*" postag_regexp="yes">
                    <exception regexp="yes">(un)?related|separate|prime|criminal|legal</exception>
                </token>
                <marker>
                    <token chunk_re="E-NP.*">matter</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>manner</suggestion> (= in a way)?</message>
            <example correction="manner">He did it in a lovely <marker>matter</marker>.</example>
            <example correction="manner">Why have I not received a response to my question in a timely <marker>matter</marker>.</example>
            <example>In a related matter, the commission also may halt the 10 percent surcharge.</example>
        </rule>
        <rulegroup id="BET_BEST" name="bet vs best">
            <rule>
                <antipattern>
                    <token postag="PRP|MD|TO" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token>bet</token>
                </antipattern>
                <pattern>
                    <token>bet</token>
                    <token regexp="yes">regards|wishes</token>
                </pattern>
                <message>Did you mean <suggestion>best \2</suggestion>?</message>
                <example correction="Best wishes"><marker>Bet wishes</marker>, Carl.</example>
            </rule>
            <rule>
                <pattern>
                    <token>all</token>
                    <token>the</token>
                    <marker>
                        <token postag="SENT_END">bet</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>best</suggestion>?</message>
                <example correction="best">All the <marker>bet</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token>all</token>
                    <token>the</token>
                    <marker>
                        <token>bet</token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>Did you mean <suggestion>best</suggestion>?</message>
                <example correction="best">All the <marker>bet</marker>, Carl</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="2">wish</token>
                    <token>the</token>
                    <marker>
                        <token>bet</token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>Did you mean <suggestion>best</suggestion>?</message>
                <example correction="best">I wish you the <marker>bet</marker>, Carl</example>
            </rule>
        </rulegroup>
        <rulegroup id="EKE_EEK" name="eek vs eke">
            <url>https://www.merriam-webster.com/dictionary/eke</url>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">eeks?</token>
                    </marker>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" min="0" />
                    <token>out</token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="1" regexp_match="ek" regexp_replace="ke" /></suggestion>?</message>
                <example correction="ekes">He <marker>eeks</marker> out a living.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">eek(ed|ing)</token>
                    </marker>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" min="0" />
                    <token>out</token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="1" regexp_match="ek" regexp_replace="k" /></suggestion>?</message>
                <example correction="eked">They <marker>eeked</marker> out a living.</example>
            </rule>
        </rulegroup>
        <rule id="NIT_NOT" name="nit vs not">
            <antipattern>
                <token>nit</token>
                <token inflected="yes">pick</token>
            </antipattern>
            <pattern>
                <token inflected="yes" regexp="yes">will|be|have|can|should|must|may|might</token>
                <marker>
                    <token regexp="yes">
                        nit|nat
                        <exception case_sensitive="yes" regexp="yes">Nat|NAT|NAt</exception>
                    </token>
                </marker>
                <token postag="VB.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>not</suggestion>?</message>
            <example correction="not">I could <marker>nit</marker> do it.</example>
        </rule>
        <rule id="HER_HEAR" name="her vs hear">
            <pattern>
                <token regexp="yes" inflected="yes">sorry|thankful|grateful|happy|glad|try|want|like|love|have</token>
                <token>to</token>
                <marker>
                    <token>her</token>
                </marker>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the verb <suggestion>hear</suggestion>?</message>
            <example correction="hear">I'd like to <marker>her</marker> the truth.</example>
        </rule>
        <rulegroup id="MAD_MADE" name="mad vs made">
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope</exception>
                </token>
                <token regexp="yes">you|it</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">be|have</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token>mad</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" inflected="yes">be|have</token>
                <token>n't</token>
                <token postag="PRP" />
                <token postag="RB" min="0" />
                <token>mad</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">you|s?he</token>
                <token>mad</token>
                <token>?</token>
            </antipattern>

            <rule>
                <pattern>
                    <token regexp="yes">I|you|they|we|s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>mad</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>made</suggestion>?</message>
                <example correction="made">I <marker>mad</marker> a cake for your birthday.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>mad</token>
                    <token>a</token>
                    <token>lot</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">have|be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>mad</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes">
                        <exception regexp="yes">that|all</exception>
                    </token>
                </pattern>
                <message>Did you mean the verb <suggestion>made</suggestion>?</message>
                <example correction="made">I have <marker>mad</marker> a cake for your birthday.</example>
                <example>He was so mad that he forgot to eat dinner.</example>
                <example>Could it be, that he was mad all along?</example>
            </rule>
        </rulegroup>
        <rule id="MANOR_MANNER" name="manor vs manner">
            <antipattern>
                <token>manor</token>
                <token regexp="yes">houses?|homes?|near(by)?</token>
            </antipattern>
            <pattern>
                <token>in</token>
                <token regexp="yes">an?</token>
                <token regexp="yes" min="0">really|very|pretty|quite</token>
                <token postag="JJR?" postag_regexp="yes" />
                <marker>
                    <token>manor</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>manner</suggestion> (= a way in which a thing is done or happens)?</message>
            <example correction="manner">He did it in a polite <marker>manor</marker>.</example>
        </rule>
        <rulegroup id="DON_DONE" name="don vs done">
            <antipattern>
                <token>don</token>
                <token regexp="yes">&apostrophe;</token>
            </antipattern>
            <antipattern>
                <token>don</token>
                <token regexp="yes" postag="UNKNOWN">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token>don</token>
                <token regexp="yes">alejandro|quixote|johnson|diego</token>
            </antipattern>
            <antipattern>
                <token postag="W.*|SENT_START|CC" postag_regexp="yes" />
                <token regexp="yes">has|had|was|is</token>
                <token skip="-1">Don</token>
                <token>?</token>
            </antipattern>
            <antipattern>
                <token skip="2" inflected="yes" regexp="yes">have|be</token>
                <token>don</token>
                <token postag="VBN" />
            </antipattern>
            <rule>
                <antipattern>
                    <token>name</token>
                    <token inflected="yes">be</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">don</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>done</suggestion> (= past participle of "do")?</message>
                <example correction="done">I'm <marker>don</marker> with this project.</example>
                <example>My name is Don Hansen.</example>
                <example>I'm don lewinski.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">
                        have|be
                        <exception>be</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0">t</token>
                    <token postag="PRP|NNP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes" skip="10">don</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Did you mean <suggestion>done</suggestion> (= past participle of "do")?</message>
                <example correction="done">Are you <marker>don</marker> with it?</example>
            </rule>
        </rulegroup>
        <rulegroup id="CURIOS_CURIOUS" name="curios vs curious">
            <url>https://www.merriam-webster.com/dictionary/curious</url>
            <antipattern>
                <token regexp="yes">any|some|th[oe]se|many|all|the</token>
                <token postag="JJ" min="0" />
                <token>curios</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>curios</token>
                    </marker>
                    <token regexp="yes">if|as|whether|why|where|when|what|who|how|about</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>curious</suggestion> (= eager to know)?</message>
                <example correction="curious">So <marker>curios</marker> if that will actually work.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|one</token>
                    <token postag="RB|JJ" postag_regexp="yes" min="0" />
                    <marker>
                        <token>curios</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>curious</suggestion> (= eager to know)?</message>
                <example correction="curious">She's a very <marker>curios</marker> person.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>curios</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>curious</suggestion> (= eager to know)?</message>
                <example correction="curious">I am so <marker>curios</marker> what I will get for Christmas!</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="NNP|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token skip="5">curios</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>curious</suggestion> (= eager to know)?</message>
                <example correction="curious">Are you <marker>curios</marker>?</example>
            </rule>
        </rulegroup>
        <rulegroup id="SEEN_SEEM" name="seen vs seem">
            <rule>
                <pattern>
                    <token regexp="yes">does|did|do</token>
                    <token regexp="yes">not|n't</token>
                    <marker>
                        <token>seen</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>seem</suggestion>?</message>
                <suggestion>seem</suggestion>
                <example correction="seem">It doesn't <marker>seen</marker> right.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD"><exception inflected="yes">have</exception></token>
                    <marker>
                        <token>seen</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>seem</suggestion>?</message>
                <suggestion>seem</suggestion>
                <example correction="seem">It may <marker>seen</marker> impossible.</example>
                <example>Tom told Mary what he'd seen on TV.</example>
            </rule>
        </rulegroup>

        <rulegroup id="THAT_THAN" name="that vs than">
            <antipattern>
                <token>one</token>
                <token postag="VBZ" />
            </antipattern>
            <antipattern>
                <token postag="JJR" />
                <token skip="10">that</token>
                <token>than</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token regexp="yes">its|your</token>
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token regexp="yes">(milli)?seconds|minutes|hours|days|weeks|months|years|decades|centuries|moments|time</token>
                <token regexp="yes">later|earlier</token>
                <token>that</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token>bummer</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">see</token>
                <token>earlier</token>
                <token>that</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJR" />
                </antipattern>
                <pattern>
                    <token postag="JJR">
                        <exception>number</exception>
                    </token>
                    <marker>
                        <token>that</token>
                    </marker>
                    <token postag="CD" />
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">It must be greater <marker>that</marker> 10 meters.</example>
                <example>The more that one coin produces results that favor heads, the more confident we can become that it is “fixed” and we aren’t having “weird luck”.</example>
                <example>Better that ten guilty persons escape than that one innocent suffer.</example>
                <example>It was then a few years later that two entrepreneurs from Chattanooga ...</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJR" />
                </antipattern>
                <pattern>
                    <token postag="JJR">
                        <exception>number</exception>
                    </token>
                    <marker>
                        <token>that</token>
                    </marker>
                    <token regexp="yes">&currency_symbols;\d+</token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">The amount is more <marker>that</marker> $10.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">more|less</token>
                    <marker>
                        <token>that</token>
                    </marker>
                    <token>a</token>
                    <token>few</token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">It takes more <marker>that</marker> a few hours.</example>
                <example>The more that one coin produces results that favor heads, the more confident we can become that it is “fixed” and we aren’t having “weird luck”.</example>
                <example>Better that ten guilty persons escape than that one innocent suffer.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="-1">
                        that
                        <exception scope="next" regexp="yes">s?he|you|I|we|they|it</exception>
                    </token>
                    <token chunk_re=".-VP" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token skip="-1">
                        that
                        <exception scope="next" regexp="yes">s?he|you|I|we|they|it</exception>
                    </token>
                    <token postag="MD" />
                </antipattern>
                <antipattern>
                    <token>that</token>
                    <token postag="VBZ" />
                    <token postag="DT|PRP\$|IN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>that</token>
                    <token postag="NN.*|DT|PRP\$|JJ.*" postag_regexp="yes" chunk_re=".-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" />
                    <token postag="VBZ" />
                    <token postag="DT|PRP\$|IN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>likely</token>
                    <token skip="-1">that</token>
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJR" />
                </antipattern>
                <antipattern>
                    <token skip="1">that</token>
                    <token regexp="yes">way|time|day|night|evening|morning|afternoon|week|month|year</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">more|less</token>
                    <token postag="RB|JJ.*" postag_regexp="yes">
                        <exception postag="IN" />
                        <exception>so</exception>
                    </token>
                    <marker>
                        <token>that</token>
                    </marker>
                    <token postag="NN.*|DT|PRP\$|JJ.*" postag_regexp="yes" chunk_re=".-NP.*" />
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">Alternatively, you must rank the money you receive more favorably <marker>that</marker> the merchandise you give up, otherwise why would you sell it?</example>
                <example correction="than">Some governments are more libertarian <marker>that</marker> others.</example>
                <example correction="than">Tom thinks that Korean girls are more beautiful <marker>that</marker> Japanese for the most part.</example>
                <example correction="than">The Republicans are almost certain to offer something less generous <marker>that</marker> the original Davis transmission line offer.</example>
                <example>I think it’s more likely that the weapons will be attached to kingdoms, making the hero count as that kingdom as a troop.</example>
                <example>More proof that the WiFi radio has been screwed with.</example>
                <example>It’s actually more likely that this may be an undocumented added feature that we will eventually receive access to and documentation for.</example>
                <example>More on that next Monday!</example>
                <example>And then change it to something more useful that returns the result set:</example>
                <example>It’s way more funnier that way.</example>
                <example>The latest documentation seems to call out more clearly that apps cannot access project category.</example>
                <example>More appropriate that Russia steps in as a big power as the US bows out.</example>
                <example>It’s more likely that these powerful players you’re seeing just spent a lot of time playing Gems of War.</example>
                <example>I was more frustrated that day.</example>
                <example type="triggers_error">At Tatoeba, it is more important that a translation sound natural than that it be strictly faithful to the original.</example>
                <example type="triggers_error">Nowhere but in the world of the antique is it more obvious that many of the things that we, as individuals hold dear, are completely arbitrary.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>that</token>
                    <token regexp="yes">way|time</token>
                </antipattern>
                <antipattern>
                    <token>that</token>
                    <token chunk_re="E-NP.*" />
                    <token regexp="yes">who|which</token>
                </antipattern>
                <antipattern>
                    <token>that</token>
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" postag="MD|VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">an?</token>
                    <token>more</token>
                    <token postag="JJ" />
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk="E-NP-singular" />
                    <marker>
                        <token>that</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="NNPS?|NN:UN?" postag_regexp="yes" chunk_re="[EI]-NP.*" />
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">LT has a more robust policy <marker>that</marker> Company.</example>
                <example>The Ministry of Environment would play a more important role that way.</example>
                <example>This seems to be a more subtle bug that Einar is trying to solve with you.</example>
                <example>I recently saw a more positive statistic that people who get schizophrenia in their teens - 20 years later 2 in 3 will be in remission.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?</token>
                    <token postag="JJR">
                        <exception>number</exception>
                    </token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                    <marker>
                        <token>that</token>
                    </marker>
                    <token postag="NNP" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">The open-source community can produce a better app <marker>that</marker> Outlook.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?</token>
                    <token postag="JJR">
                        <exception>number</exception>
                    </token>
                    <token postag="NN|NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                    <marker>
                        <token>that</token>
                    </marker>
                    <token postag="NNP" />
                    <token regexp="yes" min="0">[\-–,]</token>
                    <token regexp="yes">but|because|since|until|although</token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>?</message>
                <example correction="than">The open-source community can produce a better app <marker>that</marker> Outlook - but we need people to do it.</example>
                <example correction="than">Warren is a better candidate <marker>that</marker> Hillary, but that's not saying much.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DINER_DINNER" name="dinner vs diner">
            <rule>
                <pattern>
                    <marker>
                        <token>diner</token>
                    </marker>
                    <token>for</token>
                    <token regexp="yes">two|2</token>
                </pattern>
                <message>Did you mean <suggestion>dinner</suggestion> (= a meal that is eaten in the evening)?</message>
                <example correction="dinner">We had <marker>diner</marker> for two.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token min="0">for</token>
                    <marker>
                        <token>diner</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>dinner</suggestion> (= a meal that is eaten in the evening)?</message>
                <example correction="dinner">We had <marker>diner</marker> for two.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CHEEP_CHEAP" name="cheep vs cheap">
            <rule>
                <pattern>
                    <marker>
                        <token>cheep</token>
                    </marker>
                    <token regexp="yes">pri[zc]es?|offerings?|offers?|shops?|stores?|products?|alternatives?|tools?|clothes?|supermarkets?|insurances?|holidays?|costs?|tricks?|cars?|trucks?|ass|services?|foods?|bills?|subscriptions?|dress(es)?|coats?|iphones?|ipads?|pcs?|laptops?|(smart)?phones?|computers?|flights?|vacations?|buys?|purchases?|payments?|[mh]otels?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>cheap</suggestion> (= opposite of "expensive")?</message>
                <example correction="cheap">That's a really <marker>cheep</marker> car.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">really|very|so|quite</token>
                    <marker>
                        <token>cheep</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>cheap</suggestion> (= opposite of "expensive")?</message>
                <example correction="cheap">That's a really <marker>cheep</marker> car.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|look|seem</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>cheep</token>
                    </marker>
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adjective <suggestion>cheap</suggestion> (= opposite of "expensive")?</message>
                <example correction="cheap">That's <marker>cheep</marker>!</example>
            </rule>
        </rulegroup>
        <rulegroup id="WEAK_WEEK" name="week vs weak">
            <antipattern>
                <token>weak</token>
                <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern>
                <token>weak</token>
                <token regexp="yes">&amp;|and|,|or</token>
                <token postag="JJ.*" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">have|had</token>
                    <token regexp="yes">an?</token>
                    <token min="0" regexp="yes">really|very</token>
                    <token regexp="yes">nice|great|wonderful|good|fantastic|awesome|perfect|interesting|bad</token>
                    <marker>
                        <token>weak</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>week</suggestion>?</message>
                <example correction="week">Have a great <marker>weak</marker> ahead!</example>
            </rule>
            <rule>
                <pattern>
                    <token>enjoy</token>
                    <token>your</token>
                    <marker>
                        <token>weak</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>week</suggestion>?</message>
                <example correction="week">Enjoy your <marker>weak</marker>!</example>
            </rule>
        </rulegroup>
        <rule id="SIGH_SIGHT" name="sigh vs sight">
            <pattern>
                <token>out</token>
                <token>of</token>
                <marker>
                    <token>sigh</token>
                </marker>
            </pattern>
            <message>Did you mean the noun <suggestion>sight</suggestion>?</message>
            <example correction="sight">It is out of <marker>sigh</marker>.</example>
        </rule>
        <rule id="ARE_OUR" name="are vs our">
            <pattern>
                <token chunk_re="[BI]-VP" postag="VB.*" postag_regexp="yes" />
                <token min="0">sure</token>
                <marker>
                    <token case_sensitive="yes">are</token>
                </marker>
                <token postag="NN:UN?|NN" postag_regexp="yes">
                    <exception postag="VB[GN]" postag_regexp="yes" />
                </token>
                <token regexp="yes" case_sensitive="yes">is|was|has|have|do|does</token>
                <token postag="RB" min="0" />
                <token postag="JJ.*|VBG" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>our</suggestion>?</message>
            <example correction="our">Please make sure <marker>are</marker> country is safe.</example>
        </rule>
        <rule id="WE_LL_WELL" name="we'll vs well">
            <pattern>
                <token postag="PCT|SENT_START" postag_regexp="yes" />
                <marker>
                    <token>we</token>
                    <token>'ll</token>
                </marker>
                <token min="0">,</token>
                <token regexp="yes">the|that|this|an?|th[oe]se|some|any|if|once|there|s?he|they|you|I|it|we|his|her|our|my|its|their</token>
            </pattern>
            <message>Did you mean <suggestion>well</suggestion>?</message>
            <example correction="Well"><marker>We'll</marker> that was close!</example>
            <example>We'll all miss you.</example>
        </rule>
        <rulegroup id="BASE_BASIS" name="on a daily base (basis)">
            <url>https://en.wiktionary.org/wiki/on_a_regular_basis</url>
            <rule>
                <pattern>
                    <token postag="IN" />
                    <token postag="DT" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token regexp="yes">(bi-?)?minutely|(bi-?)?hourly|(bi-?)?daily|(bi-?)?weekly|(bi-?)?monthly|((half|bi)-?)?yearly|regular(ly)?|nightly|voluntary|routine|temporary|reasonable|forward|confidential|global|local|worldwide|comparative|week-to-week|day-to-day|firm|per-.+</token>
                        <token>base</token>
                    </marker>
                </pattern>
                <message>A "base" is a flat surface. The correct phrase is <suggestion>\4 basis</suggestion> (basis = a metaphorical base).</message>
                <example correction="daily basis">We will do this on a <marker>daily base</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?</token>
                    <token regexp="yes">(bi-?)?minutely|(bi-?)?hourly|(bi-?)?daily|(bi-?)?weekly|(bi-?)?monthly|((half|bi)-?)?yearly|regular(ly)?|nightly|voluntary|routine|temporary|reasonable|forward|confidential|global|local|worldwide|comparative|week-to-week|day-to-day|firm|per-.+</token>
                    <token>bases</token>
                </pattern>
                <message>A "base" is a flat surface. The correct phrase is <suggestion>\1 \2 basis</suggestion> (basis = a metaphorical base).</message>
                <example correction="a daily basis">We will do this on <marker>a daily bases</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="RED_READ" name="red vs read">
            <antipattern><!-- https://www.lexico.com/definition/redline -->
                <token>red</token>
                <token regexp="yes">lin(e|ed|es|ing)?</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes">think|hope|doubt</exception>
                    </token>
                    <token regexp="yes">it|you|(any|some)(body|one)</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">I|you|they|s?he|it|(any|some)(body|one)</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">n't|not</token>
                    <token regexp="yes">I|you|they|s?he|it|(any|some)(body|one)</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|they|s?he|it|(any|some)(body|one)</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>red</token>
                    </marker>
                </pattern>
                <message>The word "red" is an adjective (color). The past tense of "read" is also <suggestion>read</suggestion> (only that it's differently pronounced).</message>
                <example correction="read">I <marker>red</marker> a book.</example>
                <example>Why are they red?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>red</token>
                    </marker>
                </pattern>
                <message>The word "red" is an adjective (color). Did you mean the verb <suggestion>read</suggestion>?</message>
                <example correction="read">I can <marker>red</marker> a book.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token postag="RB" min="0">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>red</token>
                    </marker>
                    <token postag="DT|IN" postag_regexp="yes" />
                </pattern>
                <message>The word "red" is an adjective (color). The past tense of "read" is also <suggestion>read</suggestion> (only that it's differently pronounced).</message>
                <example correction="read">I have <marker>red</marker> a book.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" case_sensitive="yes">[Nn][o']t</token>
                    <marker>
                        <token>red</token>
                    </marker>
                </pattern>
                <message>The word "red" is an adjective (color). The past tense of "read" is also <suggestion>read</suggestion> (only that it's differently pronounced).</message>
                <example correction="read">I didn't <marker>red</marker> a book today.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LIEN_LINE" name="lien vs line">
            <rule>
                <pattern>
                    <token regexp="yes">on|at|to</token>
                    <marker>
                        <token>lien</token>
                    </marker>
                    <token regexp="yes">#?\d+|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve</token>
                </pattern>
                <message>Did you mean <suggestion>line</suggestion>?</message>
                <example correction="line">The clause ends on <marker>lien</marker> 8.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">straight|round|curved|clean|red|green|orange|golden|blue|white|black|gr[ae]y|yellow|pink|purple|continuous|vertical|horizontal|dotted|dashed|thin|bold</token>
                    <marker>
                        <token>lien</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>line</suggestion>?</message>
                <example correction="line">He was taking the red <marker>lien</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD|TO|PRP" postag_regexp="yes" />
                    <marker>
                        <token>lien</token>
                    </marker>
                    <token regexp="yes">it|them</token>
                </pattern>
                <message>Did you mean the verb <suggestion>line</suggestion>?</message>
                <example correction="line">I tried to <marker>lien</marker> it up.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PAST_PASTE" name="past vs paste">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception postag="MD" />
                </token>
                <token>past</token>
            </antipattern>
            <antipattern><!-- In the past ... -->
                <token postag="DT" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>past</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes">
                    <exception postag="MD" />
                </token>
                <token regexp="yes">you|it|them|her|him|us</token>
                <token>past</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">quarter|weeks|hours|minutes|seconds|months|years|decades|moments|centuries</token>
                <token>past</token>
            </antipattern>
            <rule>
                <pattern>
                    <token chunk_re="E-NP.*" postag_regexp="yes" postag="NN.*" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>past</token>
                    </marker>
                    <token regexp="yes">in|into</token>
                    <token chunk_re="B-NP.*" />
                </pattern>
                <message>Did you mean the verb <suggestion>paste</suggestion> ("copy &amp; paste")?</message>
                <example correction="paste">We want to know what our users <marker>past</marker> into the text field.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">they|we|s?he|you|it|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>past</token>
                    </marker>
                    <token regexp="yes">in|into</token>
                    <token chunk_re="B-NP.*" />
                </pattern>
                <message>Did you mean the verb <suggestion>paste</suggestion> ("copy &amp; paste")?</message>
                <example correction="paste">We want to know what they <marker>past</marker> into the text field.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD|TO|PRP|SENT_START|PCT|CC" postag_regexp="yes" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>past</token>
                    </marker>
                    <token regexp="yes">it|that|th[eo]se|this|them</token>
                    <token regexp="yes">in|into</token>
                </pattern>
                <message>Did you mean the verb <suggestion>paste</suggestion> ("copy &amp; paste")?</message>
                <example correction="paste">I will <marker>past</marker> it into the text field.</example>
                <example correction="paste">I can <marker>past</marker> it into the email.</example>
                <example>Too bad she brushed past it in the article itself.</example>
                <example>The only way of discovering the limits of the possible is to venture a little way past them into the impossible</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>past</token>
                    </marker>
                    <token chunk_re="B-NP-.*" postag="DT|PRP\$" postag_regexp="yes" min="0" />
                    <token chunk_re="I-NP-.*" postag="NN|NN:UN?|JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">files?|texts?|documents?|docs?|sentences?|strings?|numbers?|data|messages?|communications?|letters?|emails?</token>
                    <token regexp="yes">in|into</token>
                </pattern>
                <message>Did you mean the verb <suggestion>paste</suggestion> ("copy &amp; paste")?</message>
                <example correction="paste">I will <marker>past</marker> the copied text into the textarea</example>
            </rule>
        </rulegroup>
        <rulegroup id="TECH_TEACH" name="tech vs teach">
            <rule>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token>IT</token>
                    <token>tech</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception regexp="yes" inflected="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                    <token>tech</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">tech(e[sd]|ing)?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)ech" regexp_replace="each" /></suggestion>?</message>
                <example correction="teach">I <marker>tech</marker> them about history.</example>
                <example>I finally connected with the client’s IT tech.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token skip="-1">tech</token>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token>tech</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>tech</token>
                    </marker>
                    <token postag="PRP.*|DT|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="(?i)ech" regexp_replace="each" /></suggestion>?</message>
                <example correction="teach">I can <marker>tech</marker> them about history.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re="[IB]-VP">want|like|have|need|try|hope|love</token>
                    <token>to</token>
                    <marker>
                        <token>tech</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)ech" regexp_replace="each" /></suggestion>?</message>
                <example correction="teach">I want to <marker>tech</marker> them about history.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token>please</token>
                    <marker>
                        <token>tech</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)ech" regexp_replace="each" /></suggestion>?</message>
                <example correction="teach">Please <marker>tech</marker> them about history.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="NN.*|PRP" postag_regexp="yes" />
                    <token regexp="yes">did|does|do</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>tech</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="(?i)ech" regexp_replace="each" /></suggestion>?</message>
                <example correction="teach">I didn't <marker>tech</marker> them about history.</example>
            </rule>
        </rulegroup>
        <rule id="LOOT_LOT" name="loot vs lot">
            <pattern>
                <marker>
                    <token regexp="yes">a|with</token>
                    <token regexp="yes">loots?</token>
                </marker>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>\1 <match no="2" regexp_match="(?i)o(o)" regexp_replace="$1" /></suggestion>?</message>
            <example correction="a lot">I heard <marker>a loot</marker> of noise.</example>
        </rule>
        <rule id="RATER_RATHER" name="rater vs rather">
            <pattern>
                <token regexp="yes">would|d|will|could|should|might</token>
                <marker>
                    <token>rater</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </pattern>
            <message>Did you mean the adverb <suggestion>rather</suggestion>?</message>
            <example correction="rather">I would <marker>rater</marker> go home now.</example>
        </rule>
        <rulegroup id="EVENT_EVEN" name="event vs even">
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">hope|think|kno|doubt|assume</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|you|we|they|I</token>
                    <marker>
                        <token>event</token>
                    </marker>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>even</suggestion>?</message>
                <example correction="even">It <marker>event</marker> works on a Mac.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">hope|think</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0">t</token>
                    <marker>
                        <token>event</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>even</suggestion>?</message>
                <example correction="even">It will <marker>event</marker> works on a Mac.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                    <marker>
                        <token>event</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean the adverb <suggestion>even</suggestion>?</message>
                <example correction="even">I had to <marker>event</marker> buy a cake to make him happy again.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">it|that</token>
                    <token>'s</token>
                    <marker>
                        <token>event</token>
                    </marker>
                    <token min="0" max="1" postag="RB"/>
                    <token postag="JJ"/>
                </pattern>
                <message>Did you mean the adverb <suggestion>even</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="even">… whether it's <marker>event</marker> possible to do this.</example>
                <example correction="even">It's <marker>event</marker> usually possible to do this before 09:00.</example>
                <example correction="even">Possibly, it's <marker>event</marker> impossible.</example>
                <example>… whether it's <marker>even</marker> possible to do this.</example>
                <example>although it's <marker>event horizon</marker> is more than...</example><!-- TODO. Not correct English, but out of scope. -->
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token case_sensitive="yes">Event</token>
                    </marker>
                    <token regexp="yes">I|s?he|it|we|they|you</token>
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>even</suggestion>?</message>
                <example correction="Even"><marker>Event</marker> I make mistakes.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">but|because|if|when</token>
                    <marker>
                        <token>event</token>
                    </marker>
                    <token regexp="yes">I|s?he|it|we|they|you</token>
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>even</suggestion>?</message>
                <example correction="even">But <marker>event</marker> I make mistakes.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <marker>
                        <token>event</token>
                    </marker>
                    <token regexp="yes">more|less</token>
                </pattern>
                <message>Did you mean <suggestion>even</suggestion>?</message>
                <example correction="even">We should get <marker>event</marker> more.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AT_AS" name="at vs as">
            <rule>
                <pattern>
                    <marker>
                        <token>at</token>
                    </marker>
                    <token regexp="yes">good|fast|quick|soon|best|early</token>
                    <token>as</token>
                    <token>possible</token>
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">Can you do that <marker>at</marker> soon as possible?</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <token regexp="yes">good|fast|quick|soon|best|early</token>
                    <marker>
                        <token>at</token>
                    </marker>
                    <token>possible</token>
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">Can you do that as soon <marker>at</marker> possible?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>at</token>
                    </marker>
                    <token regexp="yes">good|fast|quick|soon|best|early</token>
                    <token>as</token>
                    <token regexp="yes">s?he|it|we|they|I|you</token>
                    <token postag="MD" />
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">Can you do that <marker>at</marker> soon as you can?</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <token regexp="yes">good|fast|quick|soon|best|early</token>
                    <marker>
                        <token>at</token>
                    </marker>
                    <token regexp="yes">s?he|it|we|they|I|you</token>
                    <token postag="MD" />
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">Can you do that as good <marker>at</marker> you can?</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOE_DOES" name="doe vs does">
            <antipattern>
                <token regexp="yes">john|jane</token>
                <token>doe</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>doe</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>does</suggestion>?</message>
                <example correction="does">It <marker>doe</marker> not matter.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">doe</token>
                    </marker>
                    <token>not</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>does</suggestion>?</message>
                <example correction="does">It <marker>doe</marker> not matter.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">Do[es]</token>
                    </marker>
                    <token postag="PRP.?" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>Does</suggestion> or <suggestion>Do</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Does|Do"><marker>Doe</marker> he like me?</example>
                <example correction="Does|Do"><marker>Doe</marker> you like my hair?</example>
                <example correction="Does|Do"><marker>Dos</marker> he like me?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="W.*" postag_regexp="yes">
                        <exception>that</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">do[es]</token>
                    </marker>
                    <token postag="PRP.?|NNP|DT" postag_regexp="yes" skip="2"/>
                    <token postag="VB" skip="-1" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>does</suggestion> or <suggestion>do</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="does|do">What <marker>doe</marker> he think?</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-NP-.*" postag="NNP|NN:UN?|NN" postag_regexp="yes" />
                    <marker>
                            <token case_sensitive="yes">doe</token>
                    </marker>
                    <token regexp="yes">it|that|this|my|her|y?our|their|the|all|another|what(ever)?</token>
                </pattern>
                <message>Did you mean <suggestion>does</suggestion>?</message>
                <example correction="does">Tom <marker>doe</marker> whatever is needed.</example>
            </rule>
        </rulegroup>
        <rulegroup id="I_IS" name="I vs is">
            <rule>
                <antipattern><!-- What I the emperor have decided -->
                    <token case_sensitive="yes">I</token>
                    <token>the</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">(why|who|where|when|what|which|how)(ever)?</token>
                    <marker>
                        <token>i</token>
                    </marker>
                    <token regexp="yes">my|his|her|y?our|their|an?|the</token>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">Why <marker>i</marker> my car gone?</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN" />
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>i</token>
                    </marker>
                    <token postag="VB[GN]|JJ.*|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">He <marker>i</marker> gone.</example>
                <example>Wow, I’m glad I’m not paying for it I said.</example>
                <example>After it I created a support ticket about my autorenew.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LIVE_LIFE" name="live vs life">
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token>her</token>
            </antipattern>
            <antipattern>
                <token>Live</token>
                <token regexp="yes" skip="3">in|at</token>
                <token regexp="yes">concerts?|albums?|songs?|compilations?|tours?</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">an?|the</token>
                <token>Live</token>
                <token regexp="yes">in|at</token>
                <token regexp="yes">[A-Z].*</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <rule><!-- a live => a life/love -->
                <pattern>
                    <token regexp="yes">an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>live</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>Did you mean the noun <suggestion>life</suggestion> or <suggestion>love</suggestion>?</message>
                <example correction="life|love">I cannot imagine a <marker>live</marker> without you.</example>
            </rule>
            <rule><!-- the live => the lives/life/love -->
                <pattern>
                    <token regexp="yes">the|my|y?our|their|his|her</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0">
                        <exception postag="NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>live</token>
                    </marker>
                    <token postag="IN" />
                </pattern>
                <message>Did you mean <suggestion>lives</suggestion> (plural of 'life'), <suggestion>life</suggestion> or <suggestion>love</suggestion>?</message>
                <example correction="lives|life|love">A million people lost their <marker>live</marker> during the war.</example>
                <example>Her parents let her live in a small room called tunpu annexed to the southern wall of her house.</example>
                <example>The Japanese live on rice.</example>
                <example>They were eventually released in the 1980s as the Live in Boston album.</example>
            </rule>
        </rulegroup>
        <rule id="MIS_MISS" name="mis vs miss">
            <pattern>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Mm]is</token>
                </marker>
                <token postag="PRP.*|DT" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the verb <suggestion>miss</suggestion>?</message>
            <example correction="miss">I <marker>mis</marker> you.</example>
        </rule>
        <rule id="WHIT_WITH" name="whit vs with">
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>whit</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">every|any</token>
                <token>whit</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>whit</token>
                </marker>
                <token regexp="yes">them|him|you|her|us|me|the|an?|his|y?our|my|their|its|this|that|no|all|th[eo]se</token>
            </pattern>
            <message>Did you mean <suggestion>with</suggestion> (whit = a tiny amount)?</message>
            <example correction="with">I can share that <marker>whit</marker> you.</example>
            <example>He is every whit a self-made, self-educated man.</example>
        </rule>
        <rulegroup id="WHIT_WHITE" name="whit vs white">
            <antipattern>
                <token>whit</token>
                <token>sunday</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">a|the</token>
                    <marker>
                        <token case_sensitive="yes">whit</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="MD|IN|RB.*|PRP.*|CC|W.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean the adjective <suggestion>white</suggestion> (whit = a tiny amount)?</message>
                <example correction="white">It is a <marker>whit</marker> horse.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="IN" />
                    <marker>
                        <token case_sensitive="yes">whit</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="MD|IN|RB.*|PRP.*|CC|W.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean the adjective <suggestion>white</suggestion> (whit = a tiny amount)?</message>
                <example correction="white">There were a lot of <marker>whit</marker> horses.</example>
                <example>Whit Stillman</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token case_sensitive="yes">whit</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>white</suggestion> (whit = a tiny amount)?</message>
                <example correction="white">The car is <marker>whit</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_TO" name="the vs to">
            <antipattern>
                <token>the</token>
                <token case_sensitive="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token postag="VB" />
                <token regexp="yes">an?|the</token>
                <token />
                <token regexp="yes">links?|buttons?|features?|functionality|functions?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="JJ|W.*" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token postag="VB">
                        <exception postag="NN.*|JJR" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">an?|the</token>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">Do you know how <marker>the</marker> operate the fireplace?</example>
                <example correction="to">Can you check <marker>the</marker> ensure the port number has quotes around it?</example>
                <example>So the lower the gas level, the hotter the gas in the gas tank becomes.</example>
                <example>Still undecided whether I like the Add a Thing being in the things view.</example>
                <example>When I turn off the defrost the idle picks up and the car runs idles great.</example>
                <example>Is there a way to tell it to just look for the one that contains Click&amp;Clean much like the manipulate a window feature in KM?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJ|VBN|W.*" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token regexp="yes">be|have</token>
                    <token postag="VBN" />
                </pattern>
                <message>Did you mean <suggestion>to</suggestion> or <suggestion>they</suggestion>?</message>
                <example correction="to|they">It wasn't possible <marker>the</marker> be finished in time.</example>
                <example correction="to|they">I'm lucky <marker>the</marker> have imported it.</example>
                <example correction="to|they">So far <marker>the</marker> have told me its an issue with the mechatronic cables.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re=".-VP">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>the</token>
                    </marker>
                    <token postag="VB">
                        <exception postag="NN.*|JJR" postag_regexp="yes" />
                        <exception>reschedule</exception>
                    </token>
                    <token>the</token>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">Sami was shocked <marker>the</marker> learn the truth.</example>
                <example correction="to">This paragraph addresses FPU's (Marc) request <marker>the</marker> clarify the status of releases.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HONESTY_HONESTLY" name="honesty vs honestly">
            <rule>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|s?he|you|it|we|they</token>
                    <marker>
                        <token>honesty</token>
                    </marker>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>honestly</suggestion>?</message>
                <example correction="honestly">I <marker>honesty</marker> don't care.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="MD" />
                    <marker>
                        <token>honesty</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean the adverb <suggestion>honestly</suggestion>?</message>
                <example correction="honestly">I can <marker>honesty</marker> say that I don't care</example>
            </rule>
        </rulegroup>
        <rule id="DOD_DID" name="dod vs did">
            <pattern>
                <token>dod</token>
                <token>not</token>
            </pattern>
            <message>Did you mean <suggestion>did \2</suggestion>?</message>
            <example correction="did not">I <marker>dod not</marker> see that coming.</example>
        </rule>
        <rule id="NON_NONE" name="non vs none">
            <antipattern><!-- https://www.merriam-webster.com/dictionary/sine%20qua%20non -->
                <token>qua</token>
                <token>non</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>non</token>
                </marker>
                <token regexp="yes">of|that|who|[io]n|at|for|from</token>
            </pattern>
            <message>Did you mean <suggestion>none</suggestion>?</message>
            <url>https://www.lexico.com/definition/none</url>
            <example correction="None"><marker>Non</marker> of these are mine.</example>
        </rule>
        <rule id="COINCIDENT_COINCIDENCE" name="coincident vs coincidence">
            <pattern>
                <token regexp="yes">an?|the</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>
                        coincident
                        <exception postag="NN.*|JJ" postag_regexp="yes" scope="next" />
                    </token>
                </marker>
            </pattern>
            <message>Did you mean the noun <suggestion>coincidence</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/coincidence</url>
            <example correction="coincidence">What a <marker>coincident</marker>!</example>
        </rule>
        <rulegroup id="DO_DUE" name="do vs due">
            <antipattern><!-- That which is hateful to you, do not do to your fellow. -->
                <token inflected="yes">do</token>
                <token>not</token>
                <token>do</token>
                <token>to</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">this|that</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">'s|is|was</token>
                    <marker>
                        <token>do</token>
                        <token>to</token>
                    </marker>
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>due to</suggestion>?</message>
                <example correction="due to">This is <marker>do to</marker> our great leadership.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re="[BI]-VP">
                        <exception>cant</exception>
                    </token>
                    <token postag="RB|RP" postag_regexp="yes" min="0" />
                    <marker>
                        <token>do</token>
                        <token>to</token>
                    </marker>
                    <token postag="DT|JJ.*|NN.*|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VB|RB|MD|IN|JJR|CC|PRP.*" postag_regexp="yes" />
                    </token>
                    <token postag="CC|PCT|SENT_END" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>due to</suggestion>?</message>
                <example correction="due to">Many restaurants will close <marker>do to</marker> Covid-19.</example>
                <example correction="due to">Many restaurants have to close <marker>do to</marker> Covid-19.</example>
                <example correction="due to">Many restaurants are closing <marker>do to</marker> Covid-19.</example>
                <example correction="due to">He is not going there <marker>do to</marker> Carla.</example>
                <example>There Will be Blood really taught me what people do to their competition.</example>
                <example>That which is hateful to you, do not do to your fellow.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re="[BI]-VP">
                        <exception>cant</exception>
                    </token>
                    <token postag="RB|RP" postag_regexp="yes" min="0" />
                    <marker>
                        <token>do</token>
                        <token>to</token>
                    </marker>
                    <token postag="DT|JJ.*|NN.*|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="JJ.*|NNP?|NN:UN?" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="VB|RB|MD|IN|JJR|CC|PRP.*" postag_regexp="yes" />
                    </token>
                    <token postag="CC|PCT|SENT_END" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>due to</suggestion>?</message>
                <example correction="due to">Many restaurants will close <marker>do to</marker> the corona restrictions.</example>
            </rule>
        </rulegroup>
        <rulegroup id="RITE_RIGHT" name="rite vs right">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>rite</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>right</suggestion>?</message>
                <example correction="right">He is <marker>rite</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">them|us|him|her|it</token>
                    <marker>
                        <token>rite</token>
                    </marker>
                    <token regexp="yes">in|into|on|to|at</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>right</suggestion>?</message>
                <example correction="right">Punch him <marker>rite</marker> in the face.</example>
            </rule>
        </rulegroup>

        <rulegroup id="RITE_WRITE" name="rite vs write">
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">do|will|shall|should|can|might</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>rite</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>write</suggestion>?</message>
                <example correction="write">I will <marker>rite</marker> a letter.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|we|they|you|it|I|please|to</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">rites?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>w<match no="3" case_conversion="alllower" /></suggestion>?</message>
                <example correction="write">I <marker>rite</marker> a letter.</example>
            </rule>
        </rulegroup>

        <rulegroup id="ROTE_WROTE" name="rote vs wrote">
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|we|they|you|it|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">rote|road</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>w<match no="3" case_conversion="alllower" /></suggestion>?</message>
                <example correction="wrote">I <marker>rote</marker> a letter.</example>
            </rule>
        </rulegroup>

        <rulegroup id="MAY_MANY_MY" name="may vs many/my">
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <marker>
                        <token case_sensitive="yes">may</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0">
                        <exception postag="VBP?" postag_regexp="yes" />
                    </token>
                    <token postag="NNP?S" postag_regexp="yes">
                        <exception postag="VBP?|RB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>many</suggestion>, the month <suggestion>May</suggestion> (capitalized), or <suggestion>my</suggestion>?</message>
                <example correction="many|May|my">April showers brings <marker>may</marker> flowers.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">[io]n|for|with(out|in)?|at|of|through|from|by</token>
                    <marker>
                        <token case_sensitive="yes">may</token>
                    </marker>
                    <token postag="JJ.*|NN.*|RB" postag_regexp="yes" chunk_re="I-NP-plural" min="0" max="2" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-plural">
                        <exception>onwards</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>many</suggestion> or <suggestion>my</suggestion>?</message>
                <example correction="many|my">Enron has relationships with PG&amp;E on <marker>may</marker> different fronts.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>may</token>
                    <token chunk_re="E-NP.*" />
                    <token chunk_re=".-VP" postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>may</token>
                    <token>god</token>
                    <token>bless</token>
                </antipattern>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" />
                    <marker>
                        <token case_sensitive="yes">may</token>
                    </marker>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="CC|IN|VBP?|RB.*|MD|JJR|PRP.*" postag_regexp="yes" />
                        <exception>have</exception>
                    </token>
                </pattern>
                <message>Did you mean the month <suggestion>May</suggestion> (capitalized) or <suggestion>my</suggestion>?</message>
                <example correction="May|my">I would like to cancel <marker>may</marker> subscription.</example>
                <example correction="May|my">April showers brings <marker>may</marker> flowers.</example>
                <example>Getting the headlights aligned may help.</example>
                <example>When I die may God give me all I deserve.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>may</token>
                    <token postag="VB" />
                    <token postag="DT|PRP\$|IN" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">for|on|through|at|in|from|to|of</token>
                    <marker>
                        <token case_sensitive="yes">may</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="CC|IN|RB.*|MD|JJR|PRP.*|W.*|DT" postag_regexp="yes" />
                        <exception>have</exception>
                    </token>
                </pattern>
                <message>Did you mean the month <suggestion>May</suggestion> (capitalized) or <suggestion>my</suggestion>?</message>
                <example correction="May|my">I will put it on <marker>may</marker> list.</example>
                <example correction="May|my">I’m able to solve the problems in <marker>may</marker> head.</example>
                <example>The spreadsheet below may help.</example>
            </rule>
        </rulegroup>
        <rule id="TRUE_TRUTH" name="true vs truth">
            <antipattern>
                <token regexp="yes">none?</token>
                <token>the</token>
                <token>less</token>
            </antipattern>
            <pattern>
                <token>the</token>
                <token postag="JJ" min="0" />
                <marker>
                    <token>true</token>
                </marker>
                <token regexp="yes">:|\.|\!|\?|isn?|wasn?|ha[ds]n?|doesn?|didn?|makes|made|[cw]ouldn?|shouldn?|can(not)?</token>
            </pattern>
            <message>Did you mean the noun <suggestion>truth</suggestion>?</message>
            <example correction="truth">The <marker>true</marker> is it doesn't matter who wins.</example>
            <example>Because in a decision this important, HaasWeek wants to make sure we accurately reflect the true will of the people.</example>
            <example>It is none the less true.</example>
        </rule>
        <rulegroup id="ASSES_ASSESS" name="asses vs assess">
            <rule>
                <antipattern>
                    <token>boots</token>
                    <token>to</token>
                    <token>asses</token>
                </antipattern>
                <antipattern>
                    <token postag="IN|VB.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">it|you</token>
                    <token>asses</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|you|we|they|I|to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>asses</token>
                    </marker>
                </pattern>
                <message>The plural noun "\3" describes the back of a person ("buttocks"). Did you mean the verb <suggestion>assess</suggestion>?</message>
                <example correction="assess">I <marker>asses</marker> the work for my team lead.</example>
                <example>Fuck it asses!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>asses</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" skip="-1" />
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">do|will|shall|should|can|might</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>asses</token>
                    </marker>
                </pattern>
                <message>The plural noun "\4" describes the back of a person ("buttocks"). Did you mean the verb <suggestion>assess</suggestion>?</message>
                <example correction="assess">I didn't <marker>asses</marker> the work for my team lead.</example>
                <example>Will asses be kicked?</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token>'s</token>
                    <marker>
                        <token>asses</token>
                    </marker>
                </pattern>
                <message>The plural noun "\3" describes the back of a person ("buttocks"). Did you mean the verb <suggestion>assess</suggestion>?</message>
                <example correction="assess">Let's <marker>asses</marker> the work for our team lead.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AVE_HAVE" name="ave vs have">
            <rule>
                <pattern>
                    <token regexp="yes">they|we|you|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ave</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>have</suggestion>?</message>
                <example correction="have">I <marker>ave</marker> no idea why.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>ave</token>
                    </marker>
                    <token>been</token>
                    <token postag="VBG|VBN|JJ" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>have</suggestion>?</message>
                <example correction="have">Trump should <marker>ave</marker> been impeached.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>ave</token>
                    </marker>
                    <token regexp="yes">they|we|you|I</token>
                    <token postag="VBN"/>
                </pattern>
                <message>Did you mean <suggestion>have</suggestion>?</message>
                <example correction="Have"><marker>Ave</marker> you been there?</example>
                <example>On my 86 Park Ave I had a rear tire wear to just about an octagon shape in less than 30,000 miles.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="NN.*|PRP.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ave</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>have</suggestion>?</message>
                <example correction="have">I will <marker>ave</marker> many new ideas after the workshop.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CHOICE_CHOOSE" name="choice vs choose">
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope|know|believe|doubt</exception>
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it|we|they|you|I
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>choice</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>choose</suggestion> (present tense) or <suggestion>chose</suggestion> (past tense)?</message>
                <example correction="choose|chose">Let me tell you why I <marker>choice</marker> this.</example>
                <example>Tom didn't give you much choice.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>choice</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern><!-- Would choice making have any impact? -->
                    <token postag="W.*|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="MD" skip="10" />
                    <token postag="SENT_END">?</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>choice</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. Did you mean the verb the <suggestion>choose</suggestion>?</message>
                <example correction="choose">I would <marker>choice</marker> this one.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>choices</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>chooses</suggestion>?</message>
                <example correction="chooses">He <marker>choices</marker> the winning team.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">
                        want|try|like|have|hope|need|intend|go
                        <exception regexp="yes">go|goes|went|gone</exception>
                    </token>
                    <token>to</token>
                    <marker>
                        <token>choice</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>choose</suggestion>?</message>
                <example correction="choose">I'd like to <marker>choice</marker> a new one.</example>
                <example correction="choose">I'm going to <marker>choice</marker> a new one.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DELIVERY_DELIVER" name="delivery vs deliver">
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope|know|believe|doubt</exception>
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <antipattern>
                <token>delivery</token>
                <token>hero</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it|we|they|you|I
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>delivery</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>deliver</suggestion> (present tense) or <suggestion>delivered</suggestion> (past tense)?</message>
                <example correction="deliver|delivered">Let me tell you why I <marker>delivery</marker> this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>delivery</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="W.*|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="MD" skip="10" />
                    <token postag="SENT_END">?</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>delivery</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. Did you mean the verb the <suggestion>deliver</suggestion>?</message>
                <example correction="deliver">I would <marker>delivery</marker> this one.</example>
                <example>I will order today for delivery on Monday,unless you need faster delivery.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>deliveries</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>delivers</suggestion>?</message>
                <example correction="delivers">He <marker>deliveries</marker> the package.</example>
                <example>We have also been able to schedule IT deliveries at max rates.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>going</token>
                    <token>to</token>
                    <token>delivery</token>
                    <token postag="PCT|CC|IN|SENT_END" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">
                        want|try|like|have|hope|need|intend|go
                        <exception regexp="yes">go|goes|went|gone</exception>
                    </token>
                    <token>to</token>
                    <marker>
                        <token>delivery</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>deliver</suggestion>?</message>
                <example correction="deliver">I'd like to <marker>delivery</marker> your parcel.</example>
                <example>The primary concern is December and going to delivery.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DEPARTURE_DEPART" name="departure vs depart">
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes">
                    <exception inflected="yes" regexp="yes">think|hope|know|believe|doubt</exception>
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it|we|they|you|I
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>departure</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>depart</suggestion> (present tense) or <suggestion>departed</suggestion> (past tense)?</message>
                <example correction="depart|departed">I <marker>departure</marker> at 8 pm.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>depature</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="W.*|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="MD" skip="10" />
                    <token postag="SENT_END">?</token>
                </antipattern>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>departure</token>
                    </marker>
                </pattern>
                <message>The word "\4" is a noun. Did you mean the verb the <suggestion>depart</suggestion>?</message>
                <example correction="depart">I will <marker>departure</marker> at 8 pm.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>departures</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>departs</suggestion>?</message>
                <example correction="departs">He <marker>departures</marker> at 8 o'clock.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">
                        want|try|like|have|hope|need|intend|go
                        <exception regexp="yes">go|goes|went|gone</exception>
                    </token>
                    <token>to</token>
                    <marker>
                        <token>departure</token>
                    </marker>
                </pattern>
                <message>The word "\3" is a noun. Did you mean the verb the <suggestion>depart</suggestion>?</message>
                <example correction="depart">I'd like to <marker>departure</marker> at 8 pm.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WELL_WILL" name="well vs will">
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token regexp="yes">you|it</token>
                    <token>well</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|we|they|you|I</token>
                    <marker>
                        <token>well</token>
                        <token postag="VB">
                            <exception regexp="yes">deserve|remember|while|better</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>will \3</suggestion>?</message>
                <example correction="will help">I <marker>well help</marker> you.</example>
                <example>Yep and as you well know, it is driving me nuts.</example>
                <example>Only those who know you well know that you aren't.</example>
                <example>I am very glad to see you get the rewards you well deserve.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token  postag="NNP" />
                    <token>well</token>
                </antipattern>
                <pattern>
                    <token postag="NNP">
                        <exception postag="UH" />
                        <exception>as</exception>
                    </token>
                    <marker>
                        <token>well</token>
                        <token postag="VB" chunk="B-VP">
                            <exception regexp="yes">deserve|remember|while|better</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>will \3</suggestion>?</message>
                <example correction="will help">Tom <marker>well help</marker> you.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FOUNT_FOUND" name="fount vs found">
            <rule>
                <pattern>
                    <token regexp="yes">you|I|we|they|s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fount</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>found</suggestion> (past tense of "to find")?</message>
                <example correction="found">She finally <marker>fount</marker> what she was looking for.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">be|have</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>fount</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>found</suggestion> (past participle of "to find")?</message>
                <example correction="found">She has <marker>fount</marker> what she was looking for.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MACH_MUCH" name="mach vs much">
            <antipattern>
                <token>mach</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token>mach</token>
                <token>number</token>
            </antipattern>
            <antipattern>
                <token>match</token>
                <token>.</token>
                <token>com</token>
            </antipattern>
            <antipattern>
                <token>match</token>
                <token>(</token>
            </antipattern>
            <antipattern>
                <token>match</token>
                <token postag="NNS" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes" regexp="yes">Match|MATCH</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>how</token>
                    <token regexp="yes">mat?ch</token>
                </pattern>
                <message>Did you mean <suggestion>how much</suggestion>?</message>
                <example correction="how much">Do you know <marker>how mach</marker> it weights?</example>
                <example>The engine develops 131.7kN and the speed of the aircraft is Mach 2.</example>
                <example>How Match.com Got Women to Sign Up for Online Dating.</example>
                <example>Now that we know how match() works ...</example>
            </rule>
        </rulegroup>
        <rulegroup id="DOSE_DOES" name="dose vs does">
            <rule>
                <pattern>
                    <or>
                        <token regexp="yes">he|she|it</token>
                        <token postag="NNP">
                            <exception postag="JJ.*" postag_regexp="yes" />
                            <exception regexp="yes">.+oid</exception>
                        </token>
                    </or>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">dose</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>does</suggestion> or <suggestion>doses</suggestion>?</message>
                <example correction="does|doses">She <marker>dose</marker> not know what she's talking about.</example>
                <example correction="does|doses">Google normally <marker>dose</marker> not care about privacy.</example>
                <example>Low Dose of Aspirin.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>dose</token>
                    </marker>
                    <token>not</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" />
                </pattern>
                <message>Did you mean the auxiliary verb <suggestion>does</suggestion>?</message>
                <example correction="does">He <marker>dose</marker> not want to become a police officer.</example>
                <example correction="Does"><marker>Dose</marker> not seem to be important to those people any more.</example>
            </rule>
        </rulegroup>
        <rule id="ROAD_RODE" name="road vs rode">
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">think|hope|believe</exception>
                </token>
                <token regexp="yes">it|you</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it|we|they|you|I</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>road</token>
                </marker>
            </pattern>
            <message>The past tense of the verb "to ride" is <suggestion>rode</suggestion>.</message>
            <example correction="rode">He <marker>road</marker> on a horse.</example>
        </rule>
        <rule id="CARRIES_CARIES" name="carries vs caries">
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">think|hope|believe</exception>
                </token>
                <token>it</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">caries|carrys</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>carries</suggestion> ("to carry")?</message>
            <example correction="carries">He <marker>caries</marker> many heavy things on his shoulders.</example>
        </rule>
        <rule id="WRITS_WRITES" name="writs vs writes">
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">think|hope|believe</exception>
                </token>
                <token>it</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>writs</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>writes</suggestion> ("to write")?</message>
            <example correction="writes">He <marker>writs</marker> a book.</example>
        </rule>
        <rulegroup id="TROUGH_THROUGH" name="trough vs through">
            <rule>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>trough</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>trough</token>
                    </marker>
                    <token regexp="yes">an?|the|th[oe]se|my|y?our|his|her|their|its?|all|some|m?any|most</token>
                </pattern>
                <message>Did you mean the preposition <suggestion>through</suggestion> (e.g. "walk through a door")?</message>
                <example correction="through">He walked <marker>trough</marker> the doorway.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">make</token>
                    <token>trough</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" inflected="yes">go|drive|cycle|ride|run|walk|break|look|cut|flow|read|call|step|march|smash|straight|move|climb|fall|blow|throw|come|flip|jump|guide|pass|offer|see|push|follow|make|scroll</token>
                    <token regexp="yes" min="0">this|that|(some|any)thing|them|me|you|us|it|him|her|together</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>trough</token>
                    </marker>
                </pattern>
                <message>Did you mean the preposition <suggestion>through</suggestion> (e.g. "walk through a door")?</message>
                <example correction="through">He walked <marker>trough</marker> the doorway.</example>
                <example correction="through">I made it <marker>trough</marker> without crying.</example>
                <example correction="through">I scrolled <marker>trough</marker> the document.</example>
                <example>I'm making trough planters for my garden.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>all</token>
                    <token chunk="B-NP-plural" />
                </antipattern>
                <pattern>
                    <token regexp="yes">available|(half-?)?way|almost|all</token>
                    <marker>
                        <token>trough</token>
                    </marker>
                </pattern>
                <message>Did you mean the preposition <suggestion>through</suggestion> (e.g. "walk through a door")?</message>
                <example correction="through">It is available <marker>trough</marker> Google.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IS_US" name="is vs us">
            <rule>
                <antipattern><!-- It kind of is. -->
                    <token regexp="yes">kind|sort</token>
                    <token regexp="yes">off?</token>
                    <token>is</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" regexp="yes">(who|what|when|where|which|how)(ever)?</token>
                    <token>is</token>
                    <token regexp="yes" spacebefore="no" postag="SENT_END">[\.\!\?]</token>
                </antipattern>
                <pattern>
                    <token postag="IN|TO|VB.*" postag_regexp="yes">
                        <exception postag="PRP.*|RB|NN.*" postag_regexp="yes" />
                        <exception>as</exception><!-- Leave as is. -->
                    </token>
                    <marker>
                        <token case_sensitive="yes">is</token>
                    </marker>
                    <token regexp="yes" spacebefore="no" postag="SENT_END">[\.\!\?]</token>
                </pattern>
                <message>Did you mean <suggestion>us</suggestion>?</message>
                <example correction="us">Please send the message to <marker>is</marker>.</example>
                <example correction="us">He believes <marker>is</marker>.</example>
                <example correction="us">And many thanks for sharing it with <marker>is</marker>.</example>
                <example>There sort of is.</example>
                <example>Leave as is.</example>
                <example>How old this book is!</example>
                <example>Your most interesting friend is?</example>
                <example>If so, you may want to give them a call and find out where the updated confirm is.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="UNKNOWN|IN|VB.*" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|believe|hope</exception>
                    </token>
                    <token regexp="yes">it|that|this</token>
                </antipattern>
                <antipattern>
                    <token>us</token>
                    <token postag="JJ.*" postag_regexp="yes" min="1" max="2" />
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|it|[tw]hat|this|who|which|when|where|how</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token case_sensitive="yes">us</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VBG|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">He <marker>us</marker> going home.</example>
                <example correction="is">That <marker>us</marker> so cool!</example>
                <example correction="is">I think he <marker>us</marker> right.</example>
                <example>McTeer say's he is unsure when US economic growth will pick up.</example>
                <example>What about us power users?</example>
                <example>Not only is a HQ a governmental entity, I believe it is governed by Quebec civil law, with which us common lawyers are not overly familiar.</example>
                <example>Now that you're in the big time, Super Neighborhood Scene, I hope you will point out to the experts that us inner city people don't want gated communities and circular streets that don't go anywhere.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THE_THEM" name="the vs them">
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <marker>
                        <token>the</token>
                    </marker>
                    <token case_sensitive="yes">to</token>
                    <or>
                        <token chunk="B-NP-singular" />
                        <token chunk="E-NP-singular" />
                    </or>
                </pattern>
                <message>Did you mean <suggestion>them</suggestion> or <suggestion>then</suggestion>?</message>
                <example correction="them|then">They sent <marker>the</marker> to the client.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <marker>
                        <token>the</token>
                        <token case_sensitive="yes">to</token>
                    </marker>
                    <or>
                        <token chunk="B-NP-plural" />
                        <token chunk="E-NP-plural" />
                    </or>
                </pattern>
                <message>Did you mean <suggestion>them to</suggestion> or <suggestion>the two</suggestion>?</message>
                <example correction="them to|the two">They sent <marker>the to</marker> clients.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CAR_CARE" name="car vs care">
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes">take</token>
                        <token min="0" regexp="yes">really|very</token>
                        <token min="0">good</token>
                        <token>car</token>
                    </marker>
                    <token regexp="yes">of|for|in|on|at|with(out|in)?|about|to|,|\!|\?|\.</token>
                </pattern>
                <message>An article may be missing in <suggestion>\1 \2 \3 care</suggestion>.</message>
                <suggestion>\1 the \2 \3 \4</suggestion>
                <suggestion>\1 a \2 \3 \4</suggestion>
                <example correction="takes care|takes the car|takes a car">She <marker>takes car</marker> of Peter.</example>
                <example correction="Take care|Take the car|Take a car"><marker>Take car</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD|VB.*" postag_regexp="yes" />
                    <token regexp="yes">not|n't</token>
                    <marker>
                        <token>car</token>
                    </marker>
                    <token regexp="yes">less|more|for|to|about|of</token>
                </pattern>
                <message>Did you mean the verb <suggestion>care</suggestion>?</message>
                <example correction="care">I couldn't <marker>car</marker> less!</example>
            </rule>
            <rule>
                <pattern>
                    <token>health</token>
                    <token>car</token>
                </pattern>
                <message>Did you mean <suggestion>\1 \2e</suggestion>?</message>
                <example correction="health care">Donald trump slowly rolled back Obama's <marker>health car</marker> reform.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>take</token>
                        <token>car</token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>Did you mean <suggestion>\2 \3e</suggestion>?</message>
                <example correction="Take care"><marker>Take car</marker>, Carl</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>take</token>
                        <token postag="SENT_END">car</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\2 \3e</suggestion>?</message>
                <example correction="Take care"><marker>Take car</marker></example>
            </rule>
        </rulegroup>
        <rule id="I_IN" name="I vs in">
            <antipattern><!-- I other wise ... -->
                <token>other</token>
                <token>wise</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <token regexp="yes" min="0">and|but</token>
                <marker>
                    <token>I</token>
                </marker>
                <token regexp="yes">my|his|her|y?our|their|other</token>
                <token postag="JJ.*|NN.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>in</suggestion> or <suggestion>is</suggestion>?</message>
            <example correction="In|Is"><marker>I</marker> my opinion this is wrong.</example>
        </rule>
        <rule id="HE_BE" name="he vs be">
            <antipattern>
                <token postag="CC|SENT_START|PCT|UH" postag_regexp="yes" />
                <token postag="MD" skip="-1" />
                <token postag="SENT_END">?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">garbage|trash|rubbish|the|a</token>
                <token>can</token>
            </antipattern>
            <pattern>
                <token postag="MD" />
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" min="0" />
                <marker>
                    <token case_sensitive="yes">he</token>
                </marker>
                <token postag="VBN">
                    <exception postag="VBP?" postag_regexp="yes" />
                </token>
                <token postag="CC|PCT|IN|RB" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>be</suggestion>?</message>
            <example correction="be">It will <marker>he</marker> turned on.</example>
            <example>I throw a piece of paper from a candy bar wrapping into his garbage can he had there by the camp stove.</example>
        </rule>
        <rule id="DUN_DONT" name="dun vs don't">
            <pattern>
                <marker>
                    <token regexp="yes">dunt?</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VBP?" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>don't</suggestion>?</message>
            <example correction="don't">I <marker>dun</marker> know what you mean.</example>
        </rule>
        <rulegroup id="AIR_BORNE_AIRBORN" name="air born vs airborne">
            <!-- needs highter prio than ADVERB_OR_HYPHENATED_ADJECTIVE -->
            <url>https://www.merriam-webster.com/dictionary/airborne</url>
            <rule>
                <pattern>
                    <token regexp="yes">air-?born</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>airborne</suggestion> (= transported by air)?</message>
                <example correction="airborne">Covid-19 is an <marker>airborn</marker> disease.</example>
            </rule>
            <rule>
                <pattern>
                    <token>air</token>
                    <token regexp="yes">borne?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>airborne</suggestion> (= transported by air)?</message>
                <example correction="airborne">Covid-19 is an <marker>air born</marker> disease.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BLOOD_BORNE_BLOODBORNE" name="blood born vs blood-borne">
            <url>https://www.merriam-webster.com/dictionary/blood-borne</url>
            <rule>
                <pattern>
                    <token>blood</token>
                    <token regexp="yes">borne?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>blood-borne</suggestion> (= carried by blood)?</message>
                <example correction="blood-borne">It is a <marker>blood born</marker> disease.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">blood-?born</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>blood-borne</suggestion> (= carried by blood)?</message>
                <example correction="blood-borne">It is a <marker>blood-born</marker> disease.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FOOD_BORNE_FOODBORN" name="food born vs foodborne">
            <!-- needs highter prio than ADVERB_OR_HYPHENATED_ADJECTIVE -->
            <url>https://www.merriam-webster.com/dictionary/foodborne</url>
            <rule>
                <pattern>
                    <token regexp="yes">food-?born</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>foodborne</suggestion> (= caused by food)?</message>
                <example correction="foodborne">He suffers a <marker>foodborn</marker> illness.</example>
            </rule>
            <rule>
                <pattern>
                    <token>food</token>
                    <token regexp="yes">borne?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>foodborne</suggestion> (= caused by food)?</message>
                <example correction="foodborne">He suffers a <marker>food born</marker> illness.</example>
            </rule>
        </rulegroup>
        <rule id="TOR_TO" name="tor vs to">
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>tor</token>
            </antipattern>
            <pattern>
                <marker>
                    <token case_sensitive="yes">tor</token>
                </marker>
                <token postag="VB" />
                <token postag="IN|DT|PRP.*" postag_regexp="yes" />
            </pattern>
            <message>Did you mean <suggestion>to</suggestion>?</message>
            <example correction="to">I'm unable <marker>tor</marker> find my keys.</example>
        </rule>
        <rulegroup id="TOR_FOR" name="tor vs for">
            <antipattern>
                <token regexp="yes">the|an?</token>
                <token postag="JJ" min="0" />
                <token>tor</token>
            </antipattern>
            <antipattern>
                <token>tor</token>
                <token regexp="yes">browser|servers?|clients?</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Tt]or</token>
                    </marker>
                    <token postag="DT|W.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>for</suggestion>?</message>
                <example correction="for">I'm looking <marker>tor</marker> the exit.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Tt]or</token>
                    </marker>
                    <token regexp="yes">my|y?our|its|his|her|their</token>
                </pattern>
                <message>Did you mean <suggestion>for</suggestion>?</message>
                <example correction="for">I'm looking <marker>tor</marker> my glasses.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|make|search|look</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Tt]or</token>
                    </marker>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>for</suggestion>?</message>
                <example correction="for">I'm looking <marker>tor</marker> work.</example>
                <example>In Germany, the first bus service was established in Berlin in 1825, running from Brandenburger Tor to Charlottenburg.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NEEDLES_NEEDLESS" name="needles (needless)">
            <rule>
                <pattern>
                    <marker><token>needles</token></marker>
                    <token>to</token>
                    <token regexp="yes">add|mention|say|tell|ask</token>
                </pattern>
                <message>Did you mean <suggestion>\1s</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Needless"><marker>Needles</marker> to say, she liked it.</example>
            </rule>
        </rulegroup>
        <rule id="O_TO" name="o (to)">
            <pattern>
                <token postag="VB.*" postag_regexp="yes"></token>
                <marker><token case_sensitive="yes">o</token></marker>
                <token postag="VB"><exception postag="JJ"></exception></token>
            </pattern>
            <message>Did you mean <suggestion>to</suggestion>?</message>
            <example correction="to">I wanted <marker>o</marker> start.</example>
        </rule>
        <rulegroup id="TO_TWO" name="to vs two">
            <rule>
                <antipattern>
                    <token skip="5" regexp="yes">closest|[wt]hat|which</token>
                    <token inflected="yes">have</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token postag="RB" />
                    <token postag="VB" />
                </antipattern>
                <antipattern><!-- to keeps all the ... (different error) -->
                    <token>to</token>
                    <token postag="VBZ" chunk="E-NP-plural" />
                    <token chunk="B-NP-plural" />
                </antipattern>
                <antipattern><!-- to keeps the ... (different error) -->
                    <token>to</token>
                    <token postag="VBZ" chunk="E-NP-plural" />
                    <token chunk="B-NP-singular" />
                </antipattern>
                <antipattern>
                    <token>haven</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">have</token>
                    <token regexp="yes" min="0">th[oe]se|that|this</token>
                    <marker>
                        <token case_sensitive="yes">to</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" chunk="B-NP-plural">
                        <exception postag="VBP?" postag_regexp="yes" />
                    </token>
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural">
                        <exception postag="NN|NN:UN?" postag_regexp="yes" />

                    </token>
                </pattern>
                <message>Did you mean the number <suggestion>two</suggestion>?</message>
                <example correction="two">We have <marker>to</marker> new developers.</example>
                <example correction="two">We have these <marker>to</marker> problems:</example>
                <example correction="two">I currently have <marker>to</marker> charts displaying data for the “Last Day” and the “Last Week” and I label them as such.</example>
                <example>We have to book taxes to all three paths in Hyperion.</example>
                <example>You can't teach a man to fish if he complains about having to fish.</example>
                <example>They’re the closest things I have to grandparents now.</example>
                <example>It is a safe haven to members of the task force.</example>
                <example>A court decision in the case could help clarify what duty an employer has to potential employees with disabilities.</example>
                <example>The free access which many young people have to romances, novels, and plays has poisoned the mind and corrupted the morals of many a promising youth; and prevented others from improving their minds in useful knowledge.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token>his</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token postag="VB.*|IN|SENT_START|PCT|CC" postag_regexp="yes" />
                    <token regexp="yes">the|my|his|our</token>
                    <marker>
                        <token case_sensitive="yes">to</token>
                    </marker>
                </pattern>
                <message>Did you mean the number <suggestion>two</suggestion>?</message>
                <example correction="two">The <marker>to</marker> new developers.</example>
                <example correction="two">I cannot get the <marker>to</marker> to work together.</example>
                <example>Brian's girlfriend often begs him to take her to luxurious restaurants.</example>
                <example>Hudgins has already sent his to me.</example>
                <example>I'm still not sure why you even brought up A to Z in this thread then.</example>
                <example>Going from A to B or B to A tends to cost more items than what you get back.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SHOUT_SHOULD" name="shout vs should">
            <rule>
                <pattern>
                    <marker>
                        <token>shout</token>
                    </marker>
                    <token>not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>should</suggestion>?</message>
                <example correction="should">Apple <marker>shout</marker> not require apps to make money.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>shout</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" chunk="B-VP" />
                </pattern>
                <message>Did you mean <suggestion>should</suggestion>?</message>
                <example correction="should">Apple <marker>shout</marker> require apps to make money.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>shout</token>
                    </marker>
                    <token>be</token>
                    <token postag="VBN|JJ" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>should</suggestion>?</message>
                <example correction="should">It <marker>shout</marker> be fixed now.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ACTIVE_ACTIVATE" name="active vs activate">
            <rule>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token postag="UNKNOWN" />
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token postag="PRP" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        s?he|it|we|they|you|I|[wc]ouldn?|mustn?|will|can(not)?
                        <exception case_sensitive="yes" regexp="yes">Will|IT</exception>
                    </token>
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">very|as|on|in|out|of|under|over|at|with</exception>
                    </token>
                    <marker>
                        <token regexp="yes">(de-?|re-?|in)?active[ds]?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="(?i)ive" regexp_replace="ivate" /></suggestion>?</message>
                <example correction="activate">I could not <marker>active</marker> your subscription.</example>
                <example correction="inactivate">I can <marker>inactive</marker> this.</example>
                <example>Androstenedione which is a precursor to testosterone unlocks bound testosterone and makes it biologically active again quickly.</example>
                <example>Isn't she active?</example>
                <example>Are we active enough?</example>
                <example>Global lists it as active.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">to|please</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">(de-?|re-?|in)?active[ds]?</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)ive" regexp_replace="ivate" /></suggestion>?</message>
                <example correction="deactivate">In order to <marker>deactive</marker> your account, you need to log in first.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TAB_TAP" name="tab vs tap">
            <rule>
                <pattern>
                    <token regexp="yes">please|[cw]ouldn?|will|shouldn?|mustn?|to|(no)?t|go|can|cannot|you|I|s?he|we</token>
                    <token min="0" regexp="yes">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">tabs?</token>
                    </marker>
                    <token>on</token>
                </pattern>
                <message>Did you mean the verb <suggestion>tap</suggestion> (describing an action performed with your finger)?</message>
                <url>https://www.merriam-webster.com/dictionary/tap</url>
                <example correction="tap">Please <marker>tab</marker> on the button to enable your profile.</example>
            </rule>
            <rule>
                <pattern>
                    <token>galaxy</token>
                    <marker>
                        <token>tap</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>tab</suggestion> (short form for "tablet")?</message>
                <example correction="Tab">I'm using a Samsung Galaxy <marker>Tap</marker>.</example>
            </rule>
        </rulegroup>

        <rulegroup id="NIGH_NIGHT" name="nigh vs night">
            <rule>
                <pattern>
                    <token regexp="yes">&weekdays;|christmas|summer|winter|good</token>
                    <marker>
                        <token>nigh</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>night</suggestion>?</message>
                <example correction="night">I will call you Monday <marker>nigh</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|until|till?|during|at|mid|an?|my|y?our|his|her|their|this|that</token>
                    <token postag="JJ.*" min="0" postag_regexp="yes" />
                    <marker>
                        <token chunk="E-NP-singular">nigh</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>night</suggestion>?</message>
                <example correction="night">I woke up at <marker>nigh</marker> from a nightmare.</example>
                <example>The near or nigh horse is the one on the left.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MAY_MANY" name="many vs may">
            <rule>
                <pattern>
                    <token regexp="yes">how|are|'re|were|been</token>
                    <token min="0" regexp="yes">so|too</token>
                    <marker>
                        <token>may</token>
                    </marker>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                    <token chunk="E-NP-plural" />
                </pattern>
                <message>Did you mean <suggestion>many</suggestion>?</message>
                <example correction="many">How <marker>may</marker> different animals are living in the zoo?</example>
                <example correction="many">There are so <marker>may</marker> people who are unhappy with our service.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SON_SOON" name="too so(o)n">
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>son</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>soon</suggestion>?</message>
                <example correction="soon">I would <marker>son</marker> be ready to talk to you.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token>too</token>
                    <marker><token>son</token></marker>
                </pattern>
                <message>Did you mean <suggestion>soon</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="soon">It was too <marker>son</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NO_NOT" name="no vs not">
            <rule>
                <pattern>
                    <token regexp="yes">could|did|does|should|would</token>
                    <marker><token>no</token></marker>
                    <token postag="VB"><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="not">She could <marker>no</marker> hear you.</example>
                <example correction="not">She does <marker>no</marker> understand.</example>
                <example correction="not">I would <marker>no</marker> do this.</example>
            </rule>
            <rule>
                <!-- needed to overlay some false alarms of BEEN_PART_AGREEMENT -->
                <antipattern>
                    <token>not</token>
                    <token postag="RB" min="0" max="2" />
                    <token postag="DT|VBG|VBN|CD" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token chunk="B-ADJP">
                        <exception>past</exception>
                    </token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token postag="RB" min="0" max="2" />
                    <token regexp="yes">enough|so|only|just|many|much|even|(any|some|no)(body|thing|where|one)|already|very|really|one</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|which|what</token>
                    <token inflected="yes">be</token>
                    <token regexp="yes">t?here</token>
                    <token regexp="yes">is|was</token>
                    <token>not</token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token />
                    <token regexp="yes">&hyphen_modifier;</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">t?here</token>
                    <token regexp="yes">is|'s|was</token>
                    <marker>
                        <token>not</token>
                        <token postag="JJR?" postag_regexp="yes" min="0" />
                        <token postag="NN.*" postag_regexp="yes">
                            <exception regexp="yes">then|his|are</exception>
                        </token>
                    </marker>
                </pattern>
                <message>It seems that the adverb "not" is incorrect in this context.</message>
                <suggestion>no \4 \5</suggestion>
                <example correction="no time">There is <marker>not time</marker> for experiments.</example>
                <example correction="no circuit">There is <marker>not circuit</marker> board that works.</example>
                <example correction="no fast">Unfortunately there is <marker>not fast</marker> way to update it.</example>
                <example correction="no data">There is <marker>not data</marker> about Ecuador.</example>
                <example correction="no sufficient data">There is <marker>not sufficient data</marker> to establish the safety of chiropractic manipulations.</example>
                <example correction="no coolant">There is <marker>not coolant</marker> in the oil.</example>
                <example correction="no dirt">Where there's <marker>not dirt</marker> there's piles of crap.</example>
                <example correction="no plan">So, we can't say that there is <marker>not plan</marker> in place righ now.</example>
                <example correction="no final ruling">I can’t find it listed in the Federal Register so there is <marker>not final ruling</marker> on it.</example>
                <example correction="no need">As I said before, when working with containers, there is <marker>not need</marker> to stuff to much into the same image.</example>
                <example correction="no past">There is <marker>not past</marker>, no future; everything flows in an eternal present.</example>
                <example correction="no AC">I have some projects in mind that I want to pursue but there is <marker>not AC</marker> power nearby.</example>
                <example correction="no doubt">I have had many comments already and there is <marker>not doubt</marker> that this will lead to a new wave of Enron purchases of Mercedes.</example>
                <example>There is not enough milk.</example>
                <example>There is not even a semblance of proof.</example>
                <example>And there is not even enough water.</example>
                <example>I hope that what is described here is not NERC's functional model.</example>
                <example>Translation here is not fundamental.</example>
                <example>Let me know if anything in here is not clear.</example>
                <example>The light here's not good for reading.</example>
                <example>There is not just one method to discovering one's hair type.</example>
                <example>Well, the weather here is not getting better.</example>
                <example>In short, there’s not going to be a one-size-fits-all solution for distributing AUI.</example>
                <example>There is not intended to be any other reason to craft orbs, so it’s inefficient by design.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>not</token>
                    <token regexp="yes">enough|so|only|just|many|much|even|(any|some|no)(body|thing|where|one)|already|very|really|one</token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token postag="IN|VBG" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="CC|PCT|SENT_START|RB" postag_regexp="yes" />
                    <token>there</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>not</token>
                    </marker>
                    <token postag="JJ|NN.*" postag_regexp="yes">
                        <exception postag="CD" />
                        <exception regexp="yes">then|his|are|(any|some)(way|thing|body)</exception>
                        <exception>left</exception>
                    </token>
                </pattern>
                <message>It seems that the adverb "not" is incorrect in this context.</message>
                <suggestion>no</suggestion>
                <example correction="no">There are <marker>not</marker> good.</example>
                <example correction="no">There is <marker>not</marker> similarity between her name and my email.</example>
                <example correction="no">In North Africa, there are <marker>not</marker> jaguars.</example>
                <example correction="no">There is <marker>not</marker> set timetable for a decision.</example>
                <example correction="no">You said Jeff Skilling left for "personal reasons" and there were <marker>not</marker> hidden financial problems.</example>
                <example>There are not enough words.</example>
                <example>There are not so many teachers here.</example>
                <example>There is not much hope.</example>
                <example>There's not going to be a party.</example>
                <example>The hospital there is not huge.</example>
                <example>The folks that work there are not mechanics ad they don’t know what they are doing.</example>
                <example>Naomi died in 1956, and she did not have a kaddish at her funeral because there were not ten Jewish men present.</example>
                <example>There is not left one man to seven women, and everywhere there are widows to still-living husbands.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="5" regexp="yes">t?here</token>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern>
                    <token>there</token>
                    <token>is</token>
                    <token>to</token>
                    <token>be</token>
                </antipattern>
                <antipattern>
                    <token>laughing</token>
                    <token>matter</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token regexp="yes">different|good</token>
                </antipattern>
                <antipattern><!-- She is no less pretty than her sister.-->
                    <token>no</token>
                    <token regexp="yes">less|more</token>
                </antipattern>
                <antipattern><!-- It's no secret that she left-->
                    <token>no</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token chunk="B-SBAR">that</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token postag="VBG|JJ" postag_regexp="yes">
                        <exception postag="IN|VB" postag_regexp="yes" />
                        <exception regexp="yes">fun|time|.*work|secret|sorry</exception>
                    </token>
                    <token postag="IN|RB|DT|PRP\$|TO" postag_regexp="yes">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">I'm <marker>no</marker> going to complain.</example>
                <example correction="not">It is <marker>no</marker> nice with the roof open.</example>
                <example>There is to be no fraternizing with the enemy.</example>
                <example>It is no real end-to-end encryption.</example>
                <example>I have a cold and fever, so there will most likely be no training tomorrow.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>built</token>
                    <token>in</token>
                </antipattern>
                <antipattern>
                    <token>no</token>
                    <token>thought</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">have</token>
                    <marker>
                        <token>no</token>
                    </marker>
                    <token postag="VBN" />
                    <token postag="IN|RB|DT|PRP\$|TO" postag_regexp="yes">
                        <exception postag="JJ" />
                        <exception regexp="yes">way|home</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>not</suggestion>?</message>
                <example correction="not">I have <marker>no</marker> begun to check the results yet.</example>
            </rule>
            <rule>
                <!-- TODO: "If we have not peace within ourselves" → have no, do not have, don't have -->
                <antipattern>
                    <token inflected="yes">have</token>
                    <token>not</token>
                    <token>bee</token><!-- confusion of BEEN (see BEE_BEEN)-->
                    <token postag="VBN" />
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token regexp="yes" chunk_re=".-VP">&incorrect_noun_verbs;</token>
                </antipattern>
                <antipattern><!-- ... had not Turbo Pascal shown up for about the same price. -->
                    <token>had</token>
                    <token>not</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="VBN" />
                </antipattern>
                <pattern>
                    <token inflected="yes">
                        have
                        <exception>hath</exception>
                    </token>
                    <marker>
                        <token>not</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="NN.*" postag_regexp="yes" negate_pos="yes" />
                        <exception regexp="yes">(any|some|every)(thing|one|body)</exception>
                    </token>
                </pattern>
                <message>The correct negation here seems to be <suggestion>no</suggestion>?</message>
                <example correction="no">I have <marker>not</marker> idea for this.</example>
                <example correction="no">I have <marker>not</marker> problem with a few rounds of sparrings like it was before.</example>
                <example correction="no">If so, I have <marker>not</marker> suggestions on that front.</example>
                <example correction="no">Rust does not see the letters and has <marker>not</marker> knowledge of the problems that are involved at each house.</example>
                <example correction="no">If we have <marker>not</marker> peace within ourselves, it is in vain to seek it from outward sources.</example>
                <example correction="no">Though I speak with the tongues of men and of angels, and have <marker>not</marker> mercy, I am become as sounding brass, or a tinkling cymbal.</example>
                <example correction="no">… but today when I log in I'm told I've <marker>not</marker> apps listed.</example>
                <example>It may have been successful had not Turbo Pascal shown up for about the same price.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ETHER_EITHER" name="ether vs either">
            <rule>
                <pattern>
                    <marker>
                        <token>ether</token>
                    </marker>
                    <token postag="VB.*|PRP|DT" postag_regexp="yes" skip="5">
                        <exception scope="next">either</exception>
                    </token>
                    <token>or</token>
                    <token postag="VB.*|PRP|DT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>either</suggestion>?</message>
                <example correction="either">We can <marker>ether</marker> go to the shopping center or spend the day in the park.</example>
                <example>Ether was either sniffed or drunk and, in some towns, replaced alcohol entirely.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="MD" />
                    <marker>
                        <token>ether</token>
                    </marker>
                    <token postag="VB" skip="10" />
                    <token>or</token>
                </pattern>
                <message>Did you mean <suggestion>either</suggestion>?</message>
                <example correction="either">We can <marker>ether</marker> go to the shopping center or spend the day in the park.</example>
            </rule>
        </rulegroup>
        <rulegroup id="FILED_FIELD" name="filed vs field">
            <rule>
                <pattern>
                    <token postag="DT"/>
                    <marker><token>filed</token></marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>field</suggestion>?</message>
                <example correction="field">Do you have any experience in the <marker>filed</marker> of IT security.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SHIPPING_SHOPPING" name="shipping vs shopping">
            <antipattern>
                <token>nagasaki</token>
                <token>shipping</token>
                <token>list</token>
            </antipattern>
            <antipattern>
                <token>parcel</token>
                <token>shipping</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">global|(inter)?national</token>
                <token>shipping</token>
                <token regexp="yes">centers?|centres?|lists?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>shipping</token>
                    <token regexp="yes">malls?|lists?|centers?|centres?|carts?</token>
                </pattern>
                <message>Did you mean <suggestion>shopping \2</suggestion>?</message>
                <example correction="shopping mall">She went to the <marker>shipping mall</marker> to buy some new clothes.</example>
                <example>The first such mass newspaper to be founded was the Nagasaki Shipping List &amp; Advertiser, established in 1861 in Nagasaki by the Englishman A.W. Hansard.</example>
            </rule>
        </rulegroup>
        <rule id="EFFORT_AFFORD" name="effort vs afford">
            <antipattern>
                <token postag="IN|VB.*" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
                <token postag="JJ" min="0" />
                <token>effort</token>
            </antipattern>
            <pattern>
                <token regexp="yes">
                    you|they|we|s?he|it|I|can|cannot|don|doesn|didn|won|will|would|could|should|must|might
                    <exception case_sensitive="yes">IT</exception>
                </token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>effort</token>
                </marker>
            </pattern>
            <message>The word "\4" is a noun. Did you mean <suggestion>afford</suggestion>?</message>
            <example correction="afford">I cannot <marker>effort</marker> a new car.</example>
            <example>Could you do XYZ, it wont take you much effort?</example>
        </rule>
        <rule id="FOUD_FOUND" name="foud vs found">
            <pattern>
                <token regexp="yes">we|they|you|it|s?he|I|have|ve|had|has|been|were|was|is|'s|am|'m|are|'re|be|can(not)?</token>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Ff]oud</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>found</suggestion> (= past tense of "to find")?</message>
            <example correction="found">I have <marker>foud</marker> my socks in the washing machine.</example>
        </rule>
        <rulegroup id="HOE_HOW" name="hoe vs how">
            <rule>
                <pattern>
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Hh]oe</token>
                    </marker>
                    <token skip="-1" regexp="yes">do(es)?|did|can|will|(sh|w|c)ould|must|shall|is|are|was|were|has|have</token>
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>how</suggestion>?</message>
                <example correction="How"><marker>Hoe</marker> does it work?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>hoe</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>how</suggestion>?</message>
                <example correction="how">Learn <marker>hoe</marker> to become a better developer.</example>
            </rule>
        </rulegroup>
        <rule id="MANGE_MANAGE" name="mange vs manage">
            <antipattern case_sensitive="yes">
                <token postag="NNP" />
                <token regexp="yes">Manges?</token>
            </antipattern>
            <pattern>
                <token postag="PRP|NNPS?|MD|TO" postag_regexp="yes" />
                <token regexp="yes" min="0">&apostrophe;</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Mm]anges?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="4" regexp_match="ang" regexp_replace="anag" /></suggestion>?</message>
            <example correction="manage">I'll <marker>mange</marker> it for you.</example>
            <example>Key benefactors to the department have been Clayton Mordaunt Cracherode, Richard Payne Knight, John Malcolm, Campbell Dodgson, César Mange de Hauke and Tomás Harris.</example>
        </rule>
        <rule id="GUES_GUESS" name="gues vs guess">
            <pattern>
                <token postag="PRP|NNPS?|MD|TO" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Gg]ues</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>guess</suggestion>?</message>
            <example correction="guess">I <marker>gues</marker> you are right.</example>
        </rule>
        <rule id="GO_GOT" name="go vs got">
            <pattern>
                <token postag="PRP|MD" postag_regexp="yes" />
                <marker>
                    <token>got</token>
                </marker>
                <token>get</token>
            </pattern>
            <message>Did you mean <suggestion>go</suggestion>?</message>
            <example correction="go">I'll <marker>got</marker> get you a doctor.</example>
        </rule>
        <rule id="HAPPED_HAPPENED" name="happed vs happened">
            <!-- happed (from hap) is archaic/scottish -->
            <pattern>
                <token>happed</token>
            </pattern>
            <message>Did you mean <suggestion>happened</suggestion> or <suggestion>happen</suggestion>?</message>
            <example correction="happened|happen">It <marker>happed</marker> way too many times.</example>
        </rule>
        <rule id="FORE_FOR" name="fore vs for">
            <antipattern>
                <token regexp="yes">an?|the|my|y?our|their|her|his|its</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>fore</token>
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Ff]ore</token>
                </marker>
                <token regexp="yes">an?|the|my|y?our|their|her|his|its</token>
            </pattern>
            <message>Did you mean <suggestion>for</suggestion> or <suggestion>force</suggestion>?</message>
            <example correction="for|force">He asked them <marker>fore</marker> their help.</example>
        </rule>
        <rule id="MA_MY" name="ma vs my">
            <antipattern>
                <token>jack</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&apostrophe;</token>
                <token min="0">s</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token>ma</token>
                <token regexp="yes">&apostrophe;</token>
            </antipattern>
            <antipattern>
                <token>I</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">dr|mrs?|prof</token>
                <token min="0">.</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\.|_</token>
                <token spacebefore="no">ma</token>
            </antipattern>
            <antipattern>
                <token>ma</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">my|y?our|his|her|their|its|the|an?</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token><exception postag="SENT_START" /></token>
                <token case_sensitive="yes">Ma</token>
            </antipattern>
            <antipattern>
                <token>ma</token>
                <token regexp="yes">femme|wan|la|non|anand|bar?ker|bufang|boyong|buqing|chao|cheri[eéè]s?|qi|chengyuan|zh.*|ch[uiae]ng|dong.*|dehua|tianyu|qing|huateng|belle|yve|yvé</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">sur|vous|pour</token>
                <token>ma</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token>Ma</token>
                <token chunk="B-VP" />
            </antipattern>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Mm]a</token>
                </marker>
                <token postag="JJ.*|NN.*|RB.*" postag_regexp="yes">
                    <exception postag="IN|MD|W.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>Did you mean <suggestion>my</suggestion>?</message>
            <example correction="my">He is <marker>ma</marker> best friend.</example>
            <example>Ma fell Saturday Night and busted her forehead.</example>
            <example>"Vous ma lady", duet with Laurent Vergez.</example>
        </rule>
        <rulegroup id="CAN_CAB" name="can vs cab/cam">
            <rule>
                <antipattern>
                    <token postag="NNP" />
                    <token>cam</token>
                </antipattern>
                <antipattern>
                    <token>cam</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>live</token>
                    <token>cam</token>
                </antipattern>
                <pattern>
                    <token postag="NNPS?|PRP" postag_regexp="yes">
                        <exception>her</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">ca[bm]</token>
                    </marker>
                    <token postag="VBP?|PCT" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the modal verb <suggestion>can</suggestion>?</message>
                <example correction="can">Yes, we <marker>cab</marker>.</example>
                <example correction="can">I <marker>cab</marker> confirm that it does not work.</example>
                <example correction="can">I need to see the language before I <marker>cam</marker> advise you.</example>
                <example>Or should I go for the Nest cam?</example>
                <example>She was called while being in her cab.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes">
                        <exception regexp="yes">provided|for</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Cc]a[bm]</token>
                    </marker>
                    <token postag="NNPS?|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the modal verb <suggestion>can</suggestion>?</message>
                <example correction="Can"><marker>Cab</marker> you confirm that it does not work?</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ" min="0" />
                    <token>cab</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Cc]ab</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">be|make|do|have|say|go|run|send|see|relate|imagine|breathe|watch|feel</token>
                </pattern>
                <message>Did you mean the modal verb <suggestion>can</suggestion>?</message>
                <example correction="can">It would be nice if the spelling <marker>cab</marker> be adjusted.</example>
            </rule>
        </rulegroup>
        <rule id="IT_SI" name="it vs si">
            <pattern>
                <token regexp="yes" case_sensitive="yes">
                    [Ii]t|[Ss]he|[Hh]e|[Tt]?[Hh]ere|[Ww]ho|[Ww]here|[Ww]hen|[Ww]hat|[Hh]ow|[Ww]hich
                </token>
                <marker>
                    <token>si</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>is</suggestion>?</message>
            <example correction="is">It <marker>si</marker> great.</example>
        </rule>
        <rulegroup id="MULTIPLE_MULTIPLY" name="multiple vs multiply">
            <antipattern>
                <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
                <token postag="RB" min="0" />
                <token>multiple</token>
            </antipattern>
            <antipattern>
                <token>multiple</token>
                <token>times</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <token postag="RB" min="0" />
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>multiple</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>multiply</suggestion>?</message>
                <example correction="multiply">I can <marker>multiple</marker> it 5 times.</example>
                <example>You would have to beat it multiple times to get multiple copies.</example>
                <example>Why do you need multiple SSIDs?</example>
                <example>How would multiple expressions be separated in a single large text?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|they|we|s?he|it</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                        <exception>needs</exception>
                    </token>
                    <marker>
                        <token>multiple</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>multiply</suggestion>?</message>
                <example correction="multiply">I <marker>multiple</marker> it 5 times.</example>
                <example>You would have to beat it multiple times to get multiple copies.</example>
                <example>Why do you need multiple SSIDs?</example>
                <example>They have said it in multiple threads.</example>
                <example>I called you back multiple times.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <marker>
                        <token>multiples</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>multiplies</suggestion>?</message>
                <example correction="multiplies">She <marker>multiples</marker> it 5 times.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>it</token>
                    <token regexp="yes">professionals?|departments?|services?|experts?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>multiple</token>
                    </marker>
                    <token regexp="yes">
                        the|it|th[oe]se
                        <exception case_sensitive="yes">IT</exception>
                    </token>
                </pattern>
                <message>Did you mean the verb <suggestion>multiply</suggestion>?</message>
                <example correction="multiply">I <marker>multiple</marker> the number by 5 and then get the result.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>multiple</token>
                    </marker>
                    <or>
                        <token postag="CD" min="0" />
                        <token regexp="yes">
                            this|that|it|th[oe]se|them
                            <exception case_sensitive="yes">IT</exception>
                        </token>
                    </or>
                    <token>by</token>
                </pattern>
                <message>Did you mean the verb <suggestion>multiply</suggestion>?</message>
                <example correction="multiply">I <marker>multiple</marker> 10 by 5 and get 50.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>multiple</token>
                    </marker>
                    <token postag="DT" />
                    <token postag="JJ" min="0" />
                    <token regexp="yes">numbers?</token>
                </pattern>
                <message>Did you mean the verb <suggestion>multiply</suggestion>?</message>
                <example correction="multiply">What happens when you <marker>multiple</marker> that number by 10?</example>
            </rule>
        </rulegroup>
        <rule id="GLADY_GLADLY" name="glady vs gladly">
            <pattern>
                <marker>
                    <token>glady</token>
                </marker>
                <or>
                    <token chunk="B-VP" />
                    <token chunk="I-VP" />
                </or>
            </pattern>
            <message>Did you mean the adverb <suggestion>gladly</suggestion>?</message>
            <example correction="gladly">I will <marker>glady</marker> support him in getting it done.</example>
        </rule>
        <rule id="SOMETIME_SOMETIMES" name="sometime vs sometimes">
            <antipattern>
                <token>sometime</token>
                <token skip="2">a</token>
                <token regexp="yes">ago|back</token>
            </antipattern>
            <antipattern>
                <token>sometime</token>
                <token min="0">the</token>
                <token regexp="yes">next|previous|following|upcoming</token>
            </antipattern>
            <antipattern>
                <token skip="2">sometime</token>
                <token regexp="yes">will|'ll</token>
            </antipattern>
            <pattern>
                <token postag="CC|SENT_START" postag_regexp="yes">
                    <exception regexp="yes">provided|until|for</exception>
                </token>
                <marker>
                    <token>sometime</token>
                </marker>
                <token skip="3" regexp="yes">
                    I|you|we|they|s?he|it|the|an?|my|y?our|his|her|its|that|there
                </token>
                <token postag="VB.*|MD" postag_regexp="yes" />
            </pattern>
            <message>It seems that <suggestion>sometimes</suggestion> fits better in this context. Please check.</message>
            <example correction="Sometimes"><marker>Sometime</marker> I go to the supermarket to buy new groceries.</example>
            <example>Sometime last night I woke up.</example>
            <example>Sometime this week we will ship it and hopefully start the assembly.</example>
            <example>Sometime a while ago I was in Europe.</example>
            <example>I could then meet you at Monahans on 3/22 or sometime the following week.</example>
            <example>Sometime I'll definitely visit France.</example>
        </rule>
        <rulegroup id="SOMETIME_SOME_TIME" name="sometime (some time)">
            <rule id="FOR_SOMETIME_FOR_SOME_TIME" name="for sometime → for some time">
                <antipattern><!-- fill you in sometime -->
                    <token inflected="yes">fill</token>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token>in</token>
                    <token>sometime</token>
                </antipattern>
                <antipattern>
                    <token>sometime</token>
                    <token postag_regexp="yes" postag="RB|JJ" min="0" max="3" />
                    <token postag_regexp="yes" postag="IN|DT" min="0" max="3" /><!-- later [in the] week -->
                    <token regexp="yes">soon|today|tomorrow|tonight|morning|afternoon|second|minute|hour|day|week|month|quarter|year|decade|century|millenium|(?:Sun|Mon|Tue|Wednes|Thurs|Fri|Satur)day|weekend</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP" inflected="yes" skip="3">schedule</token>
                    <token>sometime</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" postag="IN">for|in|at|to</token>
                    <token postag="RB" min="0">
                        <exception postag="VB"></exception>
                        <exception>sometime</exception>
                    </token>
                    <marker>
                        <token>sometime</token><!-- TODO what about someday? -->
                    </marker>
                    <token>
                        <exception postag="IN|DT|WRB" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The adverb "sometime" means "at some point in the future". Did you mean <suggestion>some time</suggestion> (which often means "a long span of time" as in the phrase "for some time" or "in some time")?</message>
                <url>https://www.learnenglish.de/mistakes/sometimevssometimes.html</url>
                <example correction="some time">I have used it for <marker>sometime</marker>.</example>
                <example>I have used it for some time.</example>
                <example correction="some time">I haven't done it in quite <marker>sometime</marker>.</example>
                <example correction="some time">I've done it for <marker>sometime</marker> now.</example>
                <example correction="some time">I got quite sick for <marker>sometime</marker> afterwards.</example>
                <example correction="some time">The business continued for <marker>sometime</marker> thereafter.</example>
                <example>I will schedule it for sometime this week.</example>
                <example>I will schedule it for sometime during the week.</example>
                <example>I will schedule it for sometime later next week.</example>
                <example>I will schedule it for sometime later in the week.</example>
                <example>I will schedule it for sometime soon.</example>
                <example>I will schedule it for sometime today.</example>
                <example>I will schedule it for sometime early next week.</example>
                <example>I will schedule it for sometime after next week.</example>
                <example>I will schedule it for sometime later next week.</example>
                <example>I will schedule it for sometime the following week.</example>
                <example>I will schedule it for sometime over the next week.</example>
                <example>I will schedule it for sometime around 1 p.m.</example>
                <example>I will schedule it for sometime when things are better.</example>
                <example>I will schedule a call sometime for an hour.</example>
                <example>It is scheduled for sometime in January.</example>
                <example>It is scheduled for sometime Saturday.</example>
                <example>I will drop by sometime for a visit.</example>
                <example>I am going to Spain sometime.</example>

                <!-- Phrasal verb ending with "in" + "sometime" may be a false positive,
                but main antipattern catches most ambiguous cases anyway -->
                <example>I hope he fills you in sometime.</example>
                <example>I will fill you in sometime.</example>
                <example>I will get a lift in sometime soon.</example>
                <!-- Very unlikely: schedule it for sometime -->
                <example>I will schedule it for sometime.</example>
            </rule>
        </rulegroup>
        <rule id="NO_KNOW" name="no vs know">
            <pattern>
                <token inflected="yes">do</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token inflected="yes">not</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>no</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>know</suggestion>?</message>
            <example correction="know">I didn't <marker>no</marker> the movie until I watched it.</example>
        </rule>
        <rule id="FARE_FAIR" name="fare vs fair">
            <pattern>
                <token inflected="yes">be</token>
                <token regexp="yes">(no)?t</token>
                <marker>
                    <token>fare</token>
                </marker>
            </pattern>
            <message>Did you mean the adjective <suggestion>fair</suggestion>?</message>
            <example correction="fair">It's not <marker>fare</marker> how to treat me!</example>
        </rule>
        <rule id="TOO_TOOL" name="too vs tool">
            <pattern>
                <token regexp="yes">the|an?</token>
                <marker>
                    <token>
                        too
                        <exception scope="next" postag="JJ.*|RB.*" postag_regexp="yes" />
                        <exception scope="next" regexp="yes">many|spread|long</exception>
                    </token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>two</suggestion> or <suggestion>tool</suggestion>?</message>
            <example correction="two|tool">I don't like the <marker>too</marker>.</example>
            <example>I have seen many patients pass away at a too young age.</example>
        </rule>
        <rulegroup id="SEN_SEND" name="sen vs send">
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">
                        have|be
                        <exception>be</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">sen</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>sent</suggestion>?</message>
                <example correction="sent">I have <marker>sen</marker> you a message on Facebook.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|MD|TO" postag_regexp="yes" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">sen</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>send</suggestion>?</message>
                <example correction="send">I can't <marker>sen</marker> you an e-mail.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">sen</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>send</suggestion>?</message>
                <example correction="send">I didn't <marker>sen</marker> you an e-mail.</example>
            </rule>
        </rulegroup>
        <rulegroup id="POSSES_POSSESS" name="posess vs possess">
            <url>https://www.merriam-webster.com/dictionary/possess</url>
            <rule>
                <pattern>
                    <token regexp="yes">
                        s?he|it
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">posses(es)?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>possesses</suggestion> (= to own)?</message>
                <example correction="possesses">She <marker>posses</marker> a nice car.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|MD|TO" postag_regexp="yes" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>posses</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>possess</suggestion> (= to own)?</message>
                <example correction="possess">The ideal candidate will <marker>posses</marker> one to three years of related business development experience in entertainment</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>posses</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>possess</suggestion> (= to own)?</message>
                <example correction="possess">I didn't <marker>posses</marker> a car.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HIS_HE_S" name="his vs he's">
            <rule>
                <pattern>
                    <token regexp="yes">what|how|which|where|who|when|why</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes">is|'s|was</token>
                    <marker>
                        <token>he</token>
                                                <token>'s</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>his</suggestion>?</message>
                <example correction="his">What is <marker>he's</marker> job?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>a</token>
                    <token regexp="yes">capp?ell?a</token>
                </antipattern>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes">
                        <exception regexp="yes">provided|for</exception>
                    </token>
                    <marker>
                        <token>his</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">an?|the|my|y?our|their</token>
                </pattern>
                <message>Did you mean <suggestion>he's</suggestion>?</message>
                <example correction="He's"><marker>His</marker> a great friend of mine.</example>
                <example>His The Whole Book of Psalms Paraphrased (1650) was published posthumously by Richard Vines.</example>
                <example>I can make his a lot better.</example>
                <example>He is best known for his a cappella covers of video game music tracks on YouTube.</example>
            </rule>
        </rulegroup>
        <rule id="AL_ALL" name="al vs. all">
            <antipattern>
                <token>El</token>
                <token>Al</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" />
                <marker>
                    <token case_sensitive="yes">Al</token>
                </marker>
                <token regexp="yes">of|in|from|at|my|his|her|their|y?our|the</token>
            </pattern>
            <message>Did you mean <suggestion>All</suggestion>?</message>
            <example correction="All"><marker>Al</marker> of my friends are happy.</example>
        </rule>
        <rule id="MATER_MATTER" name="mater vs matter">
            <pattern>
                <token inflected="yes" regexp="yes">do|will|can|shall|might</token>
                <token min="0" regexp="yes">&apostrophe;</token>
                <token min="0" postag="RB" />
                <marker>
                    <token>mater</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>matter</suggestion>?</message>
            <example correction="matter">It does not <marker>mater</marker> to us.</example>
        </rule>
        <rulegroup id="DISCUS_DISCUSS" name="he discuses (discusses)">
            <url>https://www.merriam-webster.com/dictionary/discuss</url>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">discus|discuses</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discusses</suggestion> (= talk about something)?</message>
                <example correction="discusses">He <marker>discuses</marker> the topic.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">we|they|I|you</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">discus|discuses</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">We <marker>discus</marker> the topic.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="NN.*|PRP_S.*" postag_regexp="yes" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">discus|discuses</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">We can <marker>discus</marker> the topic.</example>
                <example correction="discuss">We can't <marker>discus</marker> the topic.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">want|need|like|love|hate|try|have</token>
                    <token>to</token>
                    <marker>
                        <token>discus</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">I'd like to <marker>discus</marker> this topic with you.</example>
            </rule>
            <rule>
                <pattern>
                    <token>happy</token>
                    <token>to</token>
                    <marker>
                        <token>discus</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">I'm happy to <marker>discus</marker> the next steps.</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <marker>
                        <token>discus</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">I'm happy to <marker>discus</marker> the next steps.</example>
            </rule>
            <rule>
                <pattern>
                    <token>please</token>
                    <token postag="RB" min="0">
                        <exception postag="VB|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>discus</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">Please <marker>discus</marker> the next steps.</example>
            </rule>
            <rule>
                <pattern>
                    <token>let</token>
                    <token regexp="yes">'s|us|me|them</token>
                    <marker>
                        <token>discus</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>discuss</suggestion> (= talk about something)?</message>
                <example correction="discuss">Let's <marker>discus</marker> the next steps.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COM_COME" name="you com (come)">
            <url>https://www.merriam-webster.com/dictionary/come</url>
            <antipattern>
                <token>com</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" />
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no">com</token>
            </antipattern>
            <antipattern>
                <token>com</token>
                <token>ed</token>
            </antipattern>
            <antipattern>
                <token>sys</token>
                <token>i</token>
                <token>com</token>
            </antipattern>
            <antipattern><!-- https://en.wiktionary.org/wiki/com%27st -->
                <token>com</token>
                <token regexp="yes">&apostrophe;</token>
                <token>st</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token postag="JJ" min="0" />
                <token>cam</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|s?he|we|they|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>cam</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>came</suggestion> (past tense of 'to come')?</message>
                <url>https://www.merriam-webster.com/dictionary/come</url>
                <example correction="came">He <marker>cam</marker> to help.</example>
            </rule>
            <rule>
                <pattern>
                    <token>
                        <exception postag="DT" />
                        <exception regexp="yes">netatmo|nest|max|spotlight|ip|wyze|logitech|blink|y|amazon|twin|netgear|gear|arlo|ring|amcrest|yi|samsung</exception>
                    </token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Cc][ao]m</token>
                    </marker>
                    <token regexp="yes">here|from|towards|near|along|anywhere|up</token>
                </pattern>
                <message>Did you mean the verb <suggestion>\2e</suggestion>?</message>
                <example correction="came">Tom <marker>cam</marker> here to party.</example>
                <example>Greenland.com from the Greenland Tourism &amp; Business Council</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|MD"  postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Cc]om</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>come</suggestion>?</message>
                <example correction="come">Can you <marker>com</marker> and help me?</example>
                <example>Is it com.mohamicorp.plugin.namespace.key?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">hasn?|haven?|ve|to|please|didn|don|doesn</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Cc]om</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>come</suggestion>?</message>
                <example correction="come">It has <marker>com</marker> to an end.</example>
            </rule>
            <rule>
                <pattern>
                    <token>com</token>
                    <token>on</token>
                </pattern>
                <message>Did you mean <suggestion>come \2</suggestion>?</message>
                <example correction="Come on"><marker>Com on</marker>, let's go.</example>
                <example>Visit JCPenney.com on the WorldPerks Mall.</example>
            </rule>
        </rulegroup>
        <rule id="WRIT_WRITE" name="writ vs write">
            <pattern>
                <token postag="PRP|MD|TO" postag_regexp="yes">
                    <exception>need</exception>
                </token>
                <token postag="RB" min="0" />
                <marker>
                    <token>writ</token>
                </marker>
            </pattern>
            <message>Did you mean the verb <suggestion>write</suggestion>?</message>
            <example correction="write">I can <marker>writ</marker> you a message on Slack.</example>
        </rule>
        <rule id="DIES_DOES" name="dies vs does">
            <pattern>
                <token regexp="yes">s?he|it</token>
                <marker>
                    <token>dies</token>
                </marker>
                <token regexp="yes">not|that</token>
            </pattern>
            <message>Did you mean <suggestion>does</suggestion>?</message>
            <example correction="does">He <marker>dies</marker> not know what we do.</example>
        </rule>
        <rulegroup id="WAN_WANT" name="wan vs want">
            <antipattern><!-- caught by WAN_T -->
                <token>wan</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token>t</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="IN" />
                    <token>you</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Yy]ou|[Tt]hey|[Ww]e|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]an</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>want</suggestion>?</message>
                <example correction="want">I <marker>wan</marker> this!</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]an</token>
                    </marker>
                    <token case_sensitive="yes">to</token>
                    <token postag="VBP" />
                </pattern>
                <message>Did you mean <suggestion>want</suggestion>?</message>
                <example correction="want">I don't <marker>wan</marker> to pay for this.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]an</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>want</suggestion>?</message>
                <example correction="want">I don't <marker>wan</marker> to pay for this.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BELOW_BLOW" name="blow (below)">
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">click|continue|describe|fall|find|lie|list|read|register|see|show</token>
                    <marker>
                        <token case_sensitive="yes">blow</token>
                    </marker>
                </pattern>
                <message>Did you mean the preposition <suggestion>below</suggestion>?</message>
                <example correction="below">Kindly find <marker>blow</marker> job description.</example>
            </rule>
        </rulegroup>
        <rulegroup id="RETARDS_REGARDS" name="retards (regards)">
            <rule>
                <pattern>
                    <token regexp="yes">my|best|kind</token>
                    <marker>
                        <token>retards</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>regards</suggestion>?</message>
                <example correction="regards">Kind <marker>retards</marker></example>
            </rule>
        </rulegroup>
        <rulegroup id="HART_HARD" name="hart vs hard">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">hart</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>hard</suggestion>?</message>
                <example correction="hard">It is really <marker>hart</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">make</token>
                    <token regexp="yes">it|that|this</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">hart</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>hard</suggestion>?</message>
                <example correction="hard">It really makes it <marker>hart</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes">hart</token>
                    </marker>
                    <token chunk="I-VP">to</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>hard</suggestion>?</message>
                <example correction="hard">He makes it <marker>hart</marker> to understand.</example>
            </rule>
            <rule>
                <pattern>
                    <marker><token>hart</token></marker>
                    <token inflected="yes" regexp="yes">copy|evidence|disk|drive|rock|time|work</token>
                </pattern>
                <message>Did you mean <suggestion>hard</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="hard">She had a <marker>hart</marker> time there.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GIT_GET" name="git vs get">
            <antipattern>
                <token>git</token>
                <token regexp="yes">repositor.*|server.*|clone.*|issue.*|commit.*|conf.*|push.*|pull.*|log.*|doc.*|director.*|dirs?|ci|branch.*|br|hubs?</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="IN|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token chunk="B-VP">
                        <exception regexp="yes" inflected="yes">think|hope|guess</exception>
                    </token>
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|s?he|we|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>git</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>get</suggestion>?</message>
                <example correction="get">Do you <marker>git</marker> more than you deserve?</example>
                <example>I will send to you git credentials.</example>
                <example>When I Git commit, it opens Atom editor.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>git</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>get</suggestion>?</message>
                <example correction="get">I would <marker>git</marker> a new one for Christmas.</example>
                <example>Do I need Git installed?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>git</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>get</suggestion>?</message>
                <example correction="get">I wouldn't <marker>git</marker> a new one for Christmas.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">do|does|did</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>git</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>get</suggestion>?</message>
                <example correction="get">I don't <marker>git</marker> a new one for Christmas.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk="B-VP">
                        <exception inflected="yes" regexp="yes">push|pull|commit</exception>
                    </token>
                    <token>to</token>
                    <marker>
                        <token>git</token>
                    </marker>
                    <token><exception postag="SENT_END" /></token>
                </pattern>
                <message>Did you mean the verb <suggestion>get</suggestion>?</message>
                <example correction="get">I wanted to <marker>git</marker> a new one for Christmas.</example>
                <example>And then push to git.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BESIDES_BESIDE" name="beside vs besides">
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token min="0">and</token>
                    <marker>
                        <token>Beside</token>
                    </marker>
                    <token regexp="yes" min="0">that|this</token>
                    <token regexp="yes">
                        ,|I|we|you|it|s?he|they
                        <exception scope="next" regexp="yes">,|-|–</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>besides</suggestion> (= apart from that) which is commonly used to start a sentence?</message>
                <suggestion>Besides</suggestion>
                <example correction="Besides"><marker>Beside</marker> that, I have no idea.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes" skip="1">stand|sit</token>
                    <marker>
                        <token>besides</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>beside</suggestion> (= next to sth.)?</message>
                <example correction="beside">He stood <marker>besides</marker> me.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LES_LESS" name="les vs. less">
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" skip="2">les</token>
                    </marker>
                    <token>than</token>
                </pattern>
                <message>Did you mean <suggestion>less</suggestion> instead of the French article "les"?</message>
                <example correction="less">It is <marker>les</marker> than what I expected.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
                    <token>les</token>
                </antipattern>
                <antipattern>
                    <token>les</token>
                    <token postag="UNKNOWN" regexp="yes">.*[a-z].*</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">pour|chez|dans</token>
                    <token>les</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">\p{P}</token>
                    <token>les</token>
                    <token regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern>
                    <token>les</token>
                    <token regexp="yes">amis|grands|mis.rables|trois|objets|mots|mains|cr[eè]me|caprices?|rues?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="1">["”]</token>
                    <token skip="1">les</token>
                    <token regexp="yes">["”]</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes">les</token>
                </pattern>
                <message>Did you mean <suggestion>less</suggestion> instead of the French article "les"?</message>
                <example correction="less">It is <marker>les</marker> than what I expected.</example>
                <example type="triggers_error">Pimentel David, Pimentel Marcia, Computer les kilocalories, Cérès, n. 59, sept-oct.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SINE_SINCE" name="sine vs. since">
            <rule>
                <pattern>
                    <marker>
                        <token>sine</token>
                    </marker>
                    <token postag="CD" min="0"></token>
                    <token regexp="yes">centuries|years|months|weeks|days|decades|hours|minutes|seconds</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="ine" regexp_replace="ince"/></suggestion> instead of the mathematical term "sine"?</message>
                <example correction="since">We have not seen him <marker>sine</marker> two years ago.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>sine</token>
                    </marker>
                    <token min="0">last</token>
                    <token regexp="yes">&weekdays;</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="ine" regexp_replace="ince"/></suggestion> instead of the mathematical term "sine"?</message>
                <example correction="since">We have not seen him <marker>sine</marker> Monday.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WURST_WORST" name="wurst vs worst">
            <rule>
                <pattern>
                    <marker>
                        <token>wurst</token>
                    </marker>
                    <token regexp="yes">cases?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>worst</suggestion>?</message>
                <example correction="worst">This is the <marker>wurst</marker> case scenario.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="5">wurst</token>
                    </marker>
                    <token>ever</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>worst</suggestion>?</message>
                <example correction="worst">This game is the <marker>wurst</marker> I have ever watched.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="4">wurst</token>
                    </marker>
                    <token>of</token>
                    <token>all</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>worst</suggestion>?</message>
                <example correction="worst">He is the <marker>wurst</marker> player of all time.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>wurst</token>
                    </marker>
                    <token inflected="yes">be</token>
                    <token>yet</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>worst</suggestion>?</message>
                <example correction="worst">The <marker>wurst</marker> is yet to come.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TRAIL_TRIAL" name="trail (trial)">
            <rule>
                <pattern>
                    <token>free</token>
                    <token>trail</token>
                </pattern>
                <message>Did you mean <suggestion>\1 trial</suggestion>?</message>
                <example correction="free trial">The <marker>free trail</marker> expired after 30 days.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="3">trail</token>
                    </marker>
                    <token inflected="yes">expire</token>
                </pattern>
                <message>Did you mean <suggestion>trial</suggestion>?</message>
                <example correction="trial">The <marker>trail</marker> expired after 30 days.</example>
            </rule>
            <rule>
                <pattern>
                    <token>trail</token>
                    <token regexp="yes">licen[cs]es?|periods?|versions?</token>
                </pattern>
                <message>Did you mean <suggestion>trial \2</suggestion>?</message>
                <example correction="trial license">Your <marker>trail license</marker> has expired.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>trail</token>
                    <token regexp="yes">trek|hike</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" skip="1">\d+-(day|week|month)</token>
                    <marker>
                        <token>trail</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>trial</suggestion>?</message>
                <example correction="trial">Your 30-day <marker>trail</marker> expired.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CD" />
                    <token regexp="yes" skip="1">(day|week|month)</token>
                    <marker>
                        <token>trail</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>trial</suggestion>?</message>
                <example correction="trial">Your 30 day <marker>trail</marker> expired.</example>
            </rule>
        </rulegroup>
        <rule id="MEED_MEET" name="meed (meet)">
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" skip="1" />
                <token>meed</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>Meeds</token>
                <token regexp="yes">LLP|Lake</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token><exception postag="SENT_START" /></token>
                <token>Meed</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Mm]eed|meeds</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="(?i)d" regexp_replace="t" /></suggestion>?</message>
            <example correction="meet">Let's <marker>meed</marker> tomorrow at our favorite bar!</example>
            <example>Benjamin Meeds</example>
            <example>Geoff Meed</example>
            <example>In order to understand her meaning, it is necessary to start from a phenomenon which, although old and well recognized, has never received its proper meed of consideration.</example>
        </rule>
        <rulegroup id="SEEM_SEEN" name="seem vs seen">
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">
                        have|is
                        <exception>be</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0">t</token>
                    <marker>
                        <token>seem</token>
                    </marker>
                    <token postag="DT|JJ.*|RB|NN.*|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>seen</suggestion>?</message>
                <example correction="seen">I have <marker>seem</marker> a lot so far.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>seen</token>
                    </marker>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>seem</suggestion>?</message>
                <example correction="seem">I can't <marker>seen</marker> to delete it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|they|we</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>seen</token>
                    </marker>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>seem</suggestion>?</message>
                <example correction="seem">You <marker>seen</marker> to ask too many questions.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PLANE_PLAIN" name="plain vs plane">
            <rule>
                <antipattern>
                    <token>plain</token>
                    <token regexp="yes">and|&amp;</token>
                    <token>simple</token>
                </antipattern>
                <antipattern>
                    <token>simply</token>
                    <token>the</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">pla(ne|in)</token>
                    <token regexp="yes">and|&amp;</token>
                    <token regexp="yes">simpl[ey]</token>
                </pattern>
                <message>Did you mean the phrase <suggestion>plain \2 simple</suggestion>?</message>
                <url>https://www.lexico.com/definition/plain_and_simple</url>
                <example correction="plain and simple">It works just like that, <marker>plane and simple</marker>.</example>
                <example>Plain and simply the best SEO plugin.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>in</token>
                    <token>plain</token>
                    <token>sight</token>
                </antipattern>
                <pattern>
                    <token>in</token>
                    <token regexp="yes">plane|pl?ain</token>
                    <token regexp="yes">side|sight</token>
                </pattern>
                <message>Did you mean the idiom <suggestion>\1 plain sight</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/in%20plain%20sight</url>
                <example correction="in plain sight">It was <marker>in plain side</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_IT_IS" name="She it (is) happy">
            <rule>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">n't|not</token>
                    <token regexp="yes">s?he</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">s?he</token>
                        <token case_sensitive="yes">it</token>
                    </marker>
                </pattern>
                <message>Do not use the pronoun "it" after "\1". Did you mean <suggestion>\1 is</suggestion>, <suggestion>\1</suggestion> or <suggestion>\2</suggestion>?</message>
                <example correction="She is|She|It"><marker>She it</marker> so clever.</example>
                <example>Isn't he it?</example>
            </rule>
            <rule><!-- but this <it> just so good -->
                <pattern>
                    <token regexp="yes">if|but|when|while|unless|because</token>
                    <token>this</token>
                    <marker>
                        <token>it</token>
                    </marker>
                    <token postag="RB" min="0" max="2" />
                    <token postag="JJ">
                        <exception postag="VBZ" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">But this <marker>it</marker> just so good.</example>
                <example correction="is">Not sure if this <marker>it</marker> intended or not?</example>
            </rule>
        </rulegroup>
        <rulegroup id="OFF_OF" name="off vs of">
            <antipattern>
                <token>better</token>
                <token>of</token>
                <token>course</token>
            </antipattern>
            <antipattern>
                <token>better</token>
                <token>of</token>
                <token regexp="yes">the|an?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>better</token>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>Did you mean the phrase <suggestion>\3 <match no="4" regexp_match="(?i)f" regexp_replace="ff" /></suggestion> (= in a more advantageous position)?</message>
                <url>https://www.lexico.com/definition/better_off</url>
                <example correction="better off">I am quite content and just wish that people who are <marker>better of</marker> than me would realise how lucky they are.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>off</token>
                    <token postag="IN" />
                </antipattern>
                <pattern>
                    <token regexp="yes">kind|sort</token>
                    <token>off</token>
                </pattern>
                <message>Did you mean <suggestion>\1 of</suggestion>?</message>
                <example correction="kind of">I don't know but it <marker>kind off</marker> works.</example>
            </rule>
            <rule>
                <pattern>
                    <token>instead</token>
                    <token>off</token>
                </pattern>
                <message>In this context the correct preposition seems to be <suggestion>\1 of</suggestion>.</message>
                <url>https://www.merriam-webster.com/dictionary/instead%20of</url>
                <example correction="instead of">I would rather like to this <marker>instead off</marker> that.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>all</token>
                    <token postag="JJ.*|NN.*" postag_regexp="yes" chunk_re="[EI]-NP.*" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token>first</token>
                    <marker>
                        <token>off</token>
                    </marker>
                    <token>all</token>
                </pattern>
                <message>It seems that <suggestion>of</suggestion> is the correct preposition here.</message>
                <example correction="of">First <marker>off</marker> all, I have to apologize.</example>
                <example>First off all animals were rescued.</example><!-- missing comma after "all" -->
            </rule>
            <rule>
                <pattern>
                    <token>in</token>
                    <token regexp="yes">favou?r</token>
                    <marker>
                        <token>off</token>
                    </marker>
                </pattern>
                <message>It seems that <suggestion>of</suggestion> is the correct preposition here.</message>
                <example correction="of">He stepped down as leader in favour <marker>off</marker> his rival.</example>
            </rule>
            <rule>
                <pattern>
                    <token>by</token>
                    <token>means</token>
                    <marker>
                        <token>off</token>
                    </marker>
                </pattern>
                <message>It seems that <suggestion>of</suggestion> is the correct preposition here.</message>
                <example correction="of">That is a four-year course taught by means <marker>off</marker> lectures and seminars.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Aa]s</token>
                    <marker>
                        <token>off</token>
                    </marker>
                    <token regexp="yes">yesterday|tomorrow|today|tonight|&weekdays;|&months;|next|last</token>
                </pattern>
                <message>It seems that <suggestion>of</suggestion> is the correct preposition here.</message>
                <example correction="of">As <marker>off</marker> yesterday, we are live!</example>
            </rule>
        </rulegroup>
        <rulegroup id="DO_TO" name="do vs to">
            <antipattern><!-- smartphone mode -->
                <token>do</token>
                <token regexp="yes">not|n't</token>
                <token regexp="yes">disturb|hesitate|stop</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-singular" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token inflected="yes" regexp="yes">have|want|need</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural" />
                <token postag="PRP|NNP" postag_regexp="yes" />
                <token inflected="yes" regexp="yes">have|want|need</token>
            </antipattern>
            <antipattern>
                <token>the</token>
                <token>needs</token>
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">have|want|need</token>
                    <marker>
                        <token case_sensitive="yes">do</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception>n't</exception>
                    </token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">I had <marker>do</marker> go there</example>
                <example correction="to">Sami wants <marker>do</marker> dye his hair.</example>
                <example correction="to">This has <marker>do</marker> be done only while running the macro.</example>
                <example>The younger voters Bernie needs do not watch cable TV news.</example>
                <example>The other 2 I have do not show this command.</example>
                <example>The other switches I have do not have the lighting feature for pairing.</example>
                <example>I'd like to have Do Not Disturb enabled.</example>
                <example>If there's anything else that you need don't hesitate.</example>
                <example>Different error: We've don't have anything concrete on assignment yet.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ANS_AND" name="ans (and)">
            <rule>
                <antipattern><!-- "Q/Ans:" -->
                    <token regexp="yes" skip="1">q(uest)?|questions?</token>
                    <token>ans</token>
                </antipattern>
                <antipattern><!-- The correct ans is: -->
                    <token regexp="yes">correct|incorrect|proper|wrong|right</token>
                    <token>ans</token>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern><!-- "Correct ans:" -->
                    <token postag="SENT_START" />
                    <token regexp="yes">correct|incorrect|proper|wrong|right</token>
                    <token>ans</token>
                </antipattern>
                <antipattern><!-- "The ans is correct" -->
                    <token>ans</token>
                    <token inflected="yes" skip="1">be</token>
                    <token regexp="yes">correct|incorrect|proper|wrong|right</token>
                </antipattern>
                <antipattern><!-- "Ans:" -->
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">Correct|Incorrect|Proper|Wrong|Right</token>
                    <token>Ans</token>
                    <token>:</token>
                </antipattern>
                <antipattern><!-- "1) ans:" -->
                    <token regexp="yes" skip="1">\d+|[a-z]</token>
                    <token regexp="yes">[\)\.]</token>
                    <token>ans</token>
                    <token>:</token>
                </antipattern>
                <antipattern><!-- last word of sentence cannot be "and" -->
                    <token postag="SENT_END">ans</token>
                </antipattern>
                <antipattern>
                    <token>ans</token>
                    <token regexp="yes">[,\.!?]</token>
                </antipattern>
                <antipattern>
                    <token>ans</token>
                    <token regexp="yes" spacebefore="no">&apostrophe;</token>
                </antipattern>
                <antipattern>
                    <token>ans</token>
                    <token postag="UNKNOWN" />
                </antipattern>
                <antipattern><!-- Names: Ans van Kemenade-->
                    <token>ans</token>
                    <token regexp="yes">v[ao]n|del?</token>
                </antipattern>
                <antipattern><!-- Belgium and Danish city named "Ans" (https://en.wikipedia.org/wiki/Ans) -->
                    <token regexp="yes">from|in|of|to|by</token>
                    <token case_sensitive="yes">Ans</token>
                </antipattern>
                <antipattern>
                    <token spacebefore="no" regexp="yes">&apostrophe;</token>
                    <token spacebefore="no">ans</token>
                </antipattern>
                <antipattern><!-- "ans" is an abbrev for "answer" ("the ans is correct") -->
                    <token regexp="yes">the|an?|or|and|but|because</token>
                    <token>ans</token>
                </antipattern>
                <antipattern>
                    <token>ans</token>
                    <token>and</token>
                </antipattern>
                <antipattern><!-- "Ans" is a Dutch name -->
                    <token regexp="yes">Hi|Heya?|Hello|Thanks|(Good\-?)Bye|Howdy|Sorry|Dear(est)?|Welcome</token>
                    <token case_sensitive="yes">Ans</token>
                </antipattern>
                <antipattern>
                    <token>Good</token>
                    <token regexp="yes">Morning|Day|Evening|Night|Afternoon|Bye</token>
                    <token case_sensitive="yes">Ans</token>
                </antipattern>
                <antipattern><!-- dutch person names (taken from Wikipedia) -->
                    <token>ans</token>
                    <token regexp="yes">gravest.*|hofmeester.*|dekker|bakker|janssen|smit|meijer|dresden.*|smulder.*|visser|meyer|koning|kremer|luttmer.*|markus|polak|niesing|niesink|schut|salomon.*|schut.*|timmerman.*|westra|wortel|woud|beentjes|verdijk.*|willemse.*|zwerver|boersma|fc|station</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">
                        [Aa]ns
                    </token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">Me <marker>ans</marker> my best friend.</example>
                <example correction="And"><marker>Ans</marker> now?</example>
                <example>The Ma'ans chose for their abode the Chouf District in south-western Lebanon</example>
                <example>The survey of the Germanic branch languages includes chapters by Winfred P. Lehmann, Ans van Kemenade, John Ole Askedal, Erik Andersson, Neil Jacobs, Silke Van Ness, and Suzanne Romaine.</example>
                <example type="triggers_error">Ans may refer to:</example>
                <example>The ANS Group of Companies is a news and broadcasting company in Azerbaijan.</example>
                <example>The ans is correct.</example>
                <example>Ans' new car is nice.</example>
                <example>1) Ans: Yes.</example>
                <example>The correct ans is #2.</example>
                <example>Few ans are wrong.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GRATE_GREAT" name="grate (great)">
            <rule>
                <pattern>
                    <marker><token>grate</token></marker>
                    <token regexp="yes">work|friends?|ideas?|plan|jokes?|success|white|famine|tv|show|uncle|news|music|movies?|books?|songs?|artists?|job|britain|wall|gatsby|depression|recession|pacific|barrier|awakening|barrington|british|canyon|escape|firewall|falls|lions?|lakes?|ocean</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>great</suggestion>?</message>
                <example correction="Great"><marker>Grate</marker> work!</example>
            </rule>
            <rule>
                <antipattern>
                    <token>grate</token>
                    <token regexp="yes">full?y?</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes" min="0">very|really|absolutely|totally|pretty|so|fucking?</token>
                    <marker>
                        <token>grate</token>
                    </marker>
                </pattern>
                <message>Did you mean the adjective <suggestion>great</suggestion>?</message>
                <example correction="great">It's really <marker>grate</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BATTER_BETTER" name="batter (better)">
            <url>https://www.merriam-webster.com/dictionary/better</url>
            <rule>
                <pattern>
                    <marker>
                        <token>batter</token>
                    </marker>
                    <token regexp="yes">than|as|solutions?|alternatives?|ways?|world|places?|music</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)atter" regexp_replace="etter" /></suggestion>?</message>
                <example correction="better">This season, Playing Football is <marker>batter</marker> than cricket.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">much|lot|is|'s|am|'m|are|'re|was|were|been</token>
                    <marker>
                        <token>batter</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)atter" regexp_replace="etter" /></suggestion>?</message>
                <example correction="better">He won all three games, so I think he is <marker>batter</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="BEGONE_BEGUN" name="begone (begun)">
            <pattern>
                <token inflected="yes">have</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>begone</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>begun</suggestion> (= past participle of 'begin')?</message>
            <example correction="begun">I rushed to get to class on time, but the lesson had already <marker>begone</marker>.</example>
        </rule>
        <rule id="PARE_PAIR" name="a pare (pair) of">
            <pattern>
                <token regexp="yes">an?|the|my|his|her|y?our|their|its</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <marker>
                    <token>pare</token>
                </marker>
                <token>of</token>
            </pattern>
            <message>The word "\3" is a verb. Did you mean the noun <suggestion>pair</suggestion>?</message>
            <url>https://www.merriam-webster.com/dictionary/pair</url>
            <example correction="pair">He was wearing a <marker>pare</marker> of new shoes.</example>
        </rule>
        <rule id="THAN_THANK" name="Than (Thank) you">
            <antipattern>
                <token>you</token>
                <token postag="RB" min="0" />
                <token postag="MD|VB.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token regexp="yes">&apostrophe;</token>
            </antipattern>
            <antipattern><!-- caught by WORD_REPEAT_RULE -->
                <token>than</token>
                <token>than</token>
            </antipattern>
            <pattern>
                <or>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token inflected="yes">say</token>
                </or>
                <marker>
                    <token>than</token>
                    <token>you</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="(?i)han" regexp_replace="hank" /> <match no="3" /></suggestion>?</message>
            <example correction="Thank you"><marker>Than you</marker></example>
            <example correction="Thank you"><marker>Than you</marker> so much for your response.</example>
            <example correction="thank you">But <marker>than you</marker> very much.</example>
            <example correction="thank you">I have to say <marker>than you</marker> for your help.</example>
        </rule>
        <rulegroup id="TRY_TRIAL" name="try (trial) and error">
            <url>https://www.lexico.com/definition/trial_and_error</url>
            <rule>
                <pattern>
                    <token>try</token>
                    <token regexp="yes">&amp;|and</token>
                    <token>error</token>
                </pattern>
                <message>Did you mean the phrase <suggestion><match no="1" regexp_match="(?i)ry" regexp_replace="rial" /> \2 \3</suggestion>?</message>
                <example correction="trial and error">Others find the process to be one of <marker>try and error</marker>, until they stumble upon one that fits.</example>
            </rule>
            <rule>
                <pattern>
                    <token>try-and-error</token>
                </pattern>
                <message>Did you mean the phrase <suggestion><match no="1" regexp_match="(?i)ry" regexp_replace="rial" /></suggestion>?</message>
                <example correction="trial-and-error">Others find the process to be one of <marker>try-and-error</marker>, until they stumble upon one that fits.</example>
            </rule>
        </rulegroup>
        <rule id="A_OR" name="once a (or) twice">
            <pattern>
                <token>once</token>
                <marker>
                    <token>a</token>
                </marker>
                <token>twice</token>
            </pattern>
            <message>Did you mean <suggestion>or</suggestion>?</message>
            <example correction="or">He wants to do it once <marker>a</marker> twice a month.</example>
        </rule>
        <rulegroup id="AN_AND" name="confusion of 'an' and 'and'">
            <antipattern><!-- Qur'an -->
                <token regexp="yes">[a-z]+</token>
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
                <token spacebefore="no">an</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>an</token>
                    </marker>
                    <token>all</token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">This <marker>an</marker> all of above.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>an</token>
                    </marker>
                    <token>all</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token postag="NNS">
                        <exception postag="NN|NN:UN?" postag_regexp="yes" />
                    </token>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">This <marker>an</marker> all things of above.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>off</token>
                    <token regexp="yes">notes?|plan|board|ramps?|course|drives?|flows?|guard|hand.*|the|an?|planes?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">on|yes|off</token>
                    <token>an</token>
                    <token regexp="yes">off|no|on</token>
                </pattern>
                <message>Did you mean <suggestion>\1 and \3</suggestion>?</message>
                <example correction="on and off">We can turn it <marker>on an off</marker> again.</example>
                <example>On an off note, yes, this is very confusing.</example>
            </rule>
            <rule><!-- Go ahead an create a new tool -->
                <antipattern>
                    <token skip="6">an</token>
                    <token regexp="yes">(action|cta|button|function|link)s?</token>
                </antipattern>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>an</token>
                    </marker>
                    <token postag="VB" regexp="yes" case_sensitive="yes">
                        [a-z].*
                        <exception postag="NN.*|JJ" postag_regexp="yes" regexp="yes">[aeiou].*</exception>
                        <exception postag="IN" />
                    </token>
                    <token regexp="yes">th[oe]se|the|an?</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">Go ahead <marker>an</marker> create a new tool.</example>
                <example correction="and">We invite you to come <marker>an</marker> have a look at the power our exclusive features can offer you.</example>
                <example>I almost placed an order a few days ago.</example>
                <example>Use an Execute a Macro action.</example>
                <example>For example, if a guitarist played an open A Major chord.</example>
                <example>Is there a way to internally rewire an off the shelf multi-speed portable fan.</example>
            </rule>
            <rule>
                <antipattern><!-- missing hyphen (different error) -->
                    <token>an</token>
                    <token>in</token>
                    <token regexp="yes">house|flight|car|depth|between|store|service|group|ground|home</token>
                </antipattern>
                <pattern>
                    <token postag="NN.*|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VB[ZPD]?" postag_regexp="yes" />
                    <marker>
                        <token>an</token>
                    </marker>
                    <token postag="RB">
                        <exception regexp="yes">after|before|live|needs</exception>
                    </token>
                    <token postag="VB[ZP]?" postag_regexp="yes">
                        <exception postag="JJ.*" postag_regexp="yes" />
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">They decline <marker>an</marker> eventually go extinct.</example>
                <example>An in house solution.</example><!-- different error -->
            </rule>
            <rule>
                <antipattern>
                    <token>an</token>
                    <token postag="CD" />
                    <token>years</token>
                    <token regexp="yes">old|young</token>
                </antipattern>
                <antipattern>
                    <token>an</token>
                    <token postag="CD" />
                    <token regexp="yes">days|hours|series|inches</token>
                    <token chunk_re=".-NP.*" />
                </antipattern>
                <pattern>
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" />
                    <marker>
                        <token case_sensitive="yes">an</token>
                    </marker>
                    <token postag="CD" />
                    <token postag="NNP?S" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">I was greeted with stormy rain <marker>an</marker> 5 degrees.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes" regexp="yes">to|in|on|of|for|at|be</token>
                    <token>an</token>
                    <token>also</token>
                    <token postag="JJ.*|RB.*|NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern><!-- name -->
                    <token>Gong</token>
                    <token>An</token>
                </antipattern>
                <antipattern>
                    <token>and</token>
                    <token>an</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Ma|Qur</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>an</token>
                </antipattern>
                <antipattern>
                    <token postag="PRP" />
                    <token>an</token>
                    <token>also</token>
                    <token postag="JJ" />
                </antipattern>
                <antipattern><!-- short for "apartment hotel" https://en.wikipedia.org/wiki/Apartment_hotel -->
                    <token>an</token>
                    <token>apart</token>
                    <token>hotel</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">of|at</token>
                    <token>an</token>
                    <token>no</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>a</token>
                    <token>/</token>
                    <token>an</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Aa]n</token>
                    </marker>
                    <token regexp="yes">also|so|no|yes|the|th(at|en|is)|t?here|wasn?|weren?|hasn?|haven?|[cw]ouldn?|shouldn?|didn?|doesn?|maybe|perhaps|might|must|because|there(fore)?|apart|besides</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion> or <suggestion>any</suggestion>?</message>
                <example correction="and|any">He was going <marker>an</marker> also partying there.</example>
                <example>After the victory of the PdL in the 2008 general election, AN was merged into the PdL in early 2009.</example>
                <example>When the receptor is inactive, the GEF domain may be bound to an also inactive α-subunit of a heterotrimeric G-protein.</example>
                <example>I myself an also African American.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|s?he|they|we</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Aa]n</token>
                    </marker>
                    <token regexp="yes">y?our|her|his|their|my</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">I can't wait to see you <marker>an</marker> your uncle tomorrow.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>an</token>
                    </marker>
                    <token postag="RB" />
                    <token postag="VB[DN]" postag_regexp="yes" />
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">The text was in Dutch <marker>an</marker> already deleted.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re="E-NP.*" />
                    <marker>
                        <token regexp="yes" case_sensitive="yes" spacebefore="yes">[Aa]n</token>
                    </marker>
                    <token postag="PRP$" />
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">He is my friend <marker>an</marker> my colleague.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>an</token>
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token postag="VBZ" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">[Aa]n</token>
                    </marker>
                    <token regexp="yes">
                        they|you|s?he|I|it|we|that|this|th[eo]se|(any|some|every|no)(body|thing|one)
                        <exception case_sensitive="yes" regexp="yes">i|IT</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" />
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">He is great <marker>an</marker> he is fast.</example>
                <example>Hence, that an I is not maximal and therefore the notions of prime ideal and maximal ideal are equivalent in Boolean algebras.</example>
                <example>We have an IT fix in place.</example>
                <example type="triggers_error">Common preference is an everyone wins situation in a number of places:</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">be|have</token>
                    <token postag="RB" min="0" chunk_re=".*VP">
                        <exception postag="IN" />
                    </token>
                    <token chunk_re=".-VP" postag="VBN" />
                    <marker>
                        <token>an</token>
                    </marker>
                    <token postag="RB" min="0">
                        <exception postag="IN" />
                    </token>
                    <token postag="VBN" />
                    <token postag="PCT|IN|TO|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">The current list should be removed <marker>an</marker> migrated.</example>
                <example correction="and">I was shocked <marker>an</marker> surprised to see that Boeing moved.</example>
            </rule>
            <rule>
                <pattern>
                    <token>once</token>
                    <marker>
                        <token>an</token>
                    </marker>
                    <token>for</token>
                    <token>all</token>
                </pattern>
                <message>Did you mean <suggestion>and</suggestion>?</message>
                <example correction="and">I fixed the problem once <marker>an</marker> for all!</example>
            </rule>
        </rulegroup>
        <rule id="LET_IS_VB" name="let is (us) know">
            <antipattern>
                <token postag="DT" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>let</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Ll]et</token>
                <marker>
                    <token case_sensitive="yes" regexp="yes">[Ii]s</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>us</suggestion> or <suggestion>it</suggestion>?</message>
            <example correction="us|it">Let <marker>is</marker> know if you have time.</example>
        </rule>
        <rule id="WHAT_IT_HAPPENING" name="what it (is) happening">
            <pattern>
                <token postag="IN|VB.*|RB|PRP|SENT_START" postag_regexp="yes" />
                <token>what</token>
                <marker>
                    <token>it</token>
                </marker>
                <token postag="VBG" /><!-- mostly: going|happening|causing|coming -->
            </pattern>
            <message>Did you mean <suggestion>is</suggestion>?</message>
            <example correction="is">He didn't know what <marker>it</marker> going on.</example>
            <example correction="is">Don't you know anything else about what <marker>it</marker> happening?</example>
            <example correction="is">At least give me an idea about what <marker>it</marker> coming, some sooner than others.</example>
            <example correction="is">Please either tell us exactly what <marker>it</marker> happening.</example>
        </rule>
        <rule id="WHAT_IT_THE" name="what it (is) the">
            <pattern>
                <token regexp="yes">what|when|how|who|where|which</token>
                <marker>
                    <token>it</token>
                </marker>
                <token regexp="yes">the|an?</token>
            </pattern>
            <message>Did you mean <suggestion>is</suggestion>?</message>
            <example correction="is">What <marker>it</marker> the solution.</example>
        </rule>
        <rulegroup id="IT_IF" name="it vs. if">
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">me|you|it|him|her|them|us</token>
                    <marker>
                        <token>it</token>
                    </marker>
                    <token regexp="yes">you|s?he|we|they|I|it</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*|MD" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>if</suggestion>?</message>
                <example correction="if">Catch me <marker>it</marker> you can.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="JJR" />
                    <token>than</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">and|but</token>
                    <marker>
                        <token>it</token>
                    </marker>
                    <token postag="DT|PRP|NNP" postag_regexp="yes" skip="8" />
                    <token>
                        <exception scope="previous" postag="CC" />
                        then
                    </token>
                    <token postag="DT|PRP|NNP" postag_regexp="yes" />
                    <token />
                    <token />
                </pattern>
                <message>Did you maybe mean <suggestion>if</suggestion>?</message>
                <example correction="If"><marker>It</marker> the first one lights then it is working.</example>
                <example correction="If"><marker>It</marker> it does, then the script will return "NOT_FOUND".</example>
                <example>It all happened so fast and then it was over.</example>
            </rule>
            <rule>
                <antipattern><!-- that we go for if and only if -->
                    <token>if</token>
                    <token postag="CC" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">if|when|where|who|what|how</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">go</token>
                    <token>for</token>
                    <marker>
                        <token>if</token>
                    </marker>
                    <token postag="PCT|CC" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>it</suggestion>?</message>
                <example correction="it">Go for <marker>if</marker>!</example>
            </rule>

            <rule><!-- the order <if> worse -->
                <pattern>
                    <token postag="SENT_START|CC" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                    <token regexp="yes">the|an?</token>
                    <token postag="JJ" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <marker>
                        <token>if</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJR" />
                    <token postag="RB" min="0" />
                    <token regexp="yes">than|after|before|compared|when|if|\.|\!|\?|…</token>
                </pattern>
                <message>Did you mean <suggestion>is</suggestion>?</message>
                <example correction="is">The order <marker>if</marker> worse after resorting.</example>
            </rule>
            <rule>
                <pattern>
                    <token>once</token>
                    <marker>
                        <token regexp="yes">i[ftmbhj]</token>
                    </marker>
                    <token regexp="yes">an?</token>
                    <token regexp="yes">while|life(time)?|blue</token>
                </pattern>
                <message>Did you mean <suggestion>in</suggestion>?</message>
                <example correction="in">It happens only once <marker>it</marker> a lifetime.</example>
            </rule>
             <rule>
                <pattern>
                    <token inflected="yes" chunk_re=".-VP">make</token>
                    <marker>
                        <token case_sensitive="yes">if</token>
                    </marker>
                    <token regexp="yes" min="0">really|very|absolutely|totally|finally</token>
                    <token>clear</token>
                    <token regexp="yes">that|because|when|once|before|after|to|\.</token>
                </pattern>
                <message>Did you mean <suggestion>it</suggestion>?</message>
                <example correction="it">He made <marker>if</marker> clear that this was the final round.</example>
            </rule>
        </rulegroup>
        <rule id="HAD_HARD" name="had vs. hard">
            <antipattern><!-- she's had to decline -->
                <token regexp="yes">s?he</token>
                <token>'s</token>
                <token min="0" max="1">really</token>
                <token>had</token>
                <token>to</token>
                <token chunk="I-VP" postag_regexp="yes" postag="VBP?"/>
            </antipattern>
            <antipattern><!-- #4510 SoCal's had to "prop up" -->
                <token postag_regexp="yes" postag="PCT|CC"/>
                <token postag="UNKNOWN"/>
                <token>'s</token>
                <token min="0" max="1">really</token>
                <token>had</token>
                <token>to</token>
                <token min="0" max="1" regexp="yes">['‘"“]</token>
                <token postag_regexp="yes" postag="VBP?"/>
            </antipattern>
            <antipattern><!-- #4510 www.collinsdictionary.com/dictionary/english/have-to-do -->
                <token>'s</token>
                <token min="0" max="1">really</token>
                <token regexp="yes">ha[sd]</token>
                <token>to</token>
                <token>have</token>
            </antipattern>
            <antipattern><!-- #4542 John's had to -->
                <token postag="NNP"/>
                <token spacebefore="no">'s</token>
                <token min="0" max="1">really</token>
                <token>had</token>
                <token>to</token>
            </antipattern>
            <pattern>
                <token inflected="yes">be</token>
                <token regexp="yes" min="0">very|really</token>
                <marker>
                    <token>had</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>hard</suggestion>?</message>
            <example correction="hard">It was really <marker>had</marker> to do it.</example>
            <example correction="hard">Seems to me that it wouldn’t be <marker>had</marker> to add but what do I know.</example>
            <example correction="hard">I think it's <marker>had</marker> to know the truth.</example>
            <example correction="hard">My furgulator's <marker>had</marker> to understand; these instructions are rubbish.</example>
            <example>It was really <marker>hard</marker> to do it.</example>
            <example>Betsy's dance card is too full, so she's had to decline.</example>
            <example>She's really had to please.</example><!-- Semantic ambiguity -->
            <example>Because of the complexity, John's had to work carefully.</example>
            <example>In the past, when volumes have been low, SoCal's had to "prop up" flows.</example>
            <example>My furgulator's had to have a new gizmorotor; that cost me a month's salary!</example>
        </rule>
        <rule id="MUSH_MUCH" name="mush vs. much">
            <pattern>
                <token regexp="yes">you|it|her|him|them|us|me|thanks</token>
                <token>very</token>
                <marker>
                    <token regexp="yes">mush|match|mutch</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>much</suggestion>?</message>
            <example correction="much">Thank you very <marker>mush</marker>.</example>
        </rule>
        <rulegroup id="ONE_ONCE" name="I one (once) had">
            <url>https://www.merriam-webster.com/dictionary/once</url>
            <antipattern>
                <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                    <exception>while</exception>
                </token>
                <token regexp="yes">you|it</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">[Hh]e</token>
                        <token>one</token>
                    </marker>
                    <token postag="VBD" />
                </pattern>
                <message>Did you mean <suggestion>\1 once</suggestion> or <suggestion>the \2</suggestion>?</message>
                <example correction="he once|the one">This one and not <marker>he one</marker> used by them.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes" postag="PRP">I|[Yy]ou|[Ww]e|[Tt]hey|[Hh]e|[Ss]he|[Ii]t</token>
                    <marker>
                        <token regexp="yes">ones?</token>
                    </marker>
                    <token postag="VBD" />
                </pattern>
                <message>Did you mean <suggestion>once</suggestion>?</message>
                <example correction="once">I <marker>one</marker> had a car.</example>
                <example correction="once">I have built up my strength far from what it <marker>one</marker> was.</example>
                <example correction="once">She <marker>ones</marker> told me a story.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>once</token>
                    </marker>
                    <token regexp="yes">more|less</token>
                    <token>time</token>
                </pattern>
                <message>Did you mean <suggestion>one</suggestion>?</message>
                <example correction="one">If you like it, I can do it <marker>once</marker> more time.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>one</token>
                    </marker>
                    <token>upon</token>
                    <token>a</token>
                    <token>time</token>
                </pattern>
                <message>Did you mean <suggestion>once</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/once%20upon%20a%20time</url>
                <example correction="Once"><marker>One</marker> upon a time a queen married a king.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>at</token>
                    <token>once</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>once</token>
                    </marker>
                    <token>of</token>
                    <token>the</token>
                    <token postag="JJ.*" min="0" max="2" postag_regexp="yes" />
                    <token postag="NNS" />
                </pattern>
                <message>Did you mean <suggestion>one</suggestion>?</message>
                <example correction="one">Maybe this is <marker>once</marker> of the reasons.</example>
                <example>We spoke once of the steamer that runs on land, that travels on ribbons of steel.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>at</token>
                    <token>once</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>once</token>
                    </marker>
                    <token>of</token>
                    <token>the</token>
                    <token regexp="yes">best|worst|most|greatest</token>
                </pattern>
                <message>Did you mean <suggestion>one</suggestion>?</message>
                <example correction="one">This restaurant is <marker>once</marker> of the best!</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="DT|PRP\$" postag_regexp="yes">
                        <exception>every</exception>
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token>one</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>one</token>
                    </marker>
                    <token>in</token>
                    <token>a</token>
                    <token regexp="yes">while|lifetime</token>
                </pattern>
                <message>Did you mean <suggestion>once</suggestion>?</message>
                <example correction="once">Every <marker>one</marker> in a while it happens.</example>
                <example>I haven't used that one in a while.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">the|that|this</token>
                    <token postag="JJ|VBN" postag_regexp="yes" chunk_re="I-NP.*" />
                    <token>one</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>one</token>
                    </marker>
                    <token regexp="yes">they|it|s?he|we|I|you</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">appear(s|ed)?</token>
                    <token postag="IN" />
                </pattern>
                <message>Did you mean <suggestion>once</suggestion>?</message>
                <example correction="once">You can disable a rule <marker>one</marker> it appears in a text.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="5" />
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern>
                    <token>one</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="VB[DPZ]" postag_regexp="yes" />
                    <token inflected="yes" regexp="yes">be|do|have</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">&quote;</token>
                    <marker>
                        <token case_sensitive="yes">One</token>
                    </marker>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                    <token postag="RB" min="0" max="2" />
                    <token postag="MD|VB[DPZ]" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>once</suggestion>?</message>
                <example correction="Once"><marker>One</marker> you have the time, please check it out</example>
                <example>One I can support.</example>
                <example>One they mentioned was Australia and also within Western Europe.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>all</token>
                    <token chunk_re="[EI]-NP.*" postag="DT|JJ.*|NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>all</token>
                    <token>of</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>one</token>
                    </marker>
                    <token>and</token>
                    <token>for</token>
                    <token>all</token>
                </pattern>
                <message>Did you mean <suggestion>once</suggestion>?</message>
                <example correction="once">I fixed the problem <marker>one</marker> and for all!</example>
                <example>This is the one and for all the other ones, I will check them later.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WE_BE" name="we vs. be">
            <rule>
                <antipattern>
                    <token postag="MD" />
                    <token postag="PRP" />
                    <token postag="RB" min="0" max="3" />
                    <token postag="VB.*|IN|CD" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token regexp="yes">n't|not</token>
                    <token postag="PRP" />
                    <token postag="RB" min="0" max="3" />
                    <token postag="VB.*|IN|CD" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token postag="PRP" />
                    <token regexp="yes">&not_really_verbs;|&adverb_abbreviations;</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes" min="0">or|and|but</token>
                    <token postag="MD" />
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token>we</token>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" skip="5" />
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>we</token>
                    </marker>
                    <token regexp="yes" min="0">very|really</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>be</suggestion>?</message>
                <example correction="be">Having a new car would probably <marker>we</marker> great.</example>
                <example correction="be">That would <marker>we</marker> very helpful.</example>
                <example correction="be">Using that, we might <marker>we</marker> able to reproduce and fix the issue.</example>
                <example>What time shall we meet tomorrow?</example>
                <example>Can we ever truly be free?</example>
                <example>Can we just not talk for a minute?</example>
                <example>Can we on New York Governing Law?</example>
                <example>Can we sticky these?</example>
                <example>When shall we three meet again?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <marker>
                        <token regexp="yes">[Ww]e</token>
                    </marker>
                    <token regexp="yes">worth|great|nice</token>
                </pattern>
                <message>Did you mean <suggestion>be</suggestion>?</message>
                <example correction="be">It might <marker>we</marker> worth doing it now.</example>
            </rule>
        </rulegroup>
        <rule id="FLEE_MARKET" name="flee (flea) market">
            <pattern>
                <token>flee</token>
                <token regexp="yes">markets?</token>
            </pattern>
            <message>Did you mean <suggestion>flea \2</suggestion> (= street market)?</message>
            <example correction="flea market">A <marker>flee market</marker> is a type of street market.</example>
        </rule>
        <rulegroup id="HAVE_BIN" name="have bin (been)">
            <rule>
                <pattern>
                    <token regexp="yes">have|has|had|ve</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">b[ei]n</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>been</suggestion>?</message>
                <example correction="been">I have <marker>bin</marker> there all my life.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">have|has|had</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">b[ei]n</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>been</suggestion>?</message>
                <example correction="been">I haven't <marker>bin</marker> there yet.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TURN_IT_OF" name="turn it of (off)">
            <antipattern>
                <token>of</token>
                <token>course</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">turn|shut|switch</token>
                    <token regexp="yes">it|him|her|them|you|us|lights?</token>
                    <marker>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>Did you mean the adverb <suggestion>off</suggestion> (= disabled, not active, suspended)?</message>
                <example correction="off"><!--The light is still on. -->Please turn it <marker>of</marker>.</example>
                <example>The front right turning light of my corolla stoppped flashing when I push the turn signal switch up.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">turn|shut|switch</token>
                    <token postag="DT" />
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <token regexp="yes">lights?|switch(es)?|tv|radio|ac|alarms?|pc|computer|screen|(smart)?phone|engines?|machines?</token>
                    <marker>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>Did you mean the adverb <suggestion>off</suggestion> (= disabled, not active, suspended)?</message>
                <example correction="off"><!--The light is still on. -->Please shut the light <marker>of</marker>.</example>
                <example>Sami turned the lights of the living room.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>of</token>
                    <token postag="DT|NN:UN?|NNS|NNPS?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>on</token>
                    <token regexp="yes">and|&amp;|or</token>
                    <marker>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>Did you mean the adverb <suggestion>off</suggestion> (= disabled, not active, suspended)?</message>
                <example correction="off">Did you try to turn it on and <marker>of</marker>?</example>
                <example>Anvils are made of cast or wrought iron with a tool steel face welded on or of a single piece of cast or forged tool steel.</example>
            </rule>
        </rulegroup>
        <rule id="I_AS_LOOKING" name="I as (was) looking">
            <antipattern>
                <token postag="VB.*|UNKNOWN|IN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                <token>it</token>
            </antipattern>
            <antipattern><!-- World War I -->
                <token regexp="yes">&nouns_with_i;</token>
                <token case_sensitive="yes">I</token>
            </antipattern>
            <pattern>
                <token regexp="yes">I|s?he|it</token>
                <marker>
                    <token regexp="yes">as|war</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VBG" />
            </pattern>
            <message>Did you mean <suggestion>was</suggestion>?</message>
            <example correction="was">Thanks, that showed what I <marker>as</marker> looking for.</example>
            <example>Baldwin described it as being as smooth as flying.</example>
            <example>Think of it as having slapped them in the face a few times.</example>
            <example>Otherwise, the community sees it as trolling, regardless of the intent.</example><!-- see #2405 -->
            <example>Armoured cars were first used in large numbers on both sides during World War I as scouting vehicles.</example>
        </rule>
        <rulegroup id="BARLEY_BARELY" name="barely vs. barley">
            <url>https://www.merriam-webster.com/dictionary/barely</url>
            <rule>
                <pattern>
                    <token postag="PRP">
                        <exception>all</exception>
                    </token>
                    <marker>
                        <token>barley</token>
                    </marker>
                </pattern>
                <message>Did you mean the adverb <suggestion>barely</suggestion> (= hardly, scarcely)?</message>
                <example correction="barely">I <marker>barley</marker> even move.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP" />
                    <token inflected="yes" min="0">be</token>
                    <marker>
                        <token>barley</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>barely</suggestion> (= hardly, scarcely)?</message>
                <example correction="barely">I <marker>barley</marker> move.</example>
                <example correction="barely">They were <marker>barley</marker> moving.</example>
                <example>Emmer wheat, einkorn wheat, and barley were three of the so-called Neolithic founder crops in the development of agriculture.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token>barley</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes">
                        <exception>be</exception>
                    </token>
                </pattern>
                <message>Did you mean the adverb <suggestion>barely</suggestion> (= hardly, scarcely)?</message>
                <example correction="barely">I could <marker>barley</marker> move.</example>
                <example correction="barely">He could <marker>barley</marker> even drink.</example>
                <example correction="barely">She could just <marker>barley</marker> see what's wrong.</example>
                <example>Can barley be eaten?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token inflected="yes">be</token>
                    <marker>
                        <token>barley</token>
                    </marker>
                    <token postag="JJ" />
                    <token>to</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the adverb <suggestion>barely</suggestion> (= hardly, scarcely)?</message>
                <example correction="barely">I was <marker>barley</marker> able to move.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HALF_HALVE" name="half vs halve">
            <url>https://www.merriam-webster.com/dictionary/half</url>
            <rule>
                <pattern>
                    <marker>
                        <token>halve</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>The word "\1" is a verb. Did you mean <suggestion>half</suggestion>?</message>
                <example correction="Half"><marker>Halve</marker> of my friends are coming to the party.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>her</token>
                </antipattern>
                <antipattern>
                    <token skip="2">let</token>
                    <token>halve</token>
                </antipattern>
                <antipattern><!-- https://en.wikipedia.org/wiki/De_Halve_Maan -->
                    <token>Halve</token>
                    <token regexp="yes">Ma[ea]n</token>
                </antipattern>
                <antipattern>
                    <token>Halve</token>
                    <token postag="UNKNOWN" />
                </antipattern>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|her|his|their|its|one|s</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>halve</token>
                    </marker>
                </pattern>
                <message>The word "\1" is a verb. Did you mean <suggestion>half</suggestion>?</message>
                <example correction="half">That's my <marker>halve</marker> of the calzone!</example>
            </rule>
        </rulegroup>
        <rulegroup id="WEN_WE" name="wen vs. when/we">
            <antipattern>
                <token />
                <token spacebefore="no">.</token>
                <token>wen</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/The_Great_Wen -->
                <token>the</token>
                <token>great</token>
                <token>wen</token>
            </antipattern>
            <antipattern>
                <token>wen</token>
                <token regexp="yes">county|jiabao</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]en</token>
                    </marker>
                    <token regexp="yes">you|we|they|s?he|its?|I|her|his|their|y?our|my</token>
                </pattern>
                <message>Did you mean <suggestion>when</suggestion>?</message>
                <example correction="when">Call me <marker>wen</marker> you are ready.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PCT|SENT_START|CC" postag_regexp="yes" />
                    <token postag="RB|UH" min="0" postag_regexp="yes" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">[Ww]en</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="MD|VB.*" postag_regexp="yes" />
                </pattern>
                <message>"Wen" is the name of a cyst. Did you maybe mean <suggestion>we</suggestion> or <suggestion>when</suggestion>?</message>
                <example correction="We|When"><marker>Wen</marker> can do it.</example>
                <example>Mr. Wen was a smart guy.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB[DN]?" postag_regexp="yes" />
                    <marker>
                        <token case_sensitive="yes">wen</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>"Wen" is the name of a cyst. Did you maybe mean <suggestion>we</suggestion>?</message>
                <example correction="we">Can <marker>wen</marker> check it now?</example>
            </rule>
        </rulegroup>
        <rulegroup id="MOST_MUST" name="must vs most">
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="UH|RB" postag_regexp="yes" min="0">
                        <exception postag="W.*" postag_regexp="yes" />
                    </token>
                    <token min="0">,</token>
                    <token postag_regexp="yes" postag="PRP|NNP">
                        <exception postag="DT|IN" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>most</token>
                    </marker>
                    <token min="0">not</token>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception regexp="yes">love|like|admire|appreciate|enjoy|complete</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>must</suggestion> ("have to", modal verb) or <suggestion>mostly</suggestion> ("mainly", adverb)?</message>
                <example correction="must|mostly">I <marker>most</marker> do it tomorrow.</example>
                <example correction="must|mostly">I <marker>most</marker> be really unlucky.</example>
                <example>For most people, that gives the same rewards.</example>
                <example>What I most love about that, is the new look.</example>
            </rule>
        </rulegroup>
        <rule id="A_HASTILY_WAY" name="In a hastily way">
            <pattern>
                <token postag="DT" />
                <token postag="JJ" min="0" />
                <marker>
                    <token>hastily</token>
                    <token regexp="yes">way|manner|decisions?|temperments?|pudding</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>hasty \4</suggestion>?</message>
            <example correction="hasty manner">He did it in a <marker>hastily manner</marker>.</example>
        </rule>

        <rulegroup id="ADJECTIVE_ADVERB" name="adjective vs. adverb">
            <short>Adverb expected</short>
            <!-- TODO add more pairs (general(ly), direct(ly), eventual(ly), certain(ly), extreme(ly), immediate(ly), slow(ly) ...) -->
            <antipattern>
                <token regexp="yes">subject|responses?|addition|attention|due|alternatives?|exposure|similar|comparable|access|regards?|related|key|prior|shift|contrary</token>
                <token>to</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="1" regexp="yes">compare|refer|relate|restrict|return|lead|respond|regard|transfer|adhere|invite</token>
                <token>to</token>
            </antipattern>
            <antipattern>
                <token skip="10">from</token>
                <token>to</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token postag="JJ" />
                <token>to</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">IT</token>
            </antipattern>
            <antipattern><!-- "to personal message someone" (informal) -->
                <token regexp="yes">personal|private</token>
                <token>message</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token regexp="yes">s?he|we|they|I</token>
                <token postag="JJ" />
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="VB.*|UNKNOWN" postag_regexp="yes" regexp="yes">
                    .*[a-z].*
                    <exception regexp="yes" inflected="yes">think|hope|doubt</exception>
                </token>
                <token regexp="yes">it|you</token>
                <token postag="JJ" />
                <token postag="VB.*|MD" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>n't</token>
                <token postag="PRP" />
                <token postag="JJ" />
                <token>even</token>
                <token>though</token>
            </antipattern>
            <antipattern>
                <token postag="IN">
                    <exception regexp="yes">since|while</exception>
                </token>
                <token regexp="yes">it|you</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern><!-- 7 tips to successful recruiting -->
                <token>to</token>
                <token postag="JJ" />
                <token regexp="yes">recruiting|cooking|distancing|sourcing</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- copy to Final Inform-->
                <token postag="VB.*" postag_regexp="yes" regexp="yes">[a-z].*</token>
                <token>to</token>
                <token postag="JJ" regexp="yes">[A-Z].*</token>
                <token postag="VBP?" postag_regexp="yes" regexp="yes">[A-Z].*</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token postag="JJ" />
                <token regexp="yes">man|fool|head</token>
            </antipattern>
            <antipattern>
                <token>may</token>
                <token>be</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token>being</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token inflected="yes" skip="2">be</token>
                <token postag="JJ" />
                <token regexp="yes">compared|based</token>
                <token regexp="yes">with|to|on</token>
            </antipattern>
            <antipattern><!-- uncommon verbs -->
                <token regexp="yes" postag="VBP?" postag_regexp="yes">&uncommon_verbs;</token>
            </antipattern>
            <antipattern>
                <token>kind</token>
                <token>regards</token>
            </antipattern>
            <antipattern><!-- Should local search matter? -->
                <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
                <token postag="MD" />
                <token postag="JJ" />
                <and>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VBP?" postag_regexp="yes" />
                </and>
                <token skip="-1" />
                <token>?</token>
            </antipattern>
            <antipattern><!-- Why should local search matter? -->
                <token postag="W.*" postag_regexp="yes">
                    <exception>that</exception>
                </token>
                <token postag="MD" />
                <token postag="JJ" />
                <and>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VBP?" postag_regexp="yes" />
                </and>
            </antipattern>
            <antipattern><!-- Why shouldn't local search matter? -->
                <token postag="W.*" postag_regexp="yes">
                    <exception>that</exception>
                </token>
                <token postag="MD" />
                <token>n't</token>
                <token postag="JJ" />
                <and>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="VBP?" postag_regexp="yes" />
                </and>
            </antipattern>
            <antipattern><!-- you lucky dog! -->
                <token regexp="yes">you|we</token>
                <token regexp="yes">lucky|happy|funny</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- In this regard, binomial coefficients are to exponential generating series what falling factorials are to ordinary generating series.	-->
                <token skip="5">to</token>
                <token skip="5">what</token>
                <token inflected="yes">be</token>
                <token>to</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token>deep</token>
                <token inflected="yes" regexp="yes">link|dive</token>
            </antipattern>
            <antipattern>
                <token>deep</token>
                <token>down</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">all|(any|every)(one|body)</token>
                <token regexp="yes">who|that|which</token>
                <token regexp="yes" min="0">&apostrophe;</token>
                <token inflected="yes">be</token>
                <token postag="JJ" />
                <token postag="VBP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">moderate|lax|mild</token>
                <token>to</token>
                <token>severe</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes" chunk_re=".-VP">change|set</token>
                <token>to</token>
                <token postag="JJ" />
                <token postag="NN.*|VBG" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="4">[wt]hat|which</token>
                <token inflected="yes">have</token>
                <token>to</token>
                <token postag="JJ" />
                <token postag="NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- I wanted to private message you -->
                <token>private</token>
                <token inflected="yes">message</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">high|public</token>
                <token regexp="yes">schools?</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="JJ" />
                <token regexp="yes">silence|stuff</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">&nouns_with_i;</token>
                <token>I</token>
                <token postag="JJ" />
            </antipattern>
            <antipattern>
                <token>we</token>
                <token>real</token>
                <token>cool</token>
            </antipattern>
            <antipattern>
                <token postag="PRP_S.*|MD" postag_regexp="yes" />
                <token postag="JJ" />
                <token regexp="yes">out|up</token>
            </antipattern>
            <antipattern>
                <token>deep</token>
                <token inflected="yes">clean</token>
            </antipattern>
            <rule><!-- MD + adjective ending in "le" + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <token regexp="yes" min="0">not|n't</token>
                    <marker>
                        <token regexp="yes">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)le$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="possibly">It could <marker>possible</marker> have something to do with his new car.</example>
                <example correction="possibly">Nobody could <marker>possible</marker> live up to my list of demands.</example>
                <example correction="reliably">Delves are different in that you can <marker>reliable</marker> run 3 delves every day.</example>
                <example correction="possibly">It could <marker>possible</marker> train you.</example>
                <example correction="possibly">It won't <marker>possible</marker> train you.</example>
                <example correction="arguably">They could <marker>arguable</marker> endanger and thus violate the rights of innocent third parties.</example>
                <example>Why should local search matter?</example>
                <example>Why shouldn't local search matter?</example>
            </rule>
            <rule><!-- MD + adjective ending in "le" + not + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <marker>
                        <token regexp="yes">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token>not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)le$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="possibly">It could <marker>possible</marker> not have something to do with his new car.</example>
            </rule>
            <rule><!-- PRP + adjective ending in "le" + VB -->
                <pattern>
                    <token regexp="yes">
                        I|you|they|we|s?he|it
                    </token>
                    <marker>
                        <token regexp="yes">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VB[GDZP]?|MD" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)le$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="possibly">It <marker>possible</marker> has something to do with his new car.</example>
                <example>You don’t balance your game only when something impossible is introduced.</example>
                <example>Is it possible going there without wearing a jacket?</example>
                <example>Finally, are we comfortable transacting with the entity that has no assets, but rather is simply backed by a guaranty.</example>
                <example correction="simply">You <marker>simple</marker> need the white neutral from the source box.</example>
                <example correction="simply">Our 50 character limit is a bit arbitrary — we <marker>simple</marker> chose to put a limit on our password character allowance.</example>
                <example correction="probably">We <marker>probable</marker> should tell him that we don't have anymore unless New Albany is enough.</example>
                <example correction="possibly">What did I <marker>possible</marker> miss to cause this?</example>
                <example correction="possibly">Could it <marker>possible</marker> taste like milk?</example>
                <example>You horrible man!</example>
            </rule>
            <rule><!-- to + adjective ending in "le" + VB (no NN) -->
                <pattern>
                    <token regexp="yes">to|please</token>
                    <marker>
                        <token regexp="yes" postag="JJ">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VB[GP]?" postag_regexp="yes">
                        <exception postag="JJ.*|NN.*|DT|PRP\$?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)le" regexp_replace="ly" /></suggestion>?</message>
                <example correction="sustainably">He tried to <marker>sustainable</marker> achieve a clean environment.</example>
                <example correction="possibly">How to <marker>possible</marker> create wildcard certifcates and then renew them?</example>
                <example>It is subject to unbelievable events.</example>
                <example>Altdorfer often distorts perspective to subtle effect.</example>
                <example>Learn about our commitment to responsible gaming.</example>
                <example correction="possibly">I think we should give consideration to <marker>possible</marker> using Gary's expertise on a part-time basis in Bakersfield and relocate and fill his position in Texas.</example>
            </rule>
            <rule><!-- want/have/like/need/try + to + adjective ending in "le" + VB -->
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">want|have|like|love|need|try|wish|suggest|allow|hate|hope|use</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)le" regexp_replace="ly" /></suggestion>?</message>
                <example correction="sustainably">He tried to <marker>sustainable</marker> achieve a clean environment.</example>
                <example>It is subject to unbelievable events.</example>
                <example>Altdorfer often distorts perspective to subtle effect.</example>
                <example>Learn about our commitment to responsible gaming.</example>
            </rule>
            <rule><!-- what/when + to + adjective ending in "le" + VB -->
                <pattern>
                    <token regexp="yes">what|which|how|when|who|where</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)le" regexp_replace="ly" /></suggestion>?</message>
                <example correction="preferably">I would follow your advice which to <marker>preferable</marker> show.</example>
                <example correction="possibly">How to <marker>possible</marker> create wildcard certificates?</example>
            </rule>
            <rule><!-- have + adjective ending in "le" + VB -->
                <pattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">(no)?t|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VB[DN]" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\4" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="4" regexp_match="(?i)le" regexp_replace="ly" /></suggestion>?</message>
                <example correction="probably">I have <marker>probable</marker> done this already.</example>
                <example>That would be reasonable based on Williams' costs, according to the ISO's view.</example>
                <example>But we'll have our power, and that rate may be reasonable compared with those of other states a few years from now, Freeman says.</example>
                <example>All who are simple come to my house.</example>
            </rule>
            <rule><!-- do + adjective ending in "le" + VB -->
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" min="0">not|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)le" regexp_replace="ly" /></suggestion>?</message>
                <example correction="understandably">I didn't <marker>understandable</marker> explain the issue.</example>
            </rule>
            <rule><!-- MD + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <token regexp="yes" min="0">not|n't</token>
                    <marker>
                        <token regexp="yes">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="easily">Two weeks is way to fast, we could <marker>easy</marker> run out of resources and then the Mystics would not stop till caught up!</example>
                <example correction="easily">The actual search zone could <marker>easy</marker> be used to search in both languages.</example>
            </rule>
            <rule><!-- MD + (easy|literary|temporary|necessary) + not + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <marker>
                        <token regexp="yes">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token>not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="easily">Two weeks is way to fast, we could <marker>easy</marker> not run out of resources and then the Mystics would not stop till caught up!</example>
            </rule>
            <rule><!-- PRP + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token regexp="yes">
                        I|you|they|we|s?he|it
                    </token>
                    <marker>
                        <token regexp="yes">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VB[GDZP]?|MD" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="easily">It <marker>easy</marker> has something to do with his new car.</example>
                <example correction="temporarily">It is critical that we <marker>temporary</marker> stay our course.</example>
                <example>Isn’t it funny even though I’m a female I can hear a man’s voice from inside me.</example>
                <example>Take it easy home.</example>
                <example>You lucky dog.</example>
            </rule>
            <rule><!-- to + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token regexp="yes">to|please</token>
                    <marker>
                        <token regexp="yes" postag="JJ">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VB[GP]?" postag_regexp="yes">
                        <exception postag="JJ.*|NN.*|DT|PRP\$?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="easily">He tried to <marker>easy</marker> achieve a clean environment.</example>
                <example correction="easily">There is even a Remote Trigger action to <marker>easy</marker> triggering macros remotely (although it does not include a parameter facility, which is an odd omission).</example>
                <example correction="temporarily">In certain circumstances, it would make sense to <marker>temporary</marker> disable those.</example>
                <example>In this regard, binomial coefficients are to exponential generating series what falling factorials are to ordinary generating series.</example>
            </rule>
            <rule><!-- want/have/like/need/try + to + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">want|have|like|love|need|try|wish|suggest|allow|hate|hope|use</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="easily">He tried to <marker>easy</marker> achieve a clean environment.</example>
            </rule>
            <rule><!-- what/when + to + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token regexp="yes">what|which|how|when|who|where</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="primarily">I would follow your advice which to <marker>primary</marker> show.</example>
            </rule>
            <rule><!-- have + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token regexp="yes" min="0">not|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VB[DN]" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="voluntarily">I have <marker>voluntary</marker> done this already.</example>
                <example>And Jacob being angry said in a chiding manner: For what fault of mine, and for what offence on my part hast thou so hotly pursued me, and searched all my household stuff?</example>
            </rule>
            <rule><!-- do + (easy|literary|temporary|necessary) + VB -->
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" min="0">not|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">sleepy|complimentary|(un)?healthy|(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion>?</message>
                <example correction="voluntarily">I didn't <marker>voluntary</marker> do this.</example>
            </rule>
            <rule><!-- MD + adjective + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <token inflected="yes" min="0">not</token>
                    <marker>
                        <token regexp="yes">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="quickly">Two weeks is way too fast, we could <marker>quick</marker> run out of resources.</example>
                <example correction="quickly">Would be nice if you could <marker>quick</marker> test/fix it for next release.</example>
                <!-- <example correction="sexually">He mustn't <marker>sexual</marker> assault them!</example> avoid unnecessarily sensitive examples -->
                <example correction="potentially">This couldn't <marker>potential</marker> increase our dues, even if a large number of new members do not join.</example>
                <example>As always, if you need immediate help and your assistant is not available, please see me or another member of our administrative team for assistance.</example>
                <example>Keeping it constant will help.</example>
                <example>But should regular people do it?</example>
                <example>You can deep link to the Marketplace installation url to make it easy for the end users.</example>
                <example>We will deep dive into that topic.</example>
            </rule>
            <rule><!-- MD + adjective + not + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <marker>
                        <token regexp="yes">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token>not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="quickly">Two weeks is way to fast, we could <marker>quick</marker> not run out of resources and then the Mystics would not stop till caught up!</example>
            </rule>
            <rule><!-- PRP + adjective + VB -->
                <pattern>
                    <token regexp="yes">
                        I|you|they|we|s?he|it
                    </token>
                    <marker>
                        <token regexp="yes">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VB[GDZP]?|MD" postag_regexp="yes">
                        <exception postag="NN.*" postag_regexp="yes" regexp="yes">.+ing</exception>
                    </token>
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="quickly">It <marker>quick</marker> has something to do with his new car.</example>
                <example correction="ultimately">When a DTH is unused for a long time ST makes it stale and there a bug in the platform where it does not refresh the cache due to which it <marker>ultimate</marker> breaks when trying to pair the device.</example>
                <example correction="previously">It is one of the things you <marker>previous</marker> added.</example>
                <example correction="currently">We <marker>current</marker> support the following libraries.</example>
                <example correction="highly">I <marker>high</marker> appreciate your help.</example>
            </rule>
            <rule><!-- to + adjective + VB -->
                <pattern>
                    <token regexp="yes">to|please</token>
                    <marker>
                        <token regexp="yes" postag="JJ">manual|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VB[GP]?" postag_regexp="yes">
                        <exception postag="JJ.*|NN.*|DT|PRP\$?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="quickly">He tried to <marker>quick</marker> achieve a clean environment.</example>
                <example>Some investors have expressed concern about Calpine's exposure to potential overbuilding in the Texas market.</example>
                <example>Get access to actual pricing details.</example>
                <example>7 tips to successful recruiting.</example>
                <example>You can also mark selected listings from Express to Regular using Edit selling attributes feature in the “My Listings” tab or in bulk.</example>
            </rule>
            <rule><!-- want/have/like/need/try + to + adjective + VB -->
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">want|have|like|love|need|try|wish|suggest|allow|hate|hope|use</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="especially">He tried to <marker>especial</marker> achieve a clean environment.</example>
                <example correction="quickly">I’d like to <marker>quick</marker> summarize that for the community.</example>
            </rule>
            <rule><!-- what/when + to + adjective + VB -->
                <pattern>
                    <token regexp="yes">what|which|how|when|who|where</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="systematically">I would follow your advice which to <marker>systematical</marker> show.</example>
                <example correction="actually">I don’t have an idea how to <marker>actual</marker> resize the image.</example>
            </rule>
            <rule><!-- have + adjective + VB -->
                <pattern>
                    <token inflected="yes" regexp="yes">
                        have|be
                        <exception case_sensitive="yes">AM</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">(no)?t|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VB[DN]" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\4" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="4" regexp_match="(?i)$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="really">Tom is <marker>real</marker> excited.</example>
                <example>Under contract to the US Army, AM General developed the M1113 Expanded Capacity Vehicle (ECV).</example>
            </rule>
            <rule><!-- do + adjective + VB -->
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">(no)?t|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">manual|effective|strict|partial|financial|visual|sexual|proper|private|formal|public|high|fresh|recent|instant|particular|specifical|soft|serious|deep|emotional|respectful|especial|confidential|periodical|basical|tentative|systematical|potential|fundamental|continuous|(un)?certain|extensive|sincere|current|general|real|permanent|original|global|local|quick|immediate|potential|regular|occasional|eventual|actual|(un)?usual|sexual|final|ultimate|obvious|personal|rightful|previous|severe|physical|(un)?successful|normal|current|(un)?intentional|proactive|absolute|constant|kind|remote|alphabetical</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\4" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="4" regexp_match="(?i)$" regexp_replace="ly" /></suggestion>?</message>
                <example correction="really">Tom does <marker>real</marker> believe in it.</example>
            </rule>
            <rule><!-- MD + automatic|accident|holistic|systematic + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">(no)?t|n't</token>
                    <marker>
                        <token regexp="yes">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\4" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="4" regexp_match="$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">Two weeks is way to fast, we could <marker>automatic</marker> run out of resources and then the Mystics would not stop till caught up!</example>
            </rule>
            <rule><!-- MD + automatic|accident|holistic|systematic + VB -->
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                        <exception case_sensitive="yes" regexp="yes">Will|May</exception>
                    </token>
                    <marker>
                        <token regexp="yes">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token>not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">Two weeks is way to fast, we could <marker>automatic</marker> not run out of resources and then the Mystics would not stop till caught up!</example>
            </rule>
            <rule><!-- PRP + automatic|accident|holistic + VB -->
                <pattern>
                    <token regexp="yes">
                        I|you|they|we|s?he|it
                    </token>
                    <marker>
                        <token regexp="yes">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VB[GDZP]?|MD" postag_regexp="yes" />
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">The first one was added without problem, although it <marker>automatic</marker> used a Dimmer Device Handler.</example>
                <example correction="automatically">It <marker>automatic</marker> has something to do with his new car.</example>
            </rule>
            <rule><!-- to + automatic|accident|holistic + VB -->
                <pattern>
                    <token regexp="yes">to|please</token>
                    <marker>
                        <token regexp="yes" postag="JJ">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VB[GP]?" postag_regexp="yes">
                        <exception postag="JJ.*|NN.*|DT|PRP\$?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>The word "\2" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="2" regexp_match="(?i)$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">He tried to <marker>automatic</marker> achieve a clean environment.</example>
            </rule>
            <rule><!-- want/have/like/need/try + to + automatic|accident|holistic|systematic + VB -->
                <pattern>
                    <token chunk_re=".-VP" inflected="yes" regexp="yes">want|have|like|love|need|try|wish|suggest|allow|hate|hope|use</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">He tried to <marker>automatic</marker> achieve a clean environment.</example>
            </rule>
            <rule><!-- what/when + to + automatic|accident|holistic|systematic + VB -->
                <pattern>
                    <token regexp="yes">what|which|how|when|who|where</token>
                    <token>to</token>
                    <marker>
                        <token regexp="yes" postag="JJ">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">I would follow your advice which to <marker>automatic</marker> show.</example>
            </rule>
            <rule><!-- have + automatic|accident|holistic|systematic + VB -->
                <pattern>
                    <token inflected="yes" regexp="yes">have|be</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token regexp="yes" min="0">(no)?t|n't</token>
                    <marker>
                        <token regexp="yes" postag="JJ">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VB[DN]" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\4" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="4" regexp_match="(?i)$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">Tom has <marker>automatic</marker> disabled the feature.</example>
            </rule>
            <rule><!-- do + automatic|accident|holistic|systematic + VB -->
                <pattern>
                    <token inflected="yes">do</token>
                    <token regexp="yes" min="0">n't|not</token>
                    <marker>
                        <token regexp="yes" postag="JJ">automatic|accident|holistic|systematic|dramatic</token>
                    </marker>
                    <token postag="VBP?" postag_regexp="yes">
                        <exception postag="NN.*|DT|PRP.*" postag_regexp="yes" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                    </token>
                    <token postag="IN" min="0" />
                    <token postag="DT|PCT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>The word "\3" is an adjective and doesn't fit in this context. Did you mean the adverb <suggestion><match no="3" regexp_match="(?i)$" regexp_replace="ally" /></suggestion>?</message>
                <example correction="automatically">Tom didn't <marker>automatic</marker> disable the feature.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ADJECTIVE_ADVERB_2" name="adjective vs. adverb">
            <antipattern>
                <token regexp="yes">is|was</token>
                <token>being</token>
                <token postag="JJ" />
                <token postag="JJ" skip="-1" />
                <token>?</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token regexp="yes">.+le</token>
                    <token postag="NN.*" postag_regexp="yes" chunk_re="[IE]-NP.*" />
                </antipattern>
                <antipattern>
                    <token>free</token>
                    <token>of</token>
                    <token>charge</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">
                        be|look|seem
                    </token>
                    <marker>
                        <token regexp="yes">
                            interchangeable|(un)?believable|(un)?comparable|(un)?arguable|(un)?noticeable|memorable|(un)?foreseeable|(un)?expectable|(in)?explicable|preferable|honorable|remarkable|(ir)?responsible|flexible|amiable|(im)?plausible|forcible|presumable|(in)?credible|(im)?possible|(un)?remarkable|probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|(in)?visible|profitable|(un)?recognizable|gentle|inevitable|incredible
                        </token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="IN|CC|RB|VBG" postag_regexp="yes" regexp="yes">(?!(good|simple|wrong)$).+</exception>
                            <exception regexp="yes">due|more|less|earlier|sooner|later|worldwide|all|prior|whit</exception>
                        </token>
                    </marker>
                    <token postag="IN|PCT|CC|DT" postag_regexp="yes" />
                </pattern>
                <message>In this context, the adverb seems more correct than the adjective "\2".</message>
                <suggestion><match no="2" regexp_match="le$" regexp_replace="ly" /> \3</suggestion>
                <suggestion>\2 and \3</suggestion>
                <example correction="terribly slow|terrible and slow">Your site is <marker>terrible slow</marker>.</example>
                <example correction="possibly useful|possible and useful">Leaving this as it seems <marker>possible useful</marker> to others.</example>
                <example correction="reasonably new|reasonable and new">I'm <marker>reasonable new</marker> to New Relic</example>
                <example correction="simply wrong|simple and wrong">They are <marker>simple wrong</marker>.</example>
                <example correction="remarkably underpowered|remarkable and underpowered">Soldier of Wrath seems <marker>remarkable underpowered</marker>.</example>
                <example>He understands that we are implementing a large contract with SBC Corp Real Estate, and that it is possible more of his accounts are inadvertantly on the list.</example>
                <example>Thousands of years from now Centaurus will, once again, be at lower latitudes and be visible worldwide.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">.+y</token>
                    <token postag="NN.*" postag_regexp="yes" chunk_re="[IE]-NP.*" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">look</token>
                    <token>funny</token>
                    <token postag="JJ" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">
                        be|look|seem
                    </token>
                    <marker>
                        <token regexp="yes">(extra)?ordinary|angry|easy|literary|temporary|(un)?necessary|hasty|happy|lucky|funny|momentary|angry|(in)?voluntary|preliminary|primary|stealthy</token>
                        <token postag="JJ.*" postag_regexp="yes">
                            <exception postag="IN|CC|VBG|RB" postag_regexp="yes" regexp="yes">(?!(good|simple|wrong|down)$).+</exception>
                            <exception regexp="yes">due|more|less|earlier|sooner|later|worldwide|all|prior|whit</exception>
                        </token>
                    </marker>
                    <token postag="IN|PCT|CC|DT" postag_regexp="yes" />
                </pattern>
                <message>In this context, the adverb seems more correct than the adjective "\2".</message>
                <suggestion><match no="2" regexp_match="y$" regexp_replace="ily" /> \3</suggestion>
                <suggestion>\2 and \3</suggestion>
                <example correction="temporarily unavailable|temporary and unavailable">Your site is <marker>temporary unavailable</marker>.</example>
                <example correction="temporarily down|temporary and down">Your site is <marker>temporary down</marker>.</example>
                <example correction="extraordinarily rare|extraordinary and rare">It's <marker>extraordinary rare</marker> …</example>
                <example correction="easily accessible|easy and accessible">This way it is <marker>easy accessible</marker> but we avoid that it is indexed by external services and easy searchable from outside.</example>
                <example>Jeeze, the dude who thinks he's my mentor issue happened months ago, but I'm angry all over again.</example>
                <example>But everybody looks funny naked.</example>
                <example>This one is easy enough.</example>
                <example>Is being happy successful?</example>
            </rule>
        </rulegroup>
        <rulegroup id="WANT_WONT" name="want (wont)">
            <!-- See also WONT_WANT -->
            <short>Possible typo.</short>
            <rule>
                <pattern>
                    <token regexp="yes" skip="-1">as|that</token>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>want</token>
                    </marker>
                    <token>to</token>
                    <token regexp="yes" postag="VB">do|have|be</token>
                </pattern>
                <message>Did you mean <suggestion>wont</suggestion> (meaning 'accustomed')?</message>
                <example correction="wont">that I am <marker>want</marker> to do:</example>
                <example correction="wont">as they are <marker>want</marker> to do</example>
                <example correction="wont">Or as my parents are <marker>want</marker> to do</example>
                <!-- different mistake; corrected to 'wanting' by prem:BE_VB_OR_NN[1] -->
                <example>They are want to set an appointment with EBS and I believe, are wanting to meet with you, also.</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <token inflected="yes">be</token>
                    <token postag="PRP$" />
                    <marker>
                        <token>want</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>wont</suggestion> (meaning 'accustomed')?</message>
                <example correction="wont">as was his <marker>want</marker></example>
            </rule>
        </rulegroup>
        <rulegroup id="WONT_WANT" name="wont vs. want">
            <url>https://www.merriam-webster.com/dictionary/want</url>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>wont</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="(?i)ont" regexp_replace="ant" /></suggestion>?</message>
                <example correction="want">I would <marker>wont</marker> to go home.</example>
                <example correction="want">I would not <marker>wont</marker> to speed up even more.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token>wont</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">s|his|her|y?our|my|their|its|the|an?</token>
                    <token postag="RB" min="0" />
                    <token>wont</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes" case_sensitive="yes">wont|wonted|wonts|wonting</token>
                    </marker>
                    <token postag="PRP.*|IN" postag_regexp="yes">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="1" regexp_match="(?i)ont" regexp_replace="ant" /></suggestion>?</message>
                <example correction="want">I <marker>wont</marker> to go home.</example>
                <example>It was my father's wont to read the newspaper before breakfast.</example>
                <example>I’m worried I wont like the one I get assigned to.</example><!-- found by WONT_CONTRACTION -->
                <example>As is the wont of seamen, to beguile their toil one of them sang a song, in the chorus of which the others joined at intervals.</example>
            </rule>
        </rulegroup>
        <rulegroup id="YO_TO" name="yo vs. to">
            <antipattern>
                <token postag="SENT_START" />
                <token regexp="yes" min="0">["”]</token>
                <token>yo</token>
                <token postag="NNP|UNKNOWN|PRP|W.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="UNKNOWN" />
                <token>yo</token>
            </antipattern>
            <antipattern>
                <token>yo</token>
                <token>no</token>
                <token postag="UNKNOWN" />
            </antipattern>
            <antipattern>
                <token regexp="yes">aye?</token>
                <token>yo</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            [Yy][ou]
                        </token>
                        <token spacebefore="no">'re</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>you're</suggestion>?</message>
                <example correction="You're"><marker>Yo're</marker> my best friend.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            [Yy]o
                        </token>
                        <token>are</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\1u \2</suggestion>?</message>
                <example correction="You are"><marker>Yo are</marker> my best friend.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            [Yy]o
                        </token>
                    </marker>
                    <token postag="RB|VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>you</suggestion>?</message>
                <example correction="you">Would <marker>yo</marker> do it again?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token case_sensitive="yes" regexp="yes">
                            [Yy]o
                            <exception postag="CD" scope="previous" />
                        </token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="MD|VB.*|NN.*|PRP" postag_regexp="yes">
                        <exception regexp="yes">soy|levanto|tome|man|bro|dude|dawg|weirdo|los|m[oa]mm?a|papa|kai|decido|amo|baby|canto|bum|chen|hay|vivo|creek|duk|el|frankie|gotti|gabba|ho|hitoto|inoue|jong?|jin|l[oae]s?|murphy|majesty|nac[íi]|oizumi|protesto|scale|te|tambi[ée]n|takenaka|uematsu|un|un\-.+|wassup|yos?|zushi</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>, <suggestion>you</suggestion> or <suggestion>your</suggestion>?</message>
                <example correction="to|you|your">I wanted <marker>yo</marker> play League of Legends.</example>
                <example correction="to|you|your">What do <marker>yo</marker> think?</example>
                <example correction="to|you|your">Please tell him <marker>yo</marker> go.</example>
                <example correction="to|you|your">Call us if <marker>yo</marker> have any questions.</example>
                <example>Yo, do you have anything to say?</example><!-- informal but valid grammar -->
                <example>A 16 yo has to go to school.</example><!-- yo = abbrev "year old" (see https://www.merriam-webster.com/dictionary/yo) -->
                <example>Yo Soy El Diego.</example><!-- book name -->
                <example>Yo man!</example>
                <example>Yo Lenny, glad to see you.</example>
                <example>Yo, Blair. What are you doing?</example>
                <example>He likes to play with his Yo Yo.</example>
                <example>The yo scale, which does not contain minor notes, according to a traditional theory is a pentatonic scale used in much Japanese music including gagaku and shomyo.</example>
                <example>Yo kai Watch 3 is a role-playing video game developed and published by Level-5.</example>
            </rule>
        </rulegroup>
        <rule id="TORCHER_TORTURE" name="torcher (torture) yourself">
            <pattern>
                <token postag="MD|PRP" postag_regexp="yes" />
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">torchers?</token>
                </marker>
                <token postag="PRP|DT|NN:UN?|NNP" postag_regexp="yes" />
            </pattern>
            <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)orcher" regexp_replace="orture" /></suggestion> (= punish, to cause suffering)?</message>
            <url>https://www.merriam-webster.com/dictionary/torture</url>
            <example correction="torture">I will <marker>torcher</marker> him.</example>
        </rule>
        <rule id="PRICE_SENSIBILITY" name="price sensibility (sensitivity)">
            <!-- error mostly done by Germans translating "Preissensibilität" -->
            <pattern>
                <token>price</token>
                <token>sensibility</token>
            </pattern>
            <message>Did you mean <suggestion>price sensitivity</suggestion> (= degree to which the price of a product affects consumers' purchasing behaviors)?</message>
            <url>https://www.investopedia.com/terms/p/price-sensitivity.asp</url>
            <example correction="Price sensitivity"><marker>Price sensibility</marker> is the degree to which the price of a product affects consumers' purchasing behaviors.</example>
        </rule>
        <rulegroup id="WHAT_WOULD" name="He what (would) do it again">
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token>what</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">to|at|for|on</token>
                    <token regexp="yes">you|it</token>
                    <token>what</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">I|you|s?he|it|we|they</token>
                    <marker>
                        <token>what</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="VB">
                        <exception regexp="yes">time|can</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>would</suggestion>?</message>
                <example correction="would">I <marker>what</marker> have done it differently.</example>
                <example correction="would">He <marker>what</marker> do it again.</example>
                <example>Does it matter to you what time we arrive?</example>
                <example>I will give you what help I can.</example>
                <example>If this continues to happen after they’ve looked at it what can I do to convince them I need a replacement?</example>
            </rule>
        </rulegroup>
        <rulegroup id="HAS_AS" name="Has (as) far as I can tell">
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes" postag="PRP">[Ii]t|[Hh]e|[Ss]he|[Ww]e|[Tt]hey|[Yy]ou|I</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>as</token>
                    </marker>
                    <token>been</token>
                </pattern>
                <message>Did you mean <suggestion>has</suggestion>?</message>
                <example correction="has">He <marker>as</marker> been very busy lately.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>has</token>
                    </marker>
                    <token regexp="yes">&short_adjectives;|&optional_short_adjectives;</token>
                    <token>as</token>
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="As"><marker>Has</marker> far as I can tell.</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <token regexp="yes">&short_adjectives;|&optional_short_adjectives;</token>
                    <marker>
                        <token>has</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>as</suggestion>?</message>
                <example correction="as">As far <marker>has</marker> I can tell.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BLU_RAY" name="Blue-ray (Blu-ray)">
            <url>https://en.wikipedia.org/wiki/Blu-ray</url>
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">Blueray|blueray|BlueRay|Blue-ray|blue-ray|Blue-Ray|Blu-Ray|blu-ray</token>
                </pattern>
                <message>Did you mean <suggestion>Blu-ray</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Blu-ray">I ordered a <marker>Blueray</marker> disk with their software.</example>
                <example>I ordered a <marker>Blu-ray</marker> with their software.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">Bluerays|bluerays|BlueRays|Blue-rays|blue-rays|Blue-Rays|Blu-Rays|blu-rays</token>
                </pattern>
                <message>Did you mean <suggestion>Blu-rays</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Blu-rays">I ordered <marker>Bluerays</marker>.</example>
                <example>I ordered <marker>Blu-rays</marker>.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">[Bb]lue?</token>
                    <token regexp="yes">[rR]ay</token>
                    <token regexp="yes">dis[kc]s?</token>
                </pattern>
                <message>Did you mean <suggestion>Blu-ray <match no="3" regexp_match="(?i)k" regexp_replace="c" /></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Blu-ray disc">I ordered a <marker>Blu ray disk</marker> with their software.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token>Blu-ray</token>
                    <marker>
                        <token regexp="yes">disks?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)k" regexp_replace="c" /></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="disc">I ordered a Blu-ray <marker>disk</marker> with their software.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token regexp="yes">Blu|blu</token>
                    <token regexp="yes">Ray|ray</token>
                </pattern>
                <message>Did you mean <suggestion>Blu-ray</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Blu-ray">I ordered a <marker>Blu ray</marker> with their software.</example>
            </rule>
        </rulegroup>

        <rulegroup id="THEYRE_THEIR" name="they're (their)">
            <url>https://languagetool.org/insights/post/there-their-theyre/</url>
            <rule>
                <pattern>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token regexp="yes">the|my|y?our|his|her</token>
                </pattern>
                <message>Did you mean <suggestion>they're</suggestion> or <suggestion>there</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="They're|There"><marker>Their</marker> the only ones who came.</example>
            </rule>
            <rule>
                <antipattern><!-- unless they're able to / #3077 while they're sick / #3077 while they're away -->
                    <token regexp="yes">&subordinating_conjunctions;</token>
                    <token>they</token>
                    <token>'re</token>
                    <token postag_regexp="yes" postag="JJ|RB"/>
                </antipattern>
                <pattern>
                    <token postag="IN"/>
                    <marker>
                        <token>they</token>
                        <token>'re</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>Did you mean <suggestion>their</suggestion>?</message>
                <example correction="their">I'm not worried about <marker>they're</marker> problems.</example>
                <example correction="their">I'm not under <marker>they're</marker> influence.</example>
                <example correction="their">She's not at all happy while <marker>they're</marker> findings continue to be ignored by the team.</example>
                <example>I'm not worried about <marker>their</marker> problems.</example>
                <example>The SEC will not approve the deal unless they're able to raise cash by selling these assets.</example>
                <example>I won't do more since they're happy to do it themselves.</example>
                <example>It's a great way to really 'see' your college kids while they're away at school.</example><!-- #3077 -->
                <example>Tom and Mary won't be able to do that while they're sick.</example><!-- #3077 -->
                <example>You can't see them now, they're out.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END" regexp="yes">stupid|annoying|dumb|free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|dangerous|different|enough|t?here|sexy|delicious|&short_adjectives;|&optional_short_adjectives;</token>
                </pattern>
                <message>Did you mean <suggestion>they're</suggestion> (=<suggestion>they are</suggestion>) instead of 'their' (possessive pronoun)?</message>
                <short>Possible typo</short>
                <example correction="They're|They are"><marker>Their</marker> stupid</example>
                <example>Not mine but their own</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">yeah?|yes|no|[aoi]+h|uhm|well|y[ae]p|nope|huh|alright|,</token>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="SENT_END" regexp="yes">stupid|annoying|dumb|free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|dangerous|different|enough|t?here|sexy|delicious|&short_adjectives;|&optional_short_adjectives;</token>
                </pattern>
                <message>Did you mean <suggestion>they're</suggestion> (=<suggestion>they are</suggestion>) instead of 'their' (possessive pronoun)?</message>
                <short>Possible typo</short>
                <example correction="they're|they are">Yes <marker>their</marker> cool</example>
            </rule>
            <rule>
                <!-- needed because of wrong tagging: "cool" is tagged as NN in 'Its cool.' -->
                <pattern>
                    <token postag="SENT_START|PCT|UH|CC" postag_regexp="yes">
                        <exception postag="IN|VB.*" postag_regexp="yes" /><!-- "check" is UH, "for" is CC -->
                    </token>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes">stupid|annoying|dumb|free|expensive|cheap|new|old|everyday|wrong|(in)?correct|sure|on|off|out|in|fine|ok(ay)?|(al)?right|left|awesome|available|beautiful|ready|(im)?possible|dangerous|different|enough|t?here|sexy|delicious|&short_adjectives;|&optional_short_adjectives;</token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>they're</suggestion> (=<suggestion>they are</suggestion>) instead of 'their' (possessive pronoun)?</message>
                <short>Possible typo</short>
                <example correction="They're|They are"><marker>Their</marker> ready!</example>
            </rule>
            <!-- .*/VBG they're::word=\0 their::pivots=they're,their::options=they're,their -->
            <rule id="VBG_THEYRE" name="VBG they're (their)">
                <antipattern>
                    <token>'re</token>
                    <token postag="RB" min="0" />
                    <token postag="VB[GN]|MD" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>'re</token>
                    <token>not</token>
                </antipattern>
                <pattern>
                    <token postag="VBG">
                        <exception postag="VBG" negate_pos="yes"/>
                    </token>
                    <token>they</token>
                    <token>'re</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1"/> their</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="conceptualizing their">They couldn't stop <marker>conceptualizing they're</marker> own demise.</example>
                <example>Are you suggesting they're not who they say they are?</example>
                <example>These feelings are apparently reciprocated, as Jet and Spike always allow her to return despite claiming they're pleased to see her leave.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP">
                        <exception inflected="yes" regexp="yes">think|hope|assume|believe|doubt|suggest</exception>
                    </token>
                    <token postag="RP" min="0" />
                    <marker>
                        <token>they</token>
                        <token>'re</token>
                    </marker>
                    <token regexp="yes">best|final|fifth|first|fourth|new|next|second|third</token>
                    <token postag_regexp="yes" postag="NN.*" chunk_re=".-NP.*">
                        <exception postag="IN|PRP.*|DT|MD|CC" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>their</suggestion>?</message>
                <example correction="their">These are <marker>they're</marker> best clothes.</example>
                <example>These are their best clothes.</example>
                <example>Somehow none of these companies come from Silicon Valley - they’re new kinds of apparel retailers.</example>
                <example>They're best friends.</example>
                <example>I think they're best friends.</example>
                <example>They're new Muslims.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>their</token>
                    <token regexp="yes" skip="1">right|welcome</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume</token>
                </antipattern>
                <antipattern>
                    <token>their</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token regexp="yes">if|maybe|or|and</token>
                </antipattern>
                <antipattern>
                    <token>their</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">hope|think|guess|suppose|believe|assume|doubt|know|say</token>
                    <marker>
                        <token regexp="yes">their|they</token>
                    </marker>
                    <token regexp="yes" min="0">all|both|being|feeling|doing|going|keeping|managing|recovering</token>
                    <token regexp="yes" min="0" max="2">just|not|very|really|even|totally|absolutely|extremely|too|more|less|always|never|pretty|perfectly|obviously|normally|usually|actually|kinda|probably|almost|basically|currently|only|also|exactly|definitely|much|still</token>
                    <!-- long list of adjectives is currently necessary due to wrong tagging -->
                    <token regexp="yes">probable|subtle|accessible|(un)?reasonable|simple|(un)?comfortable|(un)?acceptable|(un)?sustainable|understandable|(un)?reliable|terrible|horrible|unbelievable|invisible|profitable|(un)?recognizable|gentle|inevitable|ok(ay)?|hurt|next|fine|good|well|healthy|happy|successful|better|lucky|t?here|ready|sorry|glad|(un)?able|hungry|mad|busy|safe|welcome|angry|sick|proud|right|correct|wrong|crazy|great|cool|alone|amazing|beautiful|pretty|attractive|handsome|awesome|nice|(im)?possible|(un)?able|(un)?clear|helpful|important|time|nicer|best|similar|difficult|small|big|large|little|active|bad|wonderful|simpler?|easy|early|available|dangerous|enough|alright|sure|sexy|alone|nothing|free|cheap|expensive|annoying|worth|different|popular|famous|useful|old|young|hot|sweet|cute|strong|interesting|intelligent|poor|huge|rare|aware|efficient|capable|powerful|sufficient|afraid|obvious|careful|(un)?acceptable|boring|weird|valid|late|early|soon|smart|easier|useless|fantastic|hard|handy|related|relevant|normal|restricted|harm(ful|less)|one|up|clever|fair|just|only|meaningless|(un)?necessary|essential|foolish|natural|true|splendid|(un)?likely|(in)?appropriate|significant|special|confused|(un)?real|fake|perfect|dead|alive|red|green|blue|yellow|black|white|pink|purple|grey|gray|golden|broken|delicious</token>
                    <token min="0" regexp="yes">now|soon|together|tonight|today|yesterday|tomorrow|(any|some)more|t?here</token>
                    <token regexp="yes">
                        \p{P}|of|by|at|for|in|on|to|because|with(out|in)?|about|than|around|through
                        <exception regexp="yes">&apostrophe;|&quote;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>they're</suggestion> (= they are)?</message>
                <example correction="they're">I hope <marker>their</marker> ok.</example>
                <example correction="they're">I hope <marker>they</marker> ok.</example>
                <example>I think their natural, black hair looks nice.</example>
            </rule>
        </rulegroup>

        <rulegroup id="PIC_PICK" name="pic vs. pick">
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>pic</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>pick</suggestion> (= select)?</message>
                <example correction="pick">I would <marker>pic</marker> the second one.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Hh]e|[Ss]he|[Ii]t|[Ww]e|[Tt]hey|[Yy]ou|I</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">pics?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)ic" regexp_replace="ick" /></suggestion> (= select)?</message>
                <example correction="pick">I <marker>pic</marker> the second one.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">please|to</token>
                    <marker>
                        <token>pic</token>
                    </marker>
                    <token regexp="yes">an?|the|many|these|those|my|mine|y?ours?|his|hers?|theirs?|its</token>
                </pattern>
                <message>Did you mean the verb <suggestion>pick</suggestion> (= select)?</message>
                <example correction="pick">He wanted to <marker>pic</marker> a new one.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WRIGHT_WRITE" name="wright vs. write">
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>wright</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>write</suggestion>?</message>
                <example correction="write">I would <marker>wright</marker> a letter.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Hh]e|[Ss]he|[Ii]t|[Ww]e|[Tt]hey|[Yy]ou|I</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">wrights?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)right" regexp_replace="rite" /></suggestion>?</message>
                <example correction="write">I <marker>wright</marker> a letter.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">please|to</token>
                    <marker>
                        <token>wright</token>
                    </marker>
                    <token regexp="yes">about|an?|the|many|these|those|my|mine|y?ours?|his|hers?|theirs?|its</token>
                </pattern>
                <message>Did you mean the verb <suggestion>write</suggestion>?</message>
                <example correction="write">He wanted to <marker>wright</marker> a letter.</example>
            </rule>
        </rulegroup>
        <rulegroup id="THING_THINK" name="thing vs. think">
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>thing</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>think</suggestion>?</message>
                <example correction="think">I could <marker>thing</marker> about that</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">[Hh]e|[Ss]he|[Ii]t|[Ww]e|[Tt]hey|[Yy]ou|I</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token regexp="yes">things?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)hing" regexp_replace="hink" /></suggestion>?</message>
                <example correction="think">I <marker>thing</marker> you're right.</example>
                <example>I use that to make sure I close things properly.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">please|to</token>
                    <marker>
                        <token>thing</token>
                    </marker>
                    <token regexp="yes">about|an?|the|many|these|those|my|mine|y?ours?|his|hers?|theirs?|its</token>
                </pattern>
                <message>Did you mean the verb <suggestion>think</suggestion>?</message>
                <example correction="think">He wanted to <marker>thing</marker> about that.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AD_ADD" name="'ad' vs 'add'">
            <antipattern>
                <token>ad</token>
                <token regexp="yes">hoc|hominem|lib|valorem|infinitum|acta|astra</token>
            </antipattern>
            <antipattern>
                <token>ad</token>
                <token postag="UNKNOWN" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ads</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>adds</suggestion> instead of the plural noun '\3' (advertisements)?</message>
                <example correction="adds">She <marker>ads</marker> a lot of value to our team.</example>
                <example>I'm tired of all these IT ads.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>ad</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>add</suggestion> instead of the noun '\3' (advertisement)?</message>
                <example correction="add">They usually <marker>ad</marker> ketchup to their fries.</example>
                <example>Early Christian period (ca. AD 325 to AD 800)</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">to|may</token>
                    <token>AD</token>
                    <token regexp="yes">\d+</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">can(not)?|should|could|would|might|may|will|did|must|ll|d|to</token>
                    <token min="0">not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">ad</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>add</suggestion> instead of the noun '\4' (advertisement)?</message>
                <example correction="add">I would <marker>ad</marker> a new one.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ca|should|could|would|wo|did|must</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token case_sensitive="yes">ad</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>add</suggestion> instead of the noun '\4' (advertisement)?</message>
                <example correction="add">I wouldn't <marker>ad</marker> a new one.</example>
            </rule>
        </rulegroup>
        <rulegroup id="INTENT_INTEND" name="'intend' vs 'intent'">
            <url>https://www.merriam-webster.com/dictionary/intend</url>
            <antipattern>
                <token postag="VB.*|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
                <token postag="RB" min="0" />
                <token regexp="yes">intents?</token>
            </antipattern>
            <antipattern><!-- If you intent is ... (different error, caught by YOUR_YOU_2) -->
                <token regexp="yes">you|it</token>
                <token regexp="yes">intent|extent</token>
                <token postag="VB[DZ]" postag_regexp="yes" />
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[Ss]he|[Hh]e|[Ii]t</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">extents?|intents?</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="ts?$" regexp_replace="ds" /></suggestion> instead of the noun '\3'?</message>
                <example correction="intends">She <marker>intents</marker> to do it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">we|they|I|you</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">intent|extent</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="t$" regexp_replace="d" /></suggestion> instead of the noun '\3'?</message>
                <example correction="intend">They always <marker>intent</marker> to change it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token>extent</token>
                    <token postag="IN" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>extent</token>
                    <token>possible</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">can(not)?|should|could|would|might|may|will|did|must|ll|d|to|please</token>
                    <token min="0">not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">intent|extent</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="t$" regexp_replace="d" /></suggestion> instead of the noun '\4'?</message>
                <example correction="intend">The child did not <marker>intent</marker> to break your arm.</example>
                <example>Brown bear size, most often measured in body mass, is highly variable and is correlated to extent of food access.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">ca|should|could|would|wo|did|must</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">intent|extent</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="4" regexp_match="t$" regexp_replace="d" /></suggestion> instead of the noun '\4'?</message>
                <example correction="intend">I wouldn't <marker>intent</marker> to change it.</example>
            </rule>
        </rulegroup>
        <!-- they're|there own::word=their \1::pivots=\0,their::options=they're,there,their -->
        <rulegroup id="THERE_OWN" name="there (their) own">
            <rule>
                <pattern>
                    <token>there</token>
                    <token>own</token>
                </pattern>
                <message>Did you mean <suggestion>their <match no="2"/></suggestion>?</message>
                <example correction="their own">They were largely on <marker>there own</marker> that night.</example>
                <example>There were largely on their own that night.</example>
            </rule>
            <rule>
                <pattern>
                    <token>they</token>
                    <token>'re</token>
                    <token>own</token>
                </pattern>
                <message>Did you mean <suggestion>their <match no="3"/></suggestion>?</message>
                <example correction="their own">They completed the huge project on <marker>they're own</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DESERT_DESSERT" name="desert / dessert">
            <rule>
                <pattern>
                    <token skip="2" inflected="yes">get</token>
                    <token>just</token>
                    <marker><token>desserts</token></marker>
                </pattern>
                <message>Did you mean <suggestion>deserts</suggestion> (just deserts = punishment)? (The spelling 'just desserts' is non-standard.)</message>
                <url>https://en.wiktionary.org/wiki/just_deserts</url>
                <short>Possible typo</short>
                <example correction="deserts">The criminal will get his just <marker>desserts</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">sahara|gobi|mojave|antarctic|sonoran|thar|tabernas|taklamakan|pinnacles|chihuahuan|atacama|namib|australian|arabian|kalahari|patagonian|syrian|karakum|kyzylkum|arctic|antarctica</token>
                    <token min="0">'s</token>
                    <marker>
                        <token>dessert</token>
                    </marker>
                </pattern>
                <message>The word "dessert" describes a sweet dish. Did you mean <suggestion>desert</suggestion> (= land with sparse vegetation)?</message>
                <url>https://www.merriam-webster.com/dictionary/desert</url>
                <example correction="Desert">The Sahara <marker>Dessert</marker> is one of the largest in the world.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRECEDENT_PRECEDENCE" name="precedent / precedence">
            <rule>
                <pattern>
                    <token skip="1" regexp="yes">sets?|without</token>
                    <marker><token inflected="yes">precedence</token></marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="dence" regexp_replace="dent"/></suggestion>?</message>
                <url>https://www.merriam-webster.com/words-at-play/usage-of-precedent-vs-precedence</url>
                <short>Possible typo</short>
                <example correction="precedent">Allow us to set a <marker>precedence</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="COMA_COMMA" name="coma / comma">
            <rule>
                <antipattern>
                    <token>coma</token>
                    <token skip="4">after</token>
                    <token regexp="yes">years?|months?|weeks?|days?|hours?|time</token>
                </antipattern>
                <pattern>
                    <marker><token>coma</token></marker>
                    <token regexp="yes">after|be(fore|tween)|missing|missed</token>
                </pattern>
                <message>Did you mean <suggestion>comma</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="comma">Please put a <marker>coma</marker> between the two main clauses.</example>
                <example>He woke up from a coma after 10 years.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">miss</token>
                    <token regexp="yes">an?|the</token>
                    <marker><token>coma</token></marker>
                </pattern>
                <message>Did you mean <suggestion>comma</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="comma">You missed a <marker>coma</marker> in that sentence.</example>
            </rule>
            <rule>
                <pattern>
                    <marker><token>comma</token></marker>
                    <token skip="2">for</token>
                    <token regexp="yes" inflected="yes">day|week|month|year</token>
                </pattern>
                <message>Did you mean <suggestion>coma</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="coma">He has been in a <marker>comma</marker> for nearly two weeks.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOG_IN" name="login (log in)">
            <url>https://grammarist.com/spelling/log-in-login/</url>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they|s?he|it|please|can(not)?|[cw]ould|did|will|ll|should|who|must|might|may|do|wanna|gonna</token>
                    <token postag="RB" min="0" />
                    <marker><token regexp="yes">log(in|out|off|on)</token></marker>
                </pattern>
                <message>Did you mean the verb <suggestion>log <match no="3" regexp_match="(?i)log" regexp_replace="" /></suggestion> instead of the noun '\2'?</message>
                <example correction="log in">Please <marker>login</marker> before commenting.</example>
                <example correction="log in">People who <marker>login</marker> get a discount.</example>
                <example>Your login attempt was not successful.</example>
                <example correction="log in">Why doesn’t it <marker>login</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">lets?</token>
                    <token regexp="yes">me|him|her|us|'s|you|them|it</token>
                    <marker><token regexp="yes">log(in|out|off|on)</token></marker>
                </pattern>
                <message>Did you mean the verb <suggestion>log <match no="3" regexp_match="(?i)log" regexp_replace="" /></suggestion> instead of the noun '\2'?</message>
                <example correction="log in">Please let us <marker>login</marker> before commenting.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">can|ca|[cw]ould|wo|will|should|did|do|does|have|had|has|must</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker><token regexp="yes">log(in|out|off|on)</token></marker>
                </pattern>
                <message>Did you mean the verb <suggestion>log <match no="4" regexp_match="(?i)log" regexp_replace="" /></suggestion> instead of the noun '\3'?</message>
                <example correction="log in">He didn't <marker>login</marker> with his Facebook credentials.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>login</token>
                    <token>page</token>
                </antipattern>
                <pattern>
                    <token postag="VB.*|MD" postag_regexp="yes" />
                    <token>to</token>
                    <marker><token regexp="yes">log(in|out|off|on)</token></marker>
                </pattern>
                <message>Did you mean the verb <suggestion>log <match no="3" regexp_match="(?i)log" regexp_replace="" /></suggestion> instead of the noun '\3'?</message>
                <example correction="log out">Have you tried to <marker>logout</marker>?</example>
                <example>He tried everything from login to logout.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token regexp="yes">log(in|out|off|on)s</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>logs <match no="2" regexp_match="(?i)log(.+?)s" regexp_replace="$1" /></suggestion> instead of the noun '\2'?</message>
                <example correction="logs in">He <marker>logins</marker> every day.</example>
                <example>Why doesn’t it <marker>login</marker>?</example><!-- TODO -->
                <example>Is it login?</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token regexp="yes">log-?in|log-?out|sign-?in</token>
                    </marker>
                    <token>with</token>
                </pattern>
                <message>Did you mean the verb <suggestion><match no="3" regexp_match="(?i)^(log|sign).+$" regexp_replace="$1" /> <match no="3" regexp_match="(?i)^(log|sign)-?" regexp_replace="" /></suggestion>?</message>
                <example correction="log in">Could you ask the user to <marker>login</marker> with his account?</example>
                <example correction="sign in">Could you ask the user to <marker>sign-in</marker> with his account?</example>
            </rule>
        </rulegroup>
        <rulegroup id="THERE_THEIR" name="there (their)">
            <url>https://languagetool.org/insights/post/there-their-theyre/</url>
            <antipattern>
                <token>in</token>
                <token>there</token>
                <token regexp="yes">if|once|then|now|above</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">in|at|o[nf]|to|with(out)?</token>
                    <marker><token>there</token></marker>
                    <token postag="JJ" min="0"/>
                    <token postag="NNS?" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>their</suggestion>?</message>
                <example correction="their">The parents yelled at <marker>there</marker> son.</example>
                <example correction="their">They talked to <marker>there</marker> old parents.</example>
                <example correction="their">It was a heavy weight on <marker>there</marker> shoulders.</example>
                <example>Can I sleep in there if Jane is okay with it?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="RP|TO" postag_regexp="yes"/>
                    <marker><token>there</token></marker>
                    <token>place</token>
                </pattern>
                <message>Did you mean <suggestion>their</suggestion>?</message>
                <example correction="their">What would you do in <marker>there</marker> place?</example>
                <example correction="their">We drove to <marker>there</marker> place and had dinner.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">heya?|hi|hello</token>
                    <token>there</token>
                </antipattern>
                <pattern>
                    <marker><token>there</token></marker>
                    <token postag="NNS?" postag_regexp="yes"><exception postag="JJ.?|RB" postag_regexp="yes"/></token>
                    <token postag="SENT_END"><exception>?</exception></token>
                </pattern>
                <message>Did you mean <suggestion>their</suggestion>?</message>
                <example correction="their">The parents loved <marker>there</marker> son.</example>
                <example correction="their">They were <marker>there</marker> angels.</example>
                <example>Since when are there fireworks?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">heya?|hi|hello</token>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>there</suggestion>?</message>
                <example correction="there">Hi <marker>their</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">heya?|hi|hello</token>
                    <marker>
                        <token postag="SENT_END">their</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>there</suggestion>?</message>
                <example correction="there">Hey <marker>their</marker></example>
            </rule>
        </rulegroup>
        <rule id="RATIO_RATION" name="ration or ratio">
            <pattern>
                <token regexp="yes">aspect|compression</token>
                <marker><token>ration</token></marker>
            </pattern>
            <message>Did you mean <suggestion>ratio</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="ratio">The screen aspect <marker>ration</marker>...</example>
        </rule>
        <rule id="ZERO-SUM_GAIN" name="zero-sum gain (game)">
            <pattern>
                <token>zero-sum</token>
                <token>gain</token>
            </pattern>
            <message>Did you mean <suggestion>\1 game</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="zero-sum game">It is a <marker>zero-sum gain</marker> when wages are held flat...</example>
        </rule>
        <rulegroup id="RATIONAL_RATIONALE" name="rational (rationale)">
            <short>Possible typo</short>
            <rule>
                <pattern>
                    <token regexp="yes">the|a</token>
                    <marker><token>rational</token></marker>
                    <token>for</token>
                </pattern>
                <message>Did you mean <suggestion>\2e</suggestion> (=an explanation / underlying reason)?</message>
                <example correction="rationale">The <marker>rational</marker> for the policy is not well understood.</example>
            </rule>
            <rule>
                <pattern>
                    <marker><token>rational</token></marker>
                    <token>behind</token>
                </pattern>
                <message>Did you mean <suggestion>\1e</suggestion> (=an explanation / underlying reason)?</message>
                <example correction="rationale">I fully understand the <marker>rational</marker> behind it.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CLEAN_UP" name="cleanup / clean up">
            <url>https://www.thoughtco.com/cleanup-and-clean-up-1689343</url>
            <short>Possible typo</short>
            <rule>
                <pattern>
                    <token>to</token>
                    <marker><token>cleanup</token></marker>
                </pattern>
                <message>Did you mean the phrasal verb <suggestion>clean up</suggestion> instead of the noun 'cleanup'?</message>
                <example correction="clean up">He promised to <marker>cleanup</marker> his room.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|a|full</token>
                    <marker>
                        <token>clean</token>
                        <token>up</token>
                    </marker>
                </pattern>
                <message>Did you mean the noun <suggestion>cleanup</suggestion> instead of the phrasal verb 'clean up'?</message>
                <example correction="cleanup">A full <marker>clean up</marker> is required.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TURNED_OFF" name="turn of (off)">
            <rule>
                <pattern>
                    <token regexp="yes">turned|switched</token>
                    <marker>
                        <token>of</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>off</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="off">The light was switched <marker>of</marker></example>
                <example>The light was turned <marker>off</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">turn|switch</token>
                    <marker>
                        <token>of</token>
                    </marker>
                    <token>the</token>
                    <token regexp="yes">lights?|heat|TV|water|engines?|television|gas|power|phones?|oven|radio|camera|alarm|computer|sound|stove|screen|music</token>
                </pattern>
                <message>Did you mean <suggestion>off</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="off">Turn <marker>of</marker> the TV</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">turn|switch</token>
                    <marker>
                        <token>of</token>
                    </marker>
                    <token regexp="yes">for|at|in|from|on(to)?|with</token>
                </pattern>
                <message>Did you mean <suggestion>off</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="off">This is a big turn <marker>of</marker> for both women and men.</example>
            </rule>
        </rulegroup>
        <rule id="THE_FLEW" name="the flew (flu)">
            <pattern>
                <token>the</token>
                <token min="0">swine</token>
                <marker>
                    <token>flew</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>flu</suggestion> (flew is past tense of fly, flu is a viral disease)?</message>
            <short>Possible typo</short>
            <example correction="flu">I have been out with the <marker>flew</marker> for the past 3 days.</example>
        </rule>
        <rule id="CONFUSION_OF_MANS_MEN" name="Confusion of mans/men">
        <!-- Created by Tiago F. Santos, 2019-09-29 -->
            <pattern>
                <token>
                  <exception postag_regexp='yes' postag='NNP?|PRP'/></token>
            <marker>
                <token>mans</token>
            </marker>
            </pattern>
            <message>'\2' refers to the verb 'man' meaning take command of something. Did you mean <suggestion>men</suggestion> or <suggestion>man's</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/mans#Verb</url>
            <example correction="men|man's">Sorry for my <marker>mans</marker> manners.</example>
            <example>Upon perceiving the danger, the captain <marker>mans</marker> the wheel.</example>
        </rule>
        <rule id="CONFUSION_OF_MARS_MARS" name="Confusion of mars/Mars">
        <!-- Created by Tiago F. Santos, 2019-09-29 -->
            <pattern>
                <token>
                  <exception postag_regexp='yes' postag='NNP|PRP'/></token>
            <marker>
                <token case_sensitive='yes'>mars</token>
            </marker>
            </pattern>
            <message>The planet, chocolate brand and the god are written with uppercase. '\2' refers to the verb 'mar' meaning to spoil, or the plural of the noun 'mar' meaning blemishes.</message>
              <suggestion>Mars</suggestion>
            <url>https://en.wiktionary.org/wiki/mars#Verb</url>
            <example correction="Mars">The planet <marker>mars</marker> has.</example>
        </rule>
        <rule id="MARRIAGE_ANNIVERSARY" name="marriage (wedding) anniversary">
            <pattern>
                <marker>
                    <token>marriage</token>
                </marker>
                <token>anniversary</token>
            </pattern>
            <message>Wedding anniversaries are the proper term to describe the anniversary of the day of a wedding.</message>
            <suggestion>wedding</suggestion>
            <url>https://english.stackexchange.com/questions/172131/difference-between-wedding-and-marriage</url>
            <short>Commonly confused word</short>
            <example correction="wedding">We celebrated our fifth <marker>marriage</marker> anniversary last year.</example>
        </rule>
        <rule id="BACK_ABACK" name="taken back (aback) by">
            <pattern>
                <token inflected="yes" skip="1">be</token>
                <token>taken</token>
                <marker>
                    <token min="0">a</token>
                    <token regexp="yes">bl?a(ck|g)</token>
                </marker>
                <token>by</token>
            </pattern>
            <message>Did you mean 'taken aback' (=surprised or shocked)?</message>
            <suggestion>aback</suggestion>
            <url>https://www.merriam-webster.com/dictionary/take%20aback</url>
            <short>Commonly confused word</short>
            <example correction="aback">He was totally taken <marker>back</marker> by my response.</example>
            <example correction="aback">He was totally taken <marker>a bag</marker> by my response.</example>
        </rule>
        <rule id="IN_THE_SKIES" name="a blessing in the skies (disguise)">
            <pattern>
                <token>blessing</token>
                <token>in</token>
                <marker>
                    <token>the</token>
                    <token>skies</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>disguise</suggestion> (a blessing in disguise = an unfortunate event that results in a positive outcome)?</message>
            <url>https://dictionary.cambridge.org/us/dictionary/english/a-blessing-in-disguise</url>
            <short>Commonly confused words</short>
            <example correction="disguise">It was a blessing in <marker>the skies</marker> that my car broke down.</example>
        </rule>
        <rule id="PASSED_PAST" name="to walk passed (past)">
            <antipattern>
                <token inflected="yes">get</token>
                <token>passed</token>
                <token postag="IN" />
            </antipattern>
            <antipattern>
                <token>passed</token>
                <token>or</token>
                <token regexp="yes">rejected|failed</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">get</token>
                <token>passed</token>
                <token>back</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">messages?|legislations?|bills?|laws?|data|parameters?|variables?|arguments?</token>
                <token inflected="yes">get</token>
                <token>passed</token>
            </antipattern>
            <antipattern>
                <token postag="V.*" postag_regexp="yes" inflected="yes">get</token>
                <token>passed</token>
                <token postag="DT|PRP\$.*" postag_regexp="yes" negate_pos="yes"><exception regexp="yes">an?</exception></token>
            </antipattern>
            <pattern>
                <token inflected="yes" regexp="yes" chunk_re=".-VP">get|go|walk|run|drive</token>
                <marker>
                    <token>passed</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>past</suggestion>? 'passed' is a form of the verb 'pass'.</message>
            <short>Commonly confused word</short>
            <example correction="past">I walked <marker>passed</marker> the school.</example>
            <example correction="past">Unfortunately, inability to get <marker>passed</marker> the bilateral issue effectively forecloses resolution of the other issues in our outline.</example>
            <example>It got passed around.</example>
            <example>Judging from the speed at which this paper is moving, it is likely to get passed sooner than expected.</example>
            <example>Campaign finance may get passed.</example>
            <example>They are not convinced that it will get the necessary support to get passed.</example>
        </rule>
        <rule id="BOLD_FACED" name="a bold-faced (bald-faced) lie">
            <pattern>
                <marker>
                    <token regexp="yes">bold-?faced?</token>
                </marker>
                <token regexp="yes">lies?</token>
            </pattern>
            <message>Did you mean <suggestion>bald-faced</suggestion> (= showing no shame)?</message>
            <url>https://dictionary.cambridge.org/us/dictionary/english/bald-faced</url>
            <short>Commonly confused word</short>
            <example correction="bald-faced">It was a <marker>bold-faced</marker> lie.</example>
        </rule>
        <rule id="ONE_FELL_SWOOP" name="one foul (fell) swoop">
            <pattern>
                <token>one</token>
                <marker>
                    <token>foul</token>
                </marker>
                <token>swoop</token>
            </pattern>
            <message>Did you mean <suggestion>fell</suggestion>?</message>
            <short>Commonly confused word</short>
            <example correction="fell">I got it done in one <marker>foul</marker> swoop.</example>
        </rule>
        <rule id="DOG-EAT-DOG" name="doggy-dog (dog-eat-dog)">
            <pattern>
                <marker>
                    <token>doggy-dog</token>
                </marker>
                <token>world</token>
            </pattern>
            <message>Did you mean <suggestion>dog-eat-dog</suggestion>?</message>
            <short>Commonly confused word</short>
            <example correction="dog-eat-dog">We live in a <marker>doggy-dog</marker> world.</example>
        </rule>
        <rule id="GRANITE" name="take for granite (granted)">
            <pattern>
                <token inflected="yes" skip="1">take</token>
                <token>for</token>
                <marker>
                    <token>granite</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>granted</suggestion>?</message>
            <short>Commonly confused word</short>
            <example correction="granted">Do not take anything for <marker>granite</marker>.</example>
        </rule>
        <rule id="INTENSIVE_PURPOSES" name="intensive purposes (intents and purposes)">
            <pattern>
                <token>all</token>
                <marker>
                    <token>intensive</token>
                    <token>purposes</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>intents and \3</suggestion>?</message>
            <short>Commonly confused word</short>
            <example correction="intents and purposes">For all <marker>intensive purposes</marker>.</example>
        </rule>
        <rule id="LESS_MORE_THEN" name="less/more ... then (than)">
            <antipattern>
                <token>then</token>
                <token regexp="yes">\p{P}</token>
            </antipattern>
            <antipattern>
                <token postag="SENT_END">then</token>
            </antipattern>
            <pattern>
                <token regexp="yes">(less|more)</token>
                <token postag="(JJ|NNS?|NN:.*)" postag_regexp="yes"/>
                <token min="0" postag="(NNS?|NN:.*)" postag_regexp="yes"/>
                <marker>
                    <token>then</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>than</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="than">It's less controversial <marker>then</marker> one would think.</example>
            <example correction="than">It's a less controversial decision <marker>then</marker> one would think.</example>
            <example>He was more scared back then.</example>
            <!-- known false alarm: If the structure is one or more thin layers then it will reflect some wavelengths and transmit others. -->
        </rule>
        <rule id="COMMA_THAN" name="..., than (then)">
            <antipattern>
                <token postag="SENT_START" />
                <token>most</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START" skip="-1">
                    <exception postag="JJR" scope="next"/>
                </token>
                <token>,</token>
                <marker>
                    <token>than</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>then</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/than</url>
            <short>Possible typo</short>
            <example correction="then">If we want to eat, <marker>than</marker> we need to get some money.</example>
            <example>It's not much more, in fact, than the return that is offered on U. S. Treasury bonds.</example>
            <example>Most people are rather afraid of facing their mistakes, than of making mistakes.</example>
        </rule>
        <rule id="FROM_THAN_ON" name="from than (then) on">
            <pattern>
                <token>from</token>
                <token>than</token>
                <token>on</token>
            </pattern>
            <message>Did you mean <suggestion>from then on</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/than</url>
            <short>Possible typo</short>
            <example correction="From then on"><marker>From than on</marker> I entered a period of dullness, nothing bothered me anymore.</example>
        </rule>
        <rule id="AND_THAN" name="and than (then)">
            <pattern>
                <token regexp="yes">and|since|until</token>
                <marker>
                    <token case_sensitive="yes">than</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>then</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/than</url>
            <short>Possible typo</short>
            <example correction="then">How to add equal values and <marker>than</marker> replace them with their sum?</example>
            <example correction="then">Since <marker>than</marker> we've released two new versions.</example>
        </rule>
        <rule id="NUMBER_OF_NNS" name="number or (of)">
            <pattern>
                <token>number</token>
                <marker>
                    <token>or</token>
                </marker>
                <token postag="NNP?S" postag_regexp="yes"/>
                <token><exception>of</exception></token>
            </pattern>
            <message>Did you mean <suggestion>of</suggestion>?</message>
            <example correction="of">This tool will help you to reduce the number <marker>or</marker> errors.</example>
            <example>There are no limitations to the number or types of sounds that can be produced.</example>
        </rule>
        <rule id="THAN_INTERJ" name="..., than, ... (then)">
            <pattern>
                <token>,</token>
                <marker>
                    <token>than</token>
                </marker>
                <token>,</token>
            </pattern>
            <message>Did you mean <suggestion>then</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/than</url>
            <short>Possible typo</short>
            <example correction="then">The genuinely interesting question, <marker>than</marker>, becomes...</example>
        </rule>
        <rule id="WHO_THAN" name="who than (then)">
            <pattern>
                <token>who</token>
                <marker>
                    <token>than</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>then</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/then</url>
            <short>Possible typo</short>
            <example correction="then">Please, who <marker>than</marker> can help!</example>
            <example>Please, who then can help?</example>
        </rule>
        <rulegroup id="RATHER_THEN" name="rather/other/different then (than)">
            <url>https://en.wiktionary.org/wiki/than</url>
            <rule>
                <pattern>
                    <token regexp="yes">rather|other</token>
                    <marker>
                        <token>then</token>
                    </marker>
                    <token><exception postag="SENT_END"/><exception>,</exception></token>
                </pattern>
                <message>Did you mean <suggestion>than</suggestion>? 'than' is used for comparisons, 'then' is an expression of time.</message>
                <short>Possible typo</short>
                <example>If you bore each other <marker>then</marker>, heaven help you.</example>
                <example correction="than">Single Clicking rather <marker>then</marker> Double Clicking</example>
            </rule>
        </rulegroup>
        <rulegroup id="UNTIED_STATES" name="Untied (United) States">
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token>Untied</token>
                    </marker>
                    <token>States</token>
                </pattern>
                <message>Did you mean <suggestion>United</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="United">The <marker>Untied</marker> States of America</example>
            </rule>
        </rulegroup>
        <rulegroup id="UNCLEAR_NUCLEAR" name="unclear (nuclear)">
            <rule>
                <pattern>
                    <marker>
                        <token>unclear</token>
                    </marker>
                    <token regexp="yes">ar(m|senal)s?|blasts?|bombs?|disarmament|energy|missiles?|power|reactors?|wa(r|ste)|weapons?</token>
                </pattern>
                <message>Did you mean <suggestion>nuclear</suggestion> (relating to the nucleus of an atom)?</message>
                <short>Possible typo</short>
                <example correction="nuclear">There are hundreds of <marker>unclear</marker> missiles.</example>
            </rule>
        </rulegroup>
        <rule id="CONFUSION_OF_HART_HEART" name="hard (heart)">
            <pattern>
                <token>at</token>
                <token>the</token>
                <marker>
                    <token regexp="yes">he?ard|hart</token>
                </marker>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>heart</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/heart</url>
            <example correction="heart">The questions of training and pay lie at the <marker>hard</marker> of the staffing problems.</example>
        </rule>
        <rule id="CONFUSION_AWAIT_WAIT" name="await (wait)">
            <pattern>
                <marker>
                    <token inflected="yes">await</token>
                </marker>
                <token regexp="yes">until|till</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="^a" regexp_replace=""/></suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/await</url>
            <example correction="wait">I can hardly <marker>await</marker> until " Evidence " arrives at my home.</example>
        </rule>
        <rulegroup id="CONFUSION_DUE_DO" name="due (do)">
            <rule>
        <!--      Created by Tiago F. Santos, Portuguese rule, 2019-03-13      -->
                <antipattern><!-- Due partly to -->
                    <token postag="SENT_START"/>
                    <token>Due</token>
                    <token postag="RB"/>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- Due partly to -->
                    <token postag="SENT_START"/>
                    <token>Due</token>
                    <token regexp="yes">after|before</token>
                </antipattern>
                <antipattern>
                    <token>due</token>
                    <token postag="CD" />
                    <token regexp="yes">minutes|hours|days|weeks|months|years|am|pm</token>
                </antipattern>
                <antipattern>
                    <token>due</token>
                    <token regexp="yes">next|last|previous|this|every|by</token>
                    <token regexp="yes">week(end)?|month|year|&weekdays;|&months;</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>Due</token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token postag="SENT_END">Due</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>due</token>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">/|:</token>
                    <token regexp="yes">\d+</token>
                </antipattern>
                <antipattern><!-- confusion of to/too already caught by TOO_DETERMINER -->
                    <token postag="SENT_START" />
                    <token>due</token>
                    <token>too</token>
                    <token postag="DT" />
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>due</token>
                    <token regexp="yes" min="0">by|untill?|till?</token>
                    <token regexp="yes">\d+(th|st|nd|rd)</token>
                    <token regexp="yes">of|&months;|&abbrevMonths;</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>due</token>
                    <token regexp="yes" min="0">by|untill?|till?</token>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">.|\/</token>
                    <token regexp="yes">\d+</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>due</token>
                    <token regexp="yes" min="0">by|untill?|till?</token>
                    <token regexp="yes">\d+</token>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                </antipattern>
                <antipattern>
                    <token>due</token>
                    <token regexp="yes">dill?igences?</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START" />
                    <token>due</token>
                    <token>this</token>
                    <token>,</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START|TO" postag_regexp='yes'/>
                    <marker>
                        <token>
                            due
                            <exception scope='next' regexp='yes'>course|today|tomorrow|tonight|yesterday|dates?|for|on|process|regard|respect|to|the|:|(&weekdays;)s?|&months;|&abbrevMonths;|&abbrevWeekdays;</exception>
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean to use the verb <suggestion>do</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/due</url>
                <example correction="Do"><marker>Due</marker> you work this weekend?</example>
                <example correction="do">Unfortunately, I have work to <marker>due</marker>.</example>
                <example>Due to its links to active workers' movements, the In...</example><!-- XXX All remaining FPs are in similar circumstances -->
                <example>Due the unique climate in Azerbaijan, the flora is mu...</example>
                <example>Due partly to the performance capabilities of modern ...</example>
                <example>Due primarily to an excess of optimism in our original schedule...</example>
                <example>Due Friday.</example>
                <example>Due Fridays.</example>
                <example>Due Wed. 4/15.</example>
                <example>Due 20th of October</example>
                <example>Due this, we have no time.</example>
                <example>DUE by FRIDAY.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token>due</token>
                    </marker>
                    <token inflected="yes">be</token>
                </pattern>
                <message>Did you mean <suggestion>do</suggestion>?</message>
                <example correction="do">All I can <marker>due</marker> is help you as best as I can.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token>due</token>
                    </marker>
                    <token regexp="yes">it|them|that|this</token>
                </pattern>
                <message>Did you mean <suggestion>do</suggestion>?</message>
                <example correction="do">I can <marker>due</marker> it until tomorrow.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token>due</token>
                    </marker>
                    <token regexp="yes">its|my|mine|hi[sm]|hers?|y?ours?|theirs?|the|that|this|an?</token>
                </pattern>
                <message>Did you mean <suggestion>do</suggestion> or <suggestion>due to</suggestion>?</message>
                <example correction="do|due to">I can <marker>due</marker> his homework.</example>
                <example correction="do|due to">I will <marker>due</marker> my best on the Thursday deadline.</example>
                <example correction="do|due to">I think I can get some big rocks and tires really easily though, so I may <marker>due</marker> that.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">have|want|try|need|like|love</token>
                    <token>to</token>
                    <token min="0" postag="RB" />
                    <marker>
                        <token>due</token>
                    </marker>
                    <token postag="IN|DT|PRP\$|PCT" postag_regexp="yes">
                        <exception>to</exception>
                    </token>
                </pattern>
                <message>Did you mean the verb <suggestion>do</suggestion>?</message>
                <example correction="do">I want to <marker>due</marker> his homework.</example>
            </rule>
        </rulegroup>
        <rule id="CONFUSION_AWL_ALL" name="awl (all)">
    <!--      Created by Tiago F. Santos, Portuguese rule, 2019-03-13      -->
            <pattern>
                <token>awl</token>
                <token postag="PRP$"/>
                <token postag="NNP?S" postag_regexp='yes'/>
            </pattern>
            <message>Did you mean <suggestion>all \2 \3</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/awl</url>
            <example correction="all my things">I left <marker>awl my things</marker> there.</example>
        </rule>
        <rule id="CONFUSION_KNOT_NOT" name="knot (not)">
            <antipattern>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" />
                <token>knot</token>
            </antipattern>
    <!--      Created by Tiago F. Santos, Portuguese rule, 2019-03-13      -->
            <pattern>
                <token postag="MD|V.+" postag_regexp='yes'>
                    <exception regexp="yes">tie|hitch(es)?|rolling|suture|sliding|nail|cord|top</exception>
                </token>
                <token>knot</token>
            </pattern>
            <message>Did you mean the negation <suggestion>\1 not</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/knot</url>
            <example correction="should not">This <marker>should knot</marker> have happened.</example>
        </rule>
        <rule id="THAT_BEING_SAID" name="That being sad (said)">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token>That</token>
                    <token>being</token>
                    <token regexp="yes">sa[dt]|aid</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>That being said</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/said</url>
            <example correction="That being said"><marker>That being sad</marker> ...</example>
        </rule>
        <rule id="MARRY_MERRY" name="marry (merry)">
            <pattern>
                <marker>
                    <token>marry</token>
                </marker>
                <token regexp="yes">band|chase|Christmas|group|hell|X-?mas|ways?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="a" regexp_replace="e"/></suggestion> (=jolly, festive)?</message>
            <url>https://en.wiktionary.org/wiki/marry</url>
            <example correction="Merry"><marker>Marry</marker> Christmas!</example>
        </rule>
        <rule id="IN_ON_VACATION" name="in (on) vacation">
            <pattern>
                <token inflected="yes">be</token>
                <token regexp="yes" min="0" postag="RB">[a-z]+ly</token>
                <marker>
                    <token postag="IN"><exception>on</exception></token>
                    <token>vacation</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>on vacation</suggestion>?</message>
            <example correction="on vacation">He is probably <marker>in vacation</marker> right now.</example>
            <example correction="on vacation">I'm <marker>at vacation</marker> at the seaside.</example>
            <example>Where did you go for vacation?</example>
        </rule>
        <rule id="IN_ON_WEEKDAY" name="in (on) weekdays">
            <pattern>
                <token postag="SENT_START"/>
                <marker><token>In</token></marker>
                <token regexp="yes">&weekdays;</token>
                <token regexp="yes">,|afternoon|morning|night</token>
                <token><exception>'s</exception></token>
            </pattern>
            <message>Did you mean <suggestion>On</suggestion>?</message>
            <example correction="On"><marker>In</marker> Friday afternoon, the President announced the embargo.</example>
            <example>In Friday night's press briefing, police said they had adequate reason to take the child.</example>
        </rule>
        <rule id="CONFUSION_DURING_FOR" name="during (for)">
            <pattern>
                <marker><token>during</token></marker>
                <token>ages</token>
                <token><exception postag="CD"/></token>
            </pattern>
            <message>Did you mean <suggestion>for</suggestion>?</message>
            <example correction="for">I haven't seen him <marker>during</marker> ages.</example>
            <example>In that subgroup, the prevalence of HPV and high-risk HPV declined during ages 35 to 40.</example>
        </rule>
        <rule id="MUST_MOST" name="must (most) of">
            <pattern>
                <marker>
                    <token>must</token>
                    <token>of</token>
                </marker>
                <token><exception>course</exception><exception>necessity</exception></token>
            </pattern>
            <message>Did you mean <suggestion>most of</suggestion> or <suggestion>must have</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/must</url>
            <short>Confused word</short>
            <example correction="most of|must have">I do this <marker>must of</marker> the time.</example>
            <example>There must of course be a relationship between translating and making poems of your own.</example>
            <example>Policy on Zimbabwe must of necessity be subservient to this greater goal.</example>
        </rule>
        <rule id="COULD_OF" name="could of (have)">
            <pattern>
                <token regexp="yes">could|should|would</token>
                <marker><token>of</token></marker>
                <token><exception>course</exception></token>
            </pattern>
            <message>Did you mean <suggestion>have</suggestion>? ('\1 \2' is probably an incorrect use of the verb phrase '\1 have'; as contraction "\1've" sounds like "could of")</message>
            <short>Confused word</short>
            <example correction="have">I should <marker>of</marker> finished it by now.</example>
        </rule>
        <rulegroup id="PEACE_PIECE" name="peace (piece)">
            <rule>
                <pattern>
                    <marker>
                        <token>peace</token>
                    </marker>
                    <token>of</token>
                    <token regexp="yes">cake|work|information|(soft|hard)ware|paper|land|advice|art|equipment|music|furniture|wood|cloth|meat|writing|shit</token>
                </pattern>
                <message>Did you mean <suggestion>piece</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/peace</url>
                <short>Possible typo</short>
                <example correction="piece">It's a <marker>peace</marker> of cake!</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALREADY_ALL_READY" name="already vs. all ready">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token regexp="yes">you|s?he|they</token>
                    <marker><token>already</token></marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Did you mean <suggestion>all ready</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/already</url>
                <example correction="all ready">Are you <marker>already</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                    <token postag="JJ"/>
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/already</url>
                <example correction="already">The device is <marker>all ready</marker> available in Korea.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP"/>
                    <token regexp="yes">ha(?:ve|s|d)</token>
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="already">I have <marker>all ready</marker> bought it.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>all</token>
                    <token>ready</token>
                    <token>to</token>
                    <token>go</token>
                </antipattern>
                <pattern>
                    <!-- contraction -->
                    <token regexp="yes">'ve|'s</token>
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                    <token><exception regexp="yes">[\.!\?]</exception></token>
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="already">I've <marker>all ready</marker> bought it.</example>
                <example>It's all ready to go.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">it|you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|we|they|I|you|it</token>
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                    <token postag="VB[PZD]?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <example correction="already">We <marker>all ready</marker> have purchased it.</example>
                <example correction="already">We <marker>all ready</marker> are at the destination.</example>
                <example correction="already">Should they <marker>all ready</marker> be available, we will collect them immediately.</example>
                <example>We <marker>already</marker> have purchased it.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">
                        be
                        <exception>being</exception>
                    </token>
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                    <token postag="VBG|IN" postag_regexp="yes">
                        <exception regexp="yes">to|for</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <example correction="already">We are <marker>all ready</marker> on our way.</example>
                <example>We were all ready to go.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <example correction="already">We would <marker>all ready</marker> go there.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                    <marker>
                        <token>all</token>
                        <token>ready</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>Did you mean <suggestion>already</suggestion>?</message>
                <example correction="already">We would like to <marker>all ready</marker> go there.</example>
            </rule>
        </rulegroup>
        <rulegroup id="QUIET_QUITE" name="quite / quiet">
            <url>https://en.wiktionary.org/wiki/quite</url>
            <rule>
                <pattern>
                    <marker>
                        <token>quite<exception scope="previous">not</exception></token>
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{Punct}</token>
                </pattern>
                <message>Did you mean <suggestion>quiet</suggestion>? 'quiet' means 'silent', 'quite' mean 'very' or 'to a moderate extent'</message>
                <short>Possible typo</short>
                <example correction="quiet">Be <marker>quite</marker>!</example>
                <example>Not quite.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes">be</token>
                    <token min="0">still</token>
                    <marker><token>quiet</token></marker>
                    <token postag="JJ"><exception postag="NN:U|DT|RP" postag_regexp="yes"/></token>
                    <token><exception postag="SENT_END"/></token>
                 </pattern>
                 <message>Did you mean <suggestion>quite</suggestion>? 'quiet' means 'silent', 'quite' mean 'very' or 'to a moderate extent'</message>
                 <example correction='quite'>I am <marker>quiet</marker> new to the school.</example>
                 <example>It was quiet all around.</example>
                 <example>The market was quiet today.</example>
                 <example>The market is quiet on weekdays.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token inflected="yes">be</token>
                    <token>quiet</token>
                    <token skip="2">a</token>
                    <token inflected="yes">time</token>
                 </antipattern>
                <pattern case_sensitive="yes">
                    <token inflected="yes">be</token>
                    <marker><token>quiet</token></marker>
                    <token>a</token>
                 </pattern>
                 <message>Did you mean <suggestion>quite</suggestion>? 'quiet' means 'silent', 'quite' mean 'very' or 'to a moderate extent'</message>
                 <example correction='quite'>That's <marker>quiet</marker> a list.</example>
                 <example correction='quite'>There were <marker>quiet</marker> a few ways to reach your goal.</example>
                 <example>Sometimes when you see children who are quiet a lot of times they don't get pinpointed.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="DT|PRP\$|SENT_START" postag_regexp="yes" />
                    <token postag="JJ|RB" postag_regexp="yes" min="0" />
                    <marker>
                        <token>quite</token>
                    </marker>
                    <token regexp="yes">evenings?|noises?|spaces?|sounds?|musics?|wedding|confidence|signals?|hummings?|tones?|places?|earth|life|woman|man|kids?|child|areas?|days?|rooms?|relationship|environments?|walk|atmosphere|whispers?|observers?|houses?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>quiet</suggestion>? 'quiet' means 'silent', 'quite' mean 'very' or 'to a moderate extent'</message>
                <example correction="quiet">A very <marker>quite</marker> noise.</example>
                <example>He's a quite humble man in spite of all he's achieved.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token skip="1" regexp="yes">an?</token>
                    <marker>
                        <token>quite</token>
                    </marker>
                    <token regexp="yes">words?</token>
                </pattern>
                <message>Did you mean the adjective <suggestion>quiet</suggestion>? 'quiet' means 'silent', 'quite' mean 'very' or 'to a moderate extent'</message>
                <url>https://en.wiktionary.org/wiki/have_a_quiet_word</url>
                <example correction="quiet">Let's have a <marker>quite</marker> word.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRP_NEW" name="He new (knew)">
            <antipattern>
                <token>new</token>
                <token regexp="yes">york(ers?)?|relic|jersey|zealand(ish)?|delhi|england|hampshire</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token>n't</token>
                <token postag="PRP" />
            </antipattern>
            <antipattern>
                <token postag="VB.*|UNKNOWN|IN" postag_regexp="yes" />
                <token regexp="yes">you|it</token>
            </antipattern>
            <rule>
                <pattern>
                    <marker>
                        <token>I</token>
                    </marker>
                    <token regexp="yes" min="0">very|completely|really</token>
                    <token>new</token>
                    <token regexp="yes">to|here</token>
                </pattern>
                <message>Did you mean <suggestion>I'm</suggestion>?</message>
                <example correction="I'm"><marker>I</marker> new to this group.</example>
                <example>Not only am I new to Gems of War, but I’m totally new to game consoles.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">I|[Ss]he|[Hh]e|[Ww]e|[Tt]hey|[Yy]ou|[Ii]t</token>
                    <token min="0" regexp="yes">always|never|also|often</token>
                    <marker>
                        <token>new</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>knew</suggestion> (past of 'to know')?</message>
                <url>https://en.wiktionary.org/wiki/new</url>
                <short>Possible typo</short>
                <example correction="knew">Ah, I <marker>new</marker> you would say that.</example>
                <example>Is one of you new?</example>
                <example>Is she new?</example>
                <example>We need to buy you new shoes.</example>
                <example correction="knew">This is a wealth of information I wish I <marker>new</marker> sooner!</example>
            </rule>
        </rulegroup>
        <rulegroup id="SOME_EXTEND" name="some/certain extend (extent)">
            <url>https://en.wiktionary.org/wiki/extend</url>
            <rule>
                <pattern>
                    <token regexp="yes">some|certain</token>
                    <marker>
                        <token>extend</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>extent</suggestion> ('extent' is a noun, 'extend' is a verb)?</message>
                <short>Possible typo</short>
                <example correction="extent">Yes it is, to a certain <marker>extend</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token>the</token>
                    <marker>
                        <token>extend</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>extent</suggestion> ('extent' is a noun, 'extend' is a verb)?</message>
                <short>Possible typo</short>
                <example correction="extent">To the <marker>extend</marker> permitted by law</example>
            </rule>
        </rulegroup>
        <rulegroup id="THEIR_IS" name="their/they're (there) is/are">
            <url>https://languagetool.org/insights/post/there-their-theyre/</url>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>A</token>
                    <token regexp="yes">[Ll]ine</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>A</token>
                    <token>/</token>
                    <token>C</token>
                </antipattern>
                <!--TODO: correct? 
                <antipattern>
                    <token>their</token>
                    <token>have</token>
                    <token><exception regexp="yes">n't|been</exception></token>
                </antipattern>-->
                <pattern>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token regexp="yes">is|are|was|were|has|have|an?</token>
                </pattern>
                <message>Did you mean <suggestion>there</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="there">He noticed that <marker>their</marker> is a new test.</example>
                <example correction="There"><marker>Their</marker> has to be a way!</example>
                <example>The Malay and Sea Dayak pirates preyed on maritime shipping in the waters between Singapore and Hong Kong from their haven in Borneo.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>their</token>
                    </marker>
                    <token regexp="yes">might|[wc]ould|should</token>
                    <token>be</token>
                </pattern>
                <message>Did you mean <suggestion>there</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="there">Yes, <marker>their</marker> might be a better approach.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>they</token>
                        <token spacebefore="no">'re</token>
                    </marker>
                    <token regexp="yes">is|are|w(as|ere)|might|could|should</token>
                </pattern>
                <message>Did you mean <suggestion>there</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="there">He noticed that <marker>they're</marker> is a new test.</example>
                <example correction="There"><marker>They're</marker> was a robbery.</example>
            </rule>
        </rulegroup>
        <rulegroup id="MOTHER-IN-LOW" name="mother-in-low (mother-in-law)">
            <url>https://en.wiktionary.org/wiki/mother-in-law</url>
            <rule>
                <pattern>
                    <token regexp="yes">(mother|sister|brother|father|relative|son|daughter)s?-in-low</token>
                </pattern>
                <message>You probably meant: <suggestion><match no="1" regexp_match="(.*)-in-low" regexp_replace="$1-in-law"/></suggestion></message>
                <short>Possible typo</short>
                <example correction="mother-in-law">This is her <marker>mother-in-low</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(mother|sister|brother|father|son|relative|daughter)s?</token>
                    <token>in</token>
                    <token>low</token>
                </pattern>
                <message>Possible typo. This word is usually spelled with hyphens.</message>
                <suggestion>\1-\2-law</suggestion>
                <short>Possible typo</short>
                <example correction="mother-in-law">This is her <marker>mother in low</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="IN_THE_PASSED" name="in the passed (in the past)">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token>passed</token>
            </pattern>
            <message>Did you mean <suggestion>in the past</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="in the past">We succeeded <marker>in the passed</marker>.</example>
            <example>In the past, we had a number of successes.</example>
        </rule>
        <rulegroup id="BY_BUY" name="I will by (buy) this car">
            <antipattern>
                <token>by</token>
                <token postag="PRP$"/>
                <token min="0">own</token>
                <token>terms</token>
            </antipattern>
            <antipattern>
                <token postag="IN" />
                <token>to</token>
                <token>by</token>
            </antipattern>
            <antipattern><!-- "opted-in to by" (opted-in is UNKNOWN) -->
                <token postag="UNKNOWN|NN.*" postag_regexp="yes" regexp="yes">.+\-(in|up|out|around)</token>
                <token>to</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token skip="2">by</token>
                <token regexp="yes">means|default|mistake|def(inition)?|design|convention|condition|exercise|chances?|doc(umentation)?|necc?ess?ity|laws?|miracles?|passion|hearts?|extensions?|return</token>
            </antipattern>
            <antipattern><!-- She by saying -->
                <token>by</token>
                <token regexp="yes">saying|telling|giving|reading</token>
            </antipattern>
            <antipattern>
                <token skip="1">by</token>
                <token regexp="yes">now|far|nature|natural|force</token>
            </antipattern>
            <antipattern><!-- adverbial phrase https://www.merriam-webster.com/dictionary/by%20and%20by -->
                <token>by</token>
                <token regexp="yes">&amp;|and</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes">
                    <exception postag="MD" />
                </token>
                <token postag="RB" min="0" />
                <token>to</token>
                <token postag="RB" min="0" />
                <token>by</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="4">(which|what|how|who|where)(ever)?</token>
                <token postag="MD" />
                <token postag="RB" min="0" />
                <token>by</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">as|than</token>
                <token postag="PRP|NNP?|UNKNOWN" postag_regexp="yes" />
                <token regexp="yes">can|would|could</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">can(not)?|'ll|will|[wc]ould|must|should|did|might|to|please</token>
                <token postag="RB" min="0" />
                <token>by</token>
                <token postag="RB" min="0" />
                <token postag="VBG" />
            </antipattern>
            <antipattern>
                <token regexp="yes">can(not)?|'ll|will|[wc]ould|must|should|did|might|to|please</token>
                <token postag="RB" min="0" />
                <token>by</token>
                <token postag="RB" min="0" />
                <token regexp="yes" postag="UNKNOWN">.+ing</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token postag="DT" min="0" />
                <token regexp="yes">end|start|beginning|close</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token postag="DT"/>
                <token>day</token>
                <token regexp="yes">of|after|before</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token postag="CD" />
                <token>of</token>
                <token>the</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">be</token>
                <token postag="RB" min="0" />
                <token>equal</token>
                <token>to</token>
                <token>by</token>
                <token>the</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token>the</token>
                <token regexp="yes">way|time|book|looks?</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token postag="RB|DT" min="0" postag_regexp="yes" />
                <token regexp="yes">\d+|\d+[ap]m|bikes?|cars?|bus(ses)?|trains?|plane|(tele)?phone|IM|e|e?\-?mail|sms|fax|whatsapp|messenger|courier|facebook|twitter|fedex|dhl|ups|wechat|mobile|airplanes?|boats?|jet(ski)?s?|helicopters?|scooter|bi-?cycles?|Christmas|X-?mas|Thanksgiving|week\-?end|week|day|S[uo]mmer|Winter|Autumn|Fall|Spring|Eastern|sunset|sunrise|(after)?noon|evening|morning|night|yesterday|tomorrow|today|&weekdays;|&abbrevWeekdays;|&months;|&abbrevMonths;</token>
            </antipattern>
            <antipattern>
                <token>to</token>
                <token postag="RB" min="0" />
                <token>by</token>
                <token postag="DT" min="0" />
                <token regexp="yes">next|upcoming|last|previous|early|later?|mid(\-.+)?</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token regexp="yes">.+(self|selves?)</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token regexp="yes">him|her|it|their|them|your|my</token>
                <token regexp="yes">(self|selve)s?</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token>pass</token>
            </antipattern>
            <antipattern>
                <token>here</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token>'s</token>
                <token min="0" />
                <token>will</token>
                <token>by</token>
            </antipattern>
            <antipattern><!-- proper noun -->
                <token>theresa</token>
                <token>may</token>
            </antipattern>
            <antipattern><!-- month name -->
                <token postag="IN" />
                <token>may</token>
            </antipattern>
            <antipattern><!-- by a small/wide margin -->
                <token>by</token>
                <token>a</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token regexp="yes">margins?|percent(age)?|shares?</token>
            </antipattern>
            <antipattern>
                <token>that</token>
                <token>it</token>
                <token regexp="yes">should|could|would</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token postag="IN" /><!-- at will (will = noun) -->
                <token skip="1">will</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token>by</token>
                <token postag="PRP$" />
                <token>side</token>
            </antipattern>
            <antipattern><!-- my will -->
                <token postag="PRP$" />
                <token skip="1">will</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token>worth</token>
                <token>it</token>
                <token>by</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">garbage|trash|rubbish|the|a</token>
                <token>can</token>
            </antipattern>
            <antipattern><!-- ... he shouldn't by not going ... -->
                <token>by</token>
                <token>not</token>
                <token postag="VBG" />
            </antipattern>
            <rule>
                <antipattern>
                    <token />
                    <token spacebefore="yes">ll</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        can(not)?|will|'ll|[wc]ould|must|should|did|might|to|please|gonna|wanna|may
                        <exception case_sensitive="yes" regexp="yes">Will|WILL|May|MAY</exception>
                    </token>
                    <token postag="RB" min="0">
                        <exception postag="VBP?" postag_regexp="yes" />
                        <exception>so</exception>
                        <exception scope="previous" regexp="yes">to|please</exception><!-- "to" needed here? "He wanted to simply buy a new car." -->
                    </token>
                    <marker>
                        <token>by</token>
                    </marker>
                </pattern>
                <message>Did you maybe mean <suggestion>buy</suggestion> or <suggestion>be</suggestion>?</message>
                <example>Referred to by Tom.</example>
                <example correction="buy|be">I would <marker>by</marker> a new iPhone if I had the money.</example>
                <example correction="buy|be">I'll <marker>by</marker> you lunch.</example>
                <example correction="buy|be">Soup cannot <marker>by</marker> eaten with a fork.</example>
                <example correction="buy|be">Your family wants you to <marker>by</marker> happy.</example>
                <example correction="buy|be">I may <marker>by</marker> a new abwheel again.</example>
                <example correction="buy|be">Recently, two bills that would impose a windfall profits tax on California generators have been advancing through the California legislature and will likely <marker>by</marker> heard on the floor of the Assembly this week.</example>
                <example>You should by all means read the book.</example>
                <example>In other word, the roots of form a field of order , which is equal to by the minimality of the splitting field.</example>
                <example>Although written in Greek, by convention the works are referred to by Latin titles, and often by merely abbreviations of those.</example>
                <example>The game was looked forward to by everyone.</example>
                <example>Our plan was objected to by the majority.</example>
                <example>Make it worth it by reading the entire book.</example>
                <example>We know that reducing demand will not by itself solve our energy crisis.</example>
                <example>Decent computer setup too, and I will by the looks of it be able to work in maybe two weeks.</example>
                <example>Nobody can live by himself.</example>
                <example>As I have mentioned to you, Enron has been referred to specifically by one of the most powerful Senators.</example>
                <example>It is referred to locally by terms such as "dialect" (pronounced "dialek"), Anguilla Talk or "Anguillian".</example>
                <example>This time, however, the East German authorities allowed people to leave, provided that they did so by train through East Germany.</example>
                <example>The company announced a 3-year U.S.$1bn rapid-development program to boost output to by early 2001.</example>
                <example>In many jurisdictions, it’s actually the case that a corporate charter can be revoked at will by the government.</example>
                <example>But that’s all, it did by itself, I promise.</example>
                <example>He is looked up to by friends.</example>
                <example correction="buy|be">My next vacuum will definitely <marker>by</marker> network ready.</example>
                <example>The contract should by now be posted on the website.</example>
                <example correction="buy|be">These charts will <marker>by</marker> (1) tracked for timely receipt; and (2) integrated for daily volumes when received.</example>
                <example>A long-term plan is to make the city's metro system expand to over by 2020 with 15 lines in operation.</example>
                <example>The Saturn IB was an upgraded version of the Saturn I. The S-IB first stage increased the thrust to by upgrading the H-1 engine.</example>
                <example>Sometimes, where there is no risk of confusion, the angle may be referred to simply by its vertex.</example>
                <example>If feeling sick of the world could by itself grant saintliness, I don't see how I could avoid canonization.</example>
                <example>In Japan, reigning emperors are known simply as "the Emperor" and he is now referred to primarily by his posthumous name.</example>
                <example>I will again by the end of this month.</example>
                <example>From the article linked to by Solomon.</example>
                <example>... and you by my side.</example>
                <example>The rate at which the central bank lends money can indeed be chosen at will by the central bank; this is the rate that makes the financial headlines.</example>
                <example>we save extra over what some other families might by not having a huge tank of hot water on standby all the time.</example>
                <example>According to an MNB forecast however, until 2011, the deficit will by a small margin fall short of the 3.0% criterion.</example>
                <example>The British harshly punished those who would not by jailing them.</example>
                <example>Uncle Zebulon's Will by Magnus Olsson.</example>
                <example>Far more than I can by disenchanting.</example>
                <example>Beth had already seen the woman at the Anchor, and Lindsey didn't want Beth to stumble into something she shouldn't by not knowing what was going on.</example>
                <example>I did so by holding a jumper wire from GND to GPIO0.</example>
                <example>A Convention's representative on mission in Nantes commissioned in October to pacify the region did so by simply drowning prisoners in the river Loire.</example>
                <example>What are you referring to by "relationship"?</example>
                <example>Final version agreed to by April 11th.</example>
                <example>I was able to get `rbtrace` working using the solution in the issue I linked to above by requiring `rbtrace` after Passenger forked.</example>
                <example>While we don’t expose a “full” API one can be built that does 90% of what a full API could by a developer.</example>
                <example>Their temperature ranges from at dawn and steadily increases to by sunset, before they cool off at night again.</example>
                <example>A Synthetics test that records no traffic will by definition fail.</example>
                <example>A given stage of rock and the corresponding age of time will by convention have the same name, and the same boundaries.</example>
                <example>Cotton exports from the U.S. boomed after the cotton gin's appearance – from less than in 1793 to by 1810.</example>
                <example>We probably could by the end of the quarter.</example>
                <example>This is the goal for me to get back to by June.</example>
                <example>I can get Mystic Ingots but need to Lvl up my Legendary weapons is there a way to either by picking rooms to do or upgrading treasure hoard to ensure what even ingots I get are only legendary?</example>
                <example correction="buy|be">Then you can <marker>by</marker> them for the exorbitant cost of 50.</example>
                <example correction="buy|be">If the agent is attached to a JVM after the classes have already been loaded, they will not <marker>by</marker> modified for profiling and no performance monitoring data will generated.</example>
                <example correction="buy|be">I really should <marker>by</marker> Google stock.</example>
                <example correction="buy|be">So that will soon <marker>by</marker> 100x the size of the SmartThings market.</example>
                <example correction="buy|be">Also you could <marker>by</marker> 2-pack and save a few bucks.</example>
                <example>The board, however, can by improving its own performance withstand the hardships created by phase I.</example>
                <example>Growth is almost entirely driven by rising oil production which surpassed in late 2005 and was expected to grow to by 2007.</example>
                <example>The LED on the WD500Z-1 will by default turn ON.</example>
                <example>Design improvements allowed the available MTOW to increase to by 1993.</example>
                <example>I propose the language agreed to by you for the PB agreement.</example>
                <example>A Synthetics test that records no traffic will by definition fail.</example>
                <example>Asia is home to by far the greatest absolute number of city-dwellers.</example>
                <example>It did so by propagandizing the opinion.</example>
                <example>Also I can’t upgrade my docker because it’s a part of CoreOS 1520.6.0 stable release and it can only by 1.12.</example>
                <example>I can continue creating them at will simply by connecting or disconnecting USB power.</example>
                <example>It will please only by causing pain.</example>
                <example correction="buy|be">That would probably <marker>by</marker> why the panel can’t see them.</example>
                <example correction="buy|be">We really need to <marker>by</marker> transparent about how the project is managed.</example>
                <example correction="buy|be">Hi everybody, Bill Ketcheson has asked me to let everyone know that if you are interested, you can <marker>by</marker> up to 15 tickets for the Order of Good Cheer.</example>
                <example>It's hard to get to by bike because it's far away.</example>
                <example>You don’t get any better coverage then you would by just putting a plug in pocket socket in the same location.</example>
                <example>It did so by disrupting industrial programmable logic controllers.</example>
                <example>Sometimes the city is informally referred to as by people from Alexandria.</example>
                <example>Alex took the garbage can out by the driveway.</example>
                <example>You did so by making sure the truth was on your side and that you could back up your claims.</example>
                <example>TJ looking into the formulas, with Anna's assistance as best she can by telephone and IM.</example>
                <example>This might be your day time running lights, I doubt you can by pass these.</example><!-- different error (bypass) -->
                <example>Uneducated parents, increasingly left behind by an increasingly automated labor market, cannot by themselves make up for the lack of education that test-in school systems are testing for.</example>
                <example>Once again, gym’s single squat rack taken up for way to long by folks who thought it the day to train jaws.</example><!-- different error (too) -->
                <example correction="buy|be">Thinking to buy, but wondering if I should <marker>by</marker> via Vodafone or Amazon UK.</example>
                <example correction="buy|be">It will surely <marker>by</marker> useful for your future to put forth this much effort.</example>
                <example correction="buy|be">You should <marker>by</marker> another brand like Ring to use with Samsung hubs.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">
                        can|ca|wo|[wc]ould|must|should|did|does|do
                    </token>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0">
                        <exception postag="VBP?" postag_regexp="yes" />
                        <exception>so</exception>
                        <exception scope="previous" regexp="yes">to|please</exception><!-- "to" needed here? "He wanted to simply buy a new car." -->
                    </token>
                    <marker>
                        <token>by</token>
                    </marker>
                </pattern>
                <message>Did you maybe mean <suggestion>buy</suggestion> or <suggestion>be</suggestion>?</message>
                <example correction="buy|be">I wouldn't <marker>by</marker> this pen.</example>
                <example correction="buy|be">Long story short: don’t <marker>by</marker> Visonic MCT-340 E if you want a high resolution temperature measurement.</example>
                <example>You don’t by any means need to do this.</example>
                <example>I’ve been told it doesn’t by default.</example>
                <example>Preferably something that doesn’t by its very definition rely upon oppressing people.</example>
                <example>Man can't live by bread alone.</example>
                <example>It does not by its terms prohibit retaliation.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="3">King|Prince|Lord|Queen</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>I</token>
                </antipattern>
                <antipattern><!-- "workaround you by" -->
                    <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.+\-(in|up|out|around)</token>
                    <token regexp="yes">you|it</token>
                    <token>by</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP|UNKNOWN" postag_regexp="yes" />
                    <token regexp="yes">and|or|&amp;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</token>
                    <token postag="IN" min="0" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token chunk="I-VP" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token postag="UNKNOWN" regexp="yes">\w{3,30}|"|”|'|’|»|\)|\]</token><!-- unknown misspelled verbs or words in quotes/parenthesis -->
                    <token postag="IN" min="0" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token postag="NN:UN" /><!-- verbs incorrectly tagged as "NN:UN" in "Those who speak most of progress measure it by quantity and not by quality" -->
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token>than</token>
                    <token regexp="yes">they|you|I|we|s?he|it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">they|you|I|we|s?he|it</token>
                    <token postag="RB" min="0">
                        <exception postag="VB.*" postag_regexp="yes" />
                        <exception>so</exception>
                    </token>
                    <marker>
                        <token>by</token>
                    </marker>
                </pattern>
                <message>Did you maybe mean <suggestion>buy</suggestion>?</message>
                <example correction="buy">I usually <marker>by</marker> my stuff at Walmart.</example>
                <example correction="buy">Whether you <marker>by</marker> the Ferrari from a dealer or private sale the expectation is the same.</example>
                <example correction="buy">Does he <marker>by</marker> his groceries at the supermarket nearby?</example>
                <example>Are you by yourselves?</example>
                <example>He is older than I by two years.</example>
                <example>I was referred to you by Corry Bentley.</example>
                <example>It’s done for you by SmartThings.</example>
                <example>I by the end of the week.</example>
                <example>Saturday, I by noon.</example>
                <example>Draft GTA being DHLed to you by our Jakarta office.</example>
                <example>We will submit these to you by Thursday.</example>
                <example>Congrats to you by the way.</example>
                <example>Will send revision to you by 2pm CST.</example>
                <example>Further transmission to you by the sender of this email may be stopped at no cost to you by sending in the subject line.</example>
                <example>Enigma machine G was modified to the Enigma I by June 1930.</example>
                <example>We will put something together for you by this evening.</example>
                <example>I am also forwarding hard copies of the documents to you by courier.</example>
                <example>Could you by any chance name any of these devices off the top of your head?</example>
                <example>However normally Jira is smart enough to fix this issue automatically for you by using cache busting techniques like hashed file names.</example>
                <example>Would it be OK if I identified these for you by using the “flag post” to bring these to your attention?</example>
                <example>Those who speak most of progress measure it by quantity and not by quality.</example>
                <example>I “force pushed” it by Ctrl-clicking it on the push arrow.</example>
                <example>The plan itself was materially lower than that presented to John and I by the business and support groups.</example>
                <example>After reading your work, I feel a kinship with the people and place and the misery that's been imposed on them and it by nature.</example>
                <example type="triggers_error">So excited were they by showing the amateur Europeans how space stuff was done properly, that they forgot to run their routines quickly enough.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ABOUT_TO_VBD" name="He is about to (be) executed">
            <rule>
                <pattern>
                    <token inflected="yes" skip="2">be</token>
                    <token>about</token>
                    <marker>
                        <token>to</token>
                        <token postag="VB[DN]" postag_regexp="yes">
                            <exception postag="VBP?" postag_regexp="yes" />
                        </token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>\3 be <match no="4" postag="VBN" /></suggestion> or <suggestion>\3 <match no="4" postag="VBP" /></suggestion>?</message>
                <example correction="to be implemented|to implement">The feature is about <marker>to implemented</marker>.</example>
                <example correction="to be drilled|to drill">I am looking to see if TWPL is close to the two wells that are about <marker>to drilled</marker>.</example>
                <example correction="to be given|to give">Orlando and Sergio Assad are about <marker>to gave</marker> me their clearance to start a legal suit against ANEEL having in view its refusal to grant to Elektro such passthrough.</example>
                <example>Tom was about to burst into tears.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BY_PASS" name="by pass (bypass)">
            <url>https://www.merriam-webster.com/dictionary/bypass</url>
            <rule>
                <pattern>
                    <token regexp="yes">can(not)?|will|[wc]ould|must|should|did|do|does|might|may|to|please|was|were|has|(ha)?ve|had|been|are|'re|am|'m|is|'s</token>
                    <token postag="RB" min="0">
                        <exception postag="VBP?" postag_regexp="yes" />
                        <exception>so</exception>
                    </token>
                    <marker>
                        <token>by</token>
                        <token inflected="yes">pass</token>
                    </marker>
                </pattern>
                <message>The verb or noun 'bypass' is spelled as one word.</message>
                <suggestion><match no="3" /><match no="4" case_conversion="alllower" /></suggestion>
                <example correction="bypass">The thrust of the Lamfulussy process is a plan that would <marker>by pass</marker> the normal EU legislative process that includes passage of legislation through the Council of Ministers and the European Parliament, which usually takes at least two years.</example>
                <example correction="bypassing">He is always <marker>by passing</marker> the meeting by coming late to work.</example>
                <example correction="bypassing">I am not <marker>by passing</marker> life.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">can|ca|wo|[wc]ould|must|should|did|do|does|was|were|has|have|had|are|is|ai</token>
                    <token regexp="yes">n't|not</token>
                    <token postag="RB" min="0">
                        <exception postag="VBP?" postag_regexp="yes" />
                        <exception>so</exception>
                    </token>
                    <marker>
                        <token>by</token>
                        <token inflected="yes">pass</token>
                    </marker>
                </pattern>
                <message>The verb or noun 'bypass' is spelled as one word.</message>
                <suggestion><match no="4" /><match no="5" case_conversion="alllower" /></suggestion>
                <example correction="bypassing">He isn't always <marker>by passing</marker> the meeting by coming late to work.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token postag="IN" />
                </antipattern>
                <pattern>
                    <token regexp="yes">s?he|you|I|we|they|it</token>
                    <token postag="RB" min="0">
                        <exception postag="VBP?" postag_regexp="yes" />
                        <exception>so</exception>
                    </token>
                    <marker>
                        <token>by</token>
                        <token inflected="yes">pass</token>
                    </marker>
                </pattern>
                <message>The verb or noun 'bypass' is spelled as one word.</message>
                <suggestion><match no="3" /><match no="4" case_conversion="alllower" /></suggestion>
                <example correction="bypasses">He always <marker>by passes</marker> the meeting by coming late to work.</example>
                <example>He amazed everyone by passing his driving test.</example>
                <example>You can change it by passing a different parameter to dockerd.</example>
                <example>I also tested it by passing the actual date instead of System Clipboard and it fails too.</example>
                <example>In the meantime, depending on your use case, maybe Get group members API can help you out by passing a group like confluence-users?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">the|an?|my|y?our|their|his|her|its|s</token>
                    <marker>
                        <token>by</token>
                        <token>pass</token>
                    </marker>
                </pattern>
                <message>The verb or noun 'bypass' is spelled as one word.</message>
                <suggestion><match no="2" /><match no="3" case_conversion="alllower" /></suggestion>
                <example correction="bypass">The <marker>by pass</marker> saved his life.</example>
            </rule>
        </rulegroup>

        <rulegroup id="TOO_TO" name="too go (to go)">
            <antipattern><!-- https://www.lexico.com/en/definition/all_too_%E2%80%94 -->
                <token>all</token>
                <token>too</token>
                <token postag="JJ"/>
            </antipattern>
            <antipattern>
                <token>too</token>
                <token regexp="yes">doom|gloom</token>
                <token regexp="yes">&amp;|and</token>
                <token regexp="yes">doom|gloom</token>
            </antipattern>
            <antipattern>
                <token>too</token>
                <token>thin</token>
            </antipattern>
            <antipattern>
                <token postag="MD">
                    <exception>need</exception>
                </token>
                <token>too</token>
                <token postag="VB" />
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="SENT_START" />
                    <token postag="DT" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>too</token>
                </antipattern>
                <pattern>
                    <token>too<exception scope="previous" regexp="yes">I|we|you|they</exception></token>
                    <token postag="VB"><exception postag="JJ|RB" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>to \2</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/too</url>
                <short>Possible typo</short>
                <example correction="to go">I want <marker>too go</marker> abroad.</example>
                <example>He succeeded almost too well.</example>
                <example>It is too narrow.</example>
                <example>I too have a son; he's 40 now.</example>
                <example>So this too <marker>can</marker>'t be used to prove the theory.</example>
                <example>Can you attend too please.</example>
                <example>If you get a copy let me have a copy too please.</example>
                <example>While the series was informative and pointed to some serious problems, I thought it was too doom and gloom.</example>
                <example>The students too realize that …</example>
                <example>This way I could add the most important ones to the .oxt so that OpenOffice users would too have access to it.</example>
            </rule>
            <rule>
                <antipattern><!-- #2461 Are you too shy? -->
                    <token regexp="yes">you|we|they</token>
                    <token>too</token>
                    <token skip="-1" postag="JJ"/>
                    <token>?</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">you|it</token>
                    <token>too</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|but|&amp;|or|because</token>
                    <token regexp="yes">you|it</token>
                    <token>too</token>
                    <token postag="VB" />
                </antipattern>
                <pattern>
                    <token postag="PRP">
                        <exception regexp="yes">I|he|she|we|they|one</exception><!-- #2198 Subject pronouns except the object pronouns: you, it -->
                    </token>
                    <marker><token>too</token></marker>
                    <token postag="VB">
                        <exception postag="RB|JJ" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">I would like her <marker>too</marker> do it now.</example>
                <example correction="to">... and decided himself <marker>too</marker> start the work.</example>
                <example>Don't mourn over the loss of your loved one too long.</example>
                <example>... state would become a new elite had proved <marker>all too true</marker>.</example>
                <example>I'm afraid I didn't explain it too well.</example>
                <example>I tried also with AWLUnicode and Lucida Sans Unicode, but they too do not render correctly.</example><!-- #2198 -->
                <example>Are you too shy?</example><!-- #2461 -->
                <example>You too have no idea how important you are for me.</example><!-- #3437 -->
                <example>She's so demanding; and you too expect more than I can give.</example><!-- #3437 -->
                <example>When I tried to speak to her, I always found myself too shy to do more than stammer or say something stupid.</example>
            </rule>
        </rulegroup>

        <rulegroup id="TO_TOO" name="to/two (too) late/soon/much">
            <url>https://en.wiktionary.org/wiki/too</url>
            <antipattern><!-- https://dictionary.cambridge.org/de/worterbuch/englisch/not-amount-to-much -->
                <token inflected="yes">amount</token>
                <token>to</token>
                <token>much</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>to</token>
                </antipattern>
                <antipattern><!-- https://idioms.thefreedictionary.com/come+to+much -->
                    <token inflected="yes">come</token>
                    <token>to</token>
                    <token>much</token>
                </antipattern>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="MD" min="0" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token min="0">t</token>
                    <token postag="VB.*" postag_regexp="yes" />
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">
                        far|soon|much|often|hard|high|low|early|good|bad|late
                    </token>
                    <token regexp="yes">\p{P}|but|because|as|since|unlike|unless|when</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">It fails <marker>to</marker> often.</example>
                <example correction="too">I spoke <marker>to</marker> soon!</example>
                <example correction="too">They cost <marker>to</marker> much.</example>
                <example correction="too">I better stop before I go <marker>to</marker> far.</example>
                <example correction="too">It’s <marker>to</marker> bad because I have spent a lot of money.</example>
                <example>Did your efforts come to much?</example>
                <example>I'm assuming it defaults to false.</example>
                <example>We will need to revoke this POA when we sell to Northwestern.</example>
                <example>I don’t like it as much as I use to though.</example>
                <example>Who should we talk to next?</example>
                <example>Sami wanted to fast.</example>
                <example>The results from surveys lead us to believe that employment growth will continue to slow.</example>
                <example>I don't think his proposals amount to much.</example>
                <example>I set tabs to hard.</example>
                <example>With the promotion of birth control in the 1980s, Bangladesh's growth rate began to slow.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">but|oo?h|aa?h|h[au]h|uhm|well|damn|shit|fuck|argh|mhm</token>
                    <token regexp="yes" min="0">,|\-|–</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes" postag="SENT_END">
                        far|soon|much|often|hard|high|low|early|good|bad|late|fast|slow
                    </token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">Ah <marker>to</marker> late</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token regexp="yes" min="0">but|oo?h|aa?h|uhm|well|damn|shit|fuck|argh|mhm</token>
                    <token regexp="yes" min="0">,|\-|–</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes">
                        far|soon|much|often|hard|high|low|early|good|bad|late|fast|slow
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">Ah <marker>to</marker> late.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">drive|fly|walk|go|swim|work|sprint|run|be</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes">fast|slow</token>
                    <token regexp="yes">\p{P}|but|because|as|since|unlike|unless|when</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">I drove <marker>to</marker> fast because I was in a hurry.</example>
                <example>Sami wanted to fast.</example>
                <example>The results from surveys lead us to believe that employment growth will continue to slow.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CD" />
                    <token regexp="yes">km|miles?|m|meters?|%|&currency_symbols;|USD|EUR|pounds?|dollars?|euros?|seconds?|min(utes?)?|hours?|days?|weeks?|months?|years?|percent</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes">far|soon|much|often|hard|high|low|early|late</token>
                    <token regexp="yes">\p{P}|but|because|as|since|unlike|unless|when</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">You’re 7 years <marker>to</marker> late.</example>
                <example correction="too">His salary is 10 percent <marker>to</marker> high.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">\d+(%|&currency_symbols;|USD|EUR)|(&currency_symbols;|USD|EUR)\d+</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes">far|soon|much|often|hard|high|low|early</token>
                    <token regexp="yes">\p{P}|but|because|as|since|unlike|unless|when</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">He spent 10% <marker>to</marker> much.</example>
            </rule>
            <rule>
                <antipattern><!-- #2649 been to far more -->
                    <token regexp="yes">comes|came|been</token>
                    <token>to</token>
                    <token>far</token>
                    <token postag="JJR"/>
                </antipattern>
                <antipattern><!-- #2649 60's to late 70's -->
                    <token postag="CD"/>
                    <token>'s</token>
                    <token>to</token>
                    <token regexp="yes">early|late</token>
                    <token postag="CD"/>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token regexp="yes">wide|hard</token>
                    <token postag="JJ" chunk_re="I-NP.*" />
                    <token postag="NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token postag="JJ" />
                    <token regexp="yes">and|&amp;|or|/</token>
                    <token postag="JJ" chunk_re="[BI]-NP.*" />
                    <token postag="NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token chunk_re=".-VP" regexp="yes">slow|narrow</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" chunk_re=".-NP.*" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>slow</token>
                    <token regexp="yes">it|them|me|that|this</token>
                    <token postag="RB" min="0" />
                    <token>down</token>
                </antipattern>
                <antipattern><!-- two tall oak trees -->
                    <token>two</token>
                    <token postag="JJ" chunk_re="I-NP-plural" />
                    <token postag="JJ" chunk_re="I-NP-plural" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="[EI]-NP-plural" />
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        comes|came|much|is|w(?:as|ere)|are|been|re|'s
                        <exception postag="POS" />
                    </token>
                    <token min="0" regexp="yes">not|n't</token>
                    <marker>
                        <token regexp="yes">tw?o</token>
                    </marker>
                    <token regexp="yes">far|long|distant|soon|late|ea(s|rl)y|hard|fast|s?low|cold|h(ot|igh)|narrow|wide|tall|short</token>
                    <token><exception postag="VB|NN.*" postag_regexp="yes"/></token>
                    <!-- token postag="VBP"; negate_pos="yes"/ -->
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example>Items X and Y were <marker>two</marker> items that revolutionized the field.</example>
                <example>The plan is <marker>to</marker> soon launch a new plane.</example>
                <example>The weather was <marker>too</marker> cold to go swimming.</example>
                <example>He has been to far more places than him.</example><!-- #2649 -->
                <example>From early 60's to late 70's.</example><!-- #2649 -->
                <example>The purpose is to narrow the economic gap.</example>
                <example>There were two tall oak trees.</example>
                <example>The theory behind these refuges is to slow the evolution of resistance to the pesticide.</example>
                <example>One thing we might do is to narrow the scope without tainting the quality of our idealism—narrow it, I mean, both in time and space.</example>
                <example correction="too">His idea came much <marker>to</marker> soon to be successful.</example>
                <example correction="too">It is <marker>to</marker> soon to move the entire industry.</example>
                <example correction="too">This is <marker>to</marker> long ago.</example>
                <example correction="too">It was <marker>to</marker> distant in the past.</example>
                <example correction="too">The box is not <marker>to</marker> far from it.</example>
                <example correction="too">The box wasn't <marker>to</marker> far from it.</example>
            </rule>
            <rule><!-- [8] -->
                <antipattern>
                    <token regexp="yes">come|similar</token>
                    <token>to</token>
                    <token>much</token>
                </antipattern>
                <antipattern>
                    <token>is</token>
                    <token postag_regexp="yes" postag="JJ|VBN"/>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- #2045 leads to much more -->
                    <token postag_regexp="yes" postag="VB.*" regexp="yes" inflected="yes">amount|contribute|lead|rise</token>
                    <token>to</token>
                    <token>much</token>
                    <token min="0" max="1" postag="JJR"/>
                    <token postag_regexp="yes" postag="NN:UN?|SENT_END"/>
                </antipattern>
                <antipattern><!-- #2045 leads to much more -->
                    <token postag_regexp="yes" postag="NN.*" regexp="yes" inflected="yes">access|lead|amount|rise</token>
                    <token>to</token>
                    <token>much</token>
                    <token min="0" max="1" postag="JJR"/>
                    <token postag_regexp="yes" postag="NN:UN?|SENT_END"/>
                </antipattern>
                <antipattern><!-- #2460  He hasn't been up to much [www.ldoceonline.com/dictionary/not-be-up-to-much] -->
                    <token inflected="yes">be</token>
                    <token inflected="yes" min="0">not</token>
                    <token>up</token>
                    <token>to</token>
                    <token>much</token>
                </antipattern>
                <antipattern><!-- He listened to much more -->
                    <token postag="VB.*" postag_regexp="yes" />
                    <token>to</token>
                    <token>much</token>
                    <token regexp="yes">more|less</token>
                </antipattern>
                <antipattern><!-- #2649 www.lexico.com/definition/due_to -->
                    <token>due</token>
                    <token>to</token>
                </antipattern>
                <antipattern><!-- #2649 www.ldoceonline.com/dictionary/contrast -->
                    <token>in</token>
                    <token regexp="yes">contrast|relation</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>according</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">listen</token>
                    <token>to</token>
                    <token regexp="yes">much|few</token>
                </antipattern>
                <antipattern>
                    <token>few</token>
                    <token regexp="yes">thousands?|hundreds?|[mb]illions?</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>few</token>
                    <token chunk="I-NP-plural" min="0" />
                    <token postag="NNP?S" postag_regexp="yes" chunk="E-NP-plural" />
                </antipattern>
                <antipattern>
                    <token>home</token>
                    <token>to</token>
                    <token regexp="yes">much|few</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">lead|compare|listen|agree</token>
                    <token>to</token>
                    <token>much</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes" skip="1">have</token>
                    <token>access</token>
                    <token>to</token>
                    <token>much</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token>subject</token>
                    <token>to</token>
                    <token>much</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0" />
                    <token>superior</token>
                    <token>to</token>
                    <token>much</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token>much</token>
                    <token postag="JJR" />
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">tw?o</token>
                    </marker>
                    <token regexp="yes">much|few</token>
                    <token negate_pos="yes" postag="JJR">
                        <exception>extent</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example>The password provides access <marker>to</marker> much more data.</example>
                <example>It's limited <marker>to</marker> much shorter terms.</example>
                <example>This led <marker>to</marker> much speculation.</example>
                <example>It is restricted to few objects.</example>
                <example>It is limited to few objects.</example>
                <example>He will never amount to much.</example>
                <example>It is applicable to few objects.</example>
                <example>He listened to much more.</example>
                <example>Did your efforts <marker>come to much</marker>?</example>
                <example>... and this leads to much more.</example>
                <example>... which leads to much more poverty.</example>
                <example>... and this amounted to much noise and nothing more.</example>
                <example>... which amounted to much more poverty.</example>
                <example>... and which contributes to much poverty in this country.</example>
                <example>... and this is also contributing to much poverty in this country.</example>
                <example>We're  not going to go <marker>too much more</marker> into it.</example>
                <example>I do not think that Chinese married women of respectability could be induced to emigrate to much extent.</example>
                <example>He hasn't been up to much.</example><!-- #2460 -->
                <example>I have talked to few students with Peter.</example>
                <example>The earliest phases of the Big Bang are subject to much speculation.</example>
                <example>The Flats have since then been home to much of the population of Greater Cape Town.</example>
                <example>We look more reasonable and agree to much of what UDCs are proposing.</example>
                <example>This led to much better "real world" performance.</example>
                <example>In fact, according to much research in psychology, people do regularly demand such premiums.</example>
                <example>The manager hasn't been up to much; he's quite boring.</example><!-- #2460 -->
                <example>She's not up to much these days</example><!-- #2460 -->
<!-- False negative --><example>The manager hasn't been up to much. He stays in his office downstairs and doesn't interfere.</example><!-- #2460 -->
<!-- False negative --><example>The pressure hasn't been up to much recently; we can say that the adjustments to the valves are satisfactory.</example><!-- #2460 -->
                <example>In contrast to much of the literature, we propose that...</example><!-- #2649 -->
                <example>Due to few attendees this week, I would like to cancel...</example><!-- #2649 -->
                <example correction="too">It broke because <marker>to</marker> much snow was on it.</example>
                <example correction="too">I hate to replace them; they cost <marker>to</marker> much.</example>
                <example correction="too">They cost <marker>two</marker> much money.</example>
                <example correction="too">This led <marker>two</marker> much speculation.</example>
                <example correction="too">... but it was because <marker>to</marker> much power was going to the doorbell.</example>
                <example correction="too">I hate to replace them; they cost <marker>to</marker> much.</example>
                <example correction="too">It is possible for Smarttapps to fail if the runtimes increase <marker>to</marker> much.</example>
                <example correction="too">Don’t change the report rate to report <marker>to</marker> much.</example>
                <example correction="too">We’re trying to avoid <marker>to</marker> much speculation until we collect sufficient data.</example>
                <example correction="too">What's been suggested isn’t <marker>to</marker> much of a stretch.</example>
                <example correction="too">In hindsight, I gave <marker>to</marker> much credit to the rest of the NFC</example>
                <example correction="too">My wife obviously has <marker>to</marker> much time.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>two</token>
                    </marker>
                    <token>many</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="too">But I see the problem of <marker>two</marker> many files.</example>
            </rule>
            <rule>
                <antipattern><!-- *close* the material is *to* melting
                            /i.e. *close to* melting the material is-->
                    <token skip='-1'>close</token>
                    <token chunk="E-NP-singular" postag="NN(:UN?)?" postag_regexp="yes"/>
                    <token regexp="yes">is|was</token>
                    <token>to</token>
                    <token postag="JJ|NN(:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- *close* people were *to* flying
                            / i.e. close to flying people were-->
                    <token skip='-1'>close</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                    <token regexp="yes">are|were</token>
                    <token>to</token>
                    <token postag="JJ|NN(:UN?)?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- #2036. 10 am to midnight -->
                    <token postag="CD"/>
                    <token>am</token>
                    <token>to</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- "It can be hard to impossible" -->
                    <token postag="MD" />
                    <token>be</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>to</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token postag="JJR" />
                    <token postag="PRP" />
                    <token inflected="yes">be</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">north|south|east|west</token>
                    <token>to</token>
                    <token regexp="yes">north|south|east|west</token>
                </antipattern>
                <antipattern><!-- #4476 CA's and T's to Reliant -->
                    <token>'s</token>
                    <token>and</token>
                    <token/>
                    <token>'s</token>
                    <token>to</token>
                    <token regexp="yes">\p{Lu}\p{L}+</token>
                </antipattern>
                <antipattern>
                    <token>home</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>here</token>
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>as</token>
                    <token />
                    <token>is</token>
                    <token>to</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>to</token>
                    <token postag="JJ" />
                    <token regexp="yes">or|and|&amp;|/</token>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re="[BI]-NP.*" />
                    <token postag="NN:UN?" postag_regexp="yes" chunk_re="E-NP.*" />
                </antipattern>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">
                            back|next|close|near|about|little|hard|small|off|on|in|down|up|right
                        </exception>
                        <exception postag="IN" />
                    </token>
                    <token min="0" regexp="yes">not|n't</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token postag="JJ">
                        <exception postag="NNPS?|VB|NN:UN|PRP|CD" postag_regexp="yes"/>
                        <exception regexp="yes">now|several|just|only|follow-?up|cut-?over|noon</exception>
                    </token>
                    <token postag="RB" min="0" />
                    <token postag="CC|PCT|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="too">It's <marker>to</marker> early.</example>
                <example correction="too">It's <marker>to</marker> big and complicated.</example>
                <example correction="too">Larry, you need to direct this to them also, they dont seem to be <marker>to</marker> worried.</example>
                <example correction="too">Your environment will not be <marker>to</marker> large and you'll have the ram memory less full.</example>
                <example>I've never been <marker>to</marker> Paris.</example>
                <example>Perhaps we are <marker>to</marker> blame for this.</example>
                <example>... no visual signs reveal how close the material is to melting.</example>
                <example>This material is melting.</example>
                <example>It is near to impossible.</example>
                <example>This material is to melt in the oven.</example>
                <example>This material is too melted.</example>
                <example>... 18th century documents show how close some people were to flying.</example>
                <example type="triggers_error">They were <marker>to</marker> flying.</example><!-- The 'to' particle has probably been forgotten while rephrasing -->
                <example correction="too">I think it's probably <marker>to</marker> old.</example>
                <example correction="too">She's likely not <marker>to</marker> old.</example>
                <example correction="too">This is <marker>to</marker> funny.</example>
                <example correction="too">I think it’s just <marker>to</marker> new.</example>
                <example>They were flying.</example>
                <example>From 10 am to midnight.</example><!-- #2036 -->
                <example>From 11:35 am to midnight.</example>
                <example>From seven am to evening.</example>
                <example>Highlighting is back to normal.</example>
                <example>She is close to sixty.</example>
                <example>Sami's Arabic was little to none.</example>
                <example>Replacing them can be hard to impossible.</example>
                <example>I’m down to less than 20 zwave devices and over 240 zigbee devices.</example>
                <example correction="too">Sami is being <marker>to</marker> aggressive now.</example>
                <example correction="too">The game is already <marker>to</marker> cluttered with game modes.</example>
                <example correction="too">It is still not <marker>to</marker> late to register to attend.</example>
                <example correction="too">Another indication that it is still <marker>to</marker> early to return to semis.</example>
                <example correction="too">I’m far <marker>to</marker> novice to win.</example>
                <example correction="too">They were <marker>to</marker> good for you to miss.</example>
                <example correction="too">If so, it is way <marker>to</marker> big, just to cover our needs.</example>
                <example correction="too">I hope we were not <marker>to</marker> far off.</example>
                <example correction="too">John's lazy and T's <marker>to</marker> reliant on management support.</example><!-- #4476 -->
                <example>I wonder where Tom is off to now.</example>
                <example>We will need to finalize our thoughts about the markets we are trying to develop and what the best approach should be to choice of law/jurisdiction going forward.</example>
                <example>As the two versions are supposed to merge, the more the work progresses, the harder they are to distinct.</example>
                <example>I want freedom, the right to self-expression, everybody's right to beautiful, radiant things.</example>
                <example>What you need to do is to calm down and FIND something productive to do.</example>
                <example>Here is to clear skies.</example>
                <example>We sent out CA's and T's to Reliant, Kinder Morgan and PSEG Global.</example><!-- #4476 -->
                <example>Rouen was home to two of the finest doctors in France.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0">
                        <exception regexp="yes">
                            back|next|close|about|little|hard|small|off|on|in|down|up|right
                        </exception>
                    </token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes" postag="SENT_END">
                        &short_adjectives;|&optional_short_adjectives;
                    </token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="too">It is <marker>to</marker> small</example>
                <example correction="too">It is not <marker>to</marker> small</example>
                <example correction="too">It was <marker>to</marker> great</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">'s|n't</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token regexp="yes" postag="SENT_END">
                        &short_adjectives;|&optional_short_adjectives;
                    </token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="too">It isn't <marker>to</marker> small</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token postag="JJ">
                        <exception regexp="yes">trying|pay|town</exception><!-- unlikely that trying is used as an adjective in this context -->
                    </token>
                    <token regexp="yes">to|for</token>
                    <token postag="VB"/>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="too">It's <marker>to</marker> good to be true.</example>
                <example correction="too">It's <marker>to</marker> interesting to turn into something boring.</example>
                <example>It's too large for the box.</example>
                <example>It could be to trying to understand how the machine works.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker><token>To</token></marker>
                    <token postag="JJ"/>
                    <token min="0">,</token>
                    <token>that</token>
                </pattern>
                <message>Did you mean <suggestion>\2o</suggestion>?</message>
                <example correction="Too"><marker>To</marker> bad that you don't like cats.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>,</token>
                        <token>to</token>
                    </marker>
                <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>, too</suggestion>?</message>
                <example correction=", too">But you can use it for other things<marker>, to</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>,</token>
                        <token postag="SENT_END">to</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>, too</suggestion>?</message>
                <example correction=", too">But you can use it for other things<marker>, to</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">be|have|do</token>
                    <token>way</token>
                    <marker><token>to</token></marker>
                    <token postag="JJ"/>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">This price is way <marker>to</marker> high.</example>
                <example correction="too">It's way <marker>to</marker> early to celebrate.</example>
                <example correction="too">I’m way <marker>to</marker> afraid to go outside I just I hate doing this every day.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>to</token>
                    <token postag="JJ" />
                    <token postag="NN:UN?|NNS|NNPS?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">give</token>
                    <token>way</token>
                    <token>to</token>
                </antipattern>
                <pattern>
                    <token chunk_re="[BI]-VP" />
                    <token>way</token>
                    <marker><token>to</token></marker>
                    <token postag="JJ"/>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">You drive way <marker>to</marker> fast.</example>
                <example correction="too">I think this would be way <marker>to</marker> complicated to implement.</example>
                <example correction="too">Saw Pearl Harbor, watched a few DVD's, and ate way <marker>to</marker> much.</example>
                <example>Introduction Earnings season will start to slow down next week, giving way to economic data.</example>
                <example>Fast way to test daily defense teams?</example>
                <example>Cassette tapes seem to have given way to compact disks in popularity.</example>
                <example>Camelot where everything is free is giving way to cold fiscal reality.</example>
                <example>It was written in a rounded script, which later gave way to cursive Estrangela.</example>
                <example>This leads way to several vulnerabilities among the federation network</example>
            </rule>
            <rule>
                <antipattern>
                    <token>from</token>
                    <token postag="JJ|RB" postag_regexp="yes" />
                    <token>to</token>
                    <token />
                </antipattern>
                <antipattern>
                    <token postag="VB.*" postag_regexp="yes" />
                    <token postag="JJ"/>
                    <token>to</token>
                    <token postag="JJ"/>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </antipattern>
                <antipattern><!-- https://www.collinsdictionary.com/dictionary/english/up-to -->
                    <token>up</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>here</token>
                    <token>to</token>
                    <token>there</token>
                </antipattern>
                <antipattern>
                    <token>how</token>
                    <token>to</token>
                    <token postag="RB" />
                    <token postag="VBP" />
                </antipattern>
                <antipattern>
                    <token inflected="yes" regexp="yes">refer|agree</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">listen</token>
                    <token>to</token>
                    <token postag="RB" />
                </antipattern>
                <pattern>
                    <marker><token>to</token></marker>
                    <token postag="RB">
                      <exception regexp="yes">yet|too|about|nothing|currently|etc|way|already|previously|initially|elsewhere|ASAP|outside|approx|before|after|why|(any|some|every)(where|how|one|more)|nowhere|not|yes|no|multiply|tomorrow|today|tonight|yesterday|here|wheresoever|always|accordingly|never|nowadays|again|n?either|also|t?here|annually|yearly|sometimes|evenings|afterwards|weekdays|overtime|(&weekdays;)s</exception><!-- 'too X' is not standard English. -->
                      <exception postag_regexp="yes" postag="JJR?|VBP|NNP|IN"/>
                    </token>
                    <token postag="SENT_END" regexp="yes">\p{P}</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">She returned <marker>to</marker> quickly.</example>
                <example correction="too">... but it did what we wanted <marker>to</marker> slowly.</example>
                <example>The nights were cool <marker>to</marker> chilly.</example>
                <example>We didn't know what they were exposed to before.</example>
                <example>You might be staring at a long list of potential fixes which typically get postponed to later.</example>
                <example>It is an hour's drive from <marker>here to there</marker>.</example>
                <example>What was he <marker>up to</marker> then?</example>
                <example>... window dressing; City Hall will do what <marker>it wants to</marker> anyhow.</example>
                <example>[https://en.wikipedia.org/wiki/Outside_(Alaska)]: The Alaska Rail network is not connected to Outside.</example>
                <example>Adjective. ...and reduce his studies to part-time.</example>
                <example>There's no reason to not go there.</example>
                <example>I can show you how to properly drive a car.</example>
                <example>Set that field to Yes.</example>
                <example>For example, the sentence "the gain of a system should be doubled", without context, means close to nothing.</example>
                <example>It begins to rapidly increase.</example>
                <example>I don't know what he is referring to here.</example>
                <example>Something to multiply.</example>
                <example>I wish I could re-schedule it to tomorrow.</example>
                <example>I'm no one to bully.</example>
                <example>From monthly to annually.</example>
                <example>You should take the train to nowhere.</example>
                <example>Remember to always: </example>
                <example>I don't want to either.</example><!-- #2460 -->
                <example>The train to there.</example><!-- #2460 -->
                <example>Where to afterwards?</example>
                <example>I may be switching to Mondays.</example>
                <example>… until August 2008 when it returned to Saturdays.</example>
                <example>A song that he listened to sometimes.</example><!-- #2649 -->
                <example>He has a huge stack of mail he hasn't gotten to yet.</example>
            </rule>
            <rule default="off"><!-- too many false alarms -->
                <pattern>
                    <token postag="SENT_START"/>
                    <token min="0" regexp="yes">["“'`]</token>
                    <token inflected="yes" skip="-1">do<exception regexp="yes" scope="next">whom?</exception></token>
                    <marker><token>to<exception scope="previous" postag="VB.?" postag_regexp="yes"/></token></marker>
                    <token spacebefore="no">?</token>
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">Did you have a great day <marker>to</marker>?</example>
                <example>Do you know the guys Tom is talking to?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>way</token>
                        <token>to</token>
                    </marker>
                    <token>many</token>
                    <token>times</token>
                </pattern>
                <message>Did you mean <suggestion>\1 too</suggestion>?</message>
                <example correction="way too">I have seen it <marker>way to</marker> many times.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">try|love</token>
                    <marker>
                        <token>to</token>
                    </marker>
                    <token>hard</token>
                    <token postag="PCT|CC|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>too</suggestion>?</message>
                <example correction="too">I was trying <marker>to</marker> hard.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">have|drink|get</token>
                    <token postag="RB" min="0" max="2" />
                    <marker>
                        <token>one</token>
                        <token>to</token>
                        <token>many</token>
                    </marker>
                </pattern>
                <message>Did you mean the informal idiom <suggestion>\3 too \5</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/one%20too%20many</url>
                <example correction="one too many">I had <marker>one to many</marker> beers.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>one</token>
                        <token>to</token>
                        <token>many</token>
                    </marker>
                    <token regexp="yes">beers|drinks|times|vodkas?|wines?|alcohol.*|tequilas?|cigarettes?|gins?|pills?</token>
                </pattern>
                <message>Did you mean the informal idiom <suggestion>\1 too \3</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/one%20too%20many</url>
                <example correction="one too many">I had <marker>one to many</marker> beers.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">be|seem</token>
                    <token postag="RB" min="0">
                        <exception postag="EX|IN" postag_regexp="yes" />
                    </token>
                    <token regexp="yes">near|close</token>
                    <marker>
                        <token>too</token>
                    </marker>
                    <token postag="DT|PRP\$|JJ|CD|VB" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the preposition <suggestion>to</suggestion>?</message>
                <example correction="to">It's near <marker>too</marker> impossible.</example>
            </rule>
        </rulegroup>

        <rulegroup id="YOUR" name="your (you're)">
            <url>https://en.wiktionary.org/wiki/your</url>
            <rule>
                <antipattern>
                    <token>not</token>
                    <token>your</token>
                    <token>doing</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="VBG"/>
                    <token postag="RB"/>
                </antipattern>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token>no</token>
                    <token regexp="yes">good|use</token>
                    <token>your</token>
                </antipattern>
                <antipattern><!-- your boarding pass. ~ing = a noun that acts as an adjective in a noun cluster -->
                    <token>your</token>
                    <token postag_regexp="yes" postag="NN.*|JJ"/>
                    <token postag_regexp="yes" postag="NN.*"/>
                </antipattern>
                <antipattern><!-- Premium #999 that your meeting with Tom was fruitful -->
                    <token postag="WDT"/>
                    <token>your</token>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN.*"/>
                    <token skip="-1" postag="IN"/>
                    <token chunk="B-VP"/>
                </antipattern>
                <antipattern><!-- Premium #999 your snoring didn't -->
                    <token postag="CC|PCT|SENT_START" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token>your</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token postag_regexp="yes" inflected="yes" regexp="yes">do|be|have|make|get|will|can|should|must|might</token>
                </antipattern>
                <antipattern>
                    <token>that</token>
                    <token>your</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token postag_regexp="yes" inflected="yes" regexp="yes">do|be|have|make|get|will|can|should|must|might</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">think|hope|belive|know|doubt|assume</token>
                    <token postag="RB" min="0" />
                    <token>your</token>
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token postag_regexp="yes" inflected="yes" regexp="yes">do|be|have|make|get|will|can|should|must|might</token>
                </antipattern>
                <antipattern><!-- your testing of the rules is -->
                    <token>your</token>
                    <token postag="VBG"/>
                    <token skip="-1" postag="IN">
                        <exception scope="next" postag_regexp="yes" postag="PCT|PRP"/>
                        </token>
                    <token chunk="B-VP" postag_regexp="yes" postag="VB[ZD]"/>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP" />
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag_regexp="yes" postag="NN.*" />
                    <token>your</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>'s</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token postag="VBG" />
                    <token regexp="yes" spacebefore="no">[._]</token>
                    <token spacebefore="no" />
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>all</token>
                    <token>your</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>all</token>
                    <token>your</token>
                    <token regexp="yes">nagging|fussing</token>
                </antipattern>
                <antipattern><!-- is this really your calling? -->
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token inflected="yes">be</token>
                    <token chunk_re=".-NP.*" />
                    <token postag="RB" min="0" />
                    <token>your</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">send|give|forward|e-?mail</token>
                    <token regexp="yes">me|you|her|him|them|us</token>
                    <token>your</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token postag="PCT|CC" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <token>your</token>
                    <token postag="VBG" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" postag="VB.*|MD|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|but|if|when|once|since|because|(al)?though</token>
                    <token>your</token>
                    <token postag="VBG" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" postag="VB.*|MD|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <token>your</token>
                    <token postag="VBG" chunk_re="B-NP.*" />
                    <token postag="JJ|NN.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" postag="VB.*|MD|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes">that|but|if|when|once|since|because|(al)?though</token>
                    <token>your</token>
                    <token postag="VBG" chunk_re="B-NP.*" />
                    <token postag="JJ|NN.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token chunk_re=".-VP" postag="VB.*|MD|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token>understanding</token>
                    <token>of</token>
                </antipattern>
                <antipattern>
                    <token postag="IN" />
                    <token>all</token>
                    <token>your</token>
                    <token postag="VBG" chunk_re="I-NP.*" />
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token>meeting</token>
                    <token regexp="yes">at|from</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">not</token>
                    <token>your</token>
                    <token postag="NN:UN?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*|UNKNOWN" postag_regexp="yes" chunk_re=".-VP" />
                    <token regexp="yes">me|you|him|her|them|it|us</token>
                    <token>your</token>
                    <token chunk_re=".-NP" postag="VBG" />
                </antipattern>
                <antipattern>
                    <token postag="IN|SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">you|yourself</token>
                    <token min="0">,</token>
                    <token regexp="yes">and|or|&amp;</token>
                    <token>your</token>
                    <token postag="VBG" chunk_re=".-NP.*" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" min="0" />
                    <token postag="PCT|MD|VB.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>dining</token>
                    <token regexp="yes">rooms?</token>
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token regexp="yes">and|&amp;|or</token>
                    <token>your</token>
                    <token postag="VBG" chunk_re=".-NP.*" />
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" min="0" />
                    <token postag="PCT" />
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP" />
                    <token>your</token>
                    <token postag="VBG" />
                </antipattern>
                <antipattern>
                    <token>you</token>
                    <token regexp="yes">and|&amp;</token>
                    <token>your</token>
                    <token postag="VBG" />
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token>meeting</token>
                    <token>with</token>
                    <token chunk_re="B-NP.*" min="0" />
                    <token chunk_re="E-NP.*" />
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <antipattern>
                    <token>your</token>
                    <token chunk_re="I-NP.*" postag="VBG" />
                    <token chunk_re="I-NP.*" postag="JJ" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="IN|VB.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z].*</exception>
                        <exception>n't</exception>
                    </token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token postag="VBG">
                        <exception regexp="yes">clothing|wedding</exception><!-- uncommon VBGs -->
                    </token>
                </pattern>
                <message>&you_re;</message>
                <short>Possible typo</short>
                <example correction="you're">Let's see if <marker>your</marker> using multiple search servers.</example>
                <example>Let's see if <marker>you're</marker> using multiple search servers.</example>
                <example>It wasn't <marker>your</marker> painting.</example>
                <example>Your singing puts professional singers to shame.</example>
                <example>Your loving friend.</example>
                <example>Your timing really sucks.</example>
                <example><marker>Your</marker> dreaming will not change the world. Do something!</example>
                <example>I am told that <marker>your</marker> singing can shatter glasses.</example>
                <example>I tell you <marker>it's no good your</marker> being angry with me.</example>
                <example>It <marker>is no use your</marker> pretending that you know nothing.</example>
                <example>Can you show me <marker>your boarding pass</marker>?</example>
                <example>"Neither does your whining."</example>
                <example>You're not good at logic; your thinking patterns are very sloppy.</example>
                <example correction="you're">If <marker>your</marker> thinking of going to Paris...</example>
                <example correction="you're">If <marker>your</marker> thinking of the time that we were in Paris...</example>
                <example correction="you're">If <marker>your</marker> thinking of the time that we were in Paris, well, so am I.</example>
                <example correction="you're">If <marker>your</marker> thinking of the time I was in London, well, so am I.</example>
                <example correction="you're">No, <marker>your</marker> thinking of the time I was in London.</example>
                <example correction="you're">They need some proof that what <marker>your</marker> selling is worth buying.</example><!-- Premium #999 selling/E-NP-singular -->
                <example correction="you're">I am glad that <marker>your</marker> meeting with Tom next Monday.</example>
                <example correction="you're">It is nice to catch up and see what <marker>your</marker> doing.</example>
                <example correction="you're">I don't know if anyone has the pressure data <marker>your</marker> looking for, but Ken would be the man to track it down.</example>
                <example correction="you're">Let me know if there is a favorite out there that <marker>your</marker> trying to find.</example>
                <example correction="You're"><marker>Your</marker> continuing to kill me.</example>
                <example correction="You're"><marker>Your</marker> being obliged to wear pants doesn't logically follow from the state of your being a man.</example>
                <example correction="you're">I am glad <marker>your</marker> enjoying school so much</example>
                <example correction="you're">I don't think that we should do that the way <marker>your</marker> suggesting.</example>
                <example>Thanks again for all your continuing support of our collective effort.</example>
                <example>Lee, if this is not your understanding for Nov. business please let us all know.</example>
                <example>The fact that you are at all concerned that the chicken crossed the road reveals your underlying sexual insecurity.</example>
                <example>If <marker>your</marker> testing of the rules is complete, tell your manager.</example>
                <example>I was wondering what your understanding of the Indian office's trading/marketing/origination plans are.</example><!-- Premium #999 Incorrect grammar, should be "understanding... is" -->
                <example>I am glad that your meeting with Tom was fruitful.</example><!-- Premium #999 -->
                <example>Tom said that your snoring didn't bother Mary.</example><!-- Premium #999 -->
                <example>The broken-down retail industry we see in front of us is not your doing.</example>
                <example>When you vote, you give that system your blessing.</example>
                <example>Your timing's perfect.</example>
                <example>Your living.com inquiry.</example>
                <example>Your timimg was perfect.</example>
                <example>Is this really your calling?</example>
                <example>Give me your blessing.</example>
                <example>If this exception happened to you, this means that your caching might be suboptimal due to endless recursion, and you'd better fix that.</example>
                <example>Please send me your shipping address.</example>
                <example>You and your hunting.</example>
                <example>3. State your reasoning.</example>
                <example>Here's your tracking:</example>
                <example>I encourage you and your scheduling staff to attend.</example>
                <example>I think Steve's meeting with Rep. Adam Smith and your meeting with the DLC are evident in the New Dem approach.</example>
                <example>After resolving all issues, simply re-insert your text back to Outlook, while all your formatting will remain.</example>
                <example>The response I got from our risk desk was that your structuring group has already been provided all of this information.</example>
                <example>Your originating transatlantic flight must depart by March 31, 2001.</example>
                <example>Your restraining order is toilet paper.</example>
                <example>Your meeting with Eric Moon will be held in conf.</example>
                <example>To help ensure that your buying experience is a pleasant one, in two days we will be sending you an email to verify that Brooks Chevrolet has attempted to contact you.</example>
            </rule>
            <rule>
                <pattern>
                    <token><exception postag="IN|VB.*" postag_regexp="yes"/><exception>t</exception></token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes">so|really|just</token>
                    <token postag="VBG"/>
                </pattern>
                <message>&you_re;</message>
                <short>Possible typo</short>
                <example correction="You're"><marker>Your</marker> so annoying!</example>
                <example>Your singing puts professional singers to shame.</example>
                <example>Your loving friend</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">if|when</token>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">an?</token>
                </pattern>
                <message>&you_re;</message>
                <short>Possible typo</short>
                <example correction="you're">Let's see if <marker>your</marker> a developer.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN">
                        <exception postag="CC" />
                    </token>
                    <token>your</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>your</token>
                    </marker>
                    <token>not</token>
                    <token postag="RB" min="0">
                        <exception postag="EX|IN|CC|JJ.*" postag_regexp="yes" />
                    </token>
                    <token postag="VBG" />
                </pattern>
                <message>&you_re;</message>
                <short>Possible typo</short>
                <example correction="You're"><marker>Your</marker> not eating!</example>
                <example correction="you're">I’m sorry to hear <marker>your</marker> not doing well.</example>
            </rule>
        </rulegroup>

        <rule id="PIGEON_ENGLISH" name="pigeon (pidgin) English/...">
            <pattern>
                <marker>
                    <token>pigeon</token>
                </marker>
                <token regexp="yes">English|French|Spanish|Chinese|Russian</token>
            </pattern>
            <message>Did you mean <suggestion>pidgin</suggestion> (=simplified language)?</message>
            <url>https://en.wiktionary.org/wiki/pidgin</url>
            <short>Possible typo</short>
            <example correction="Pidgin"><marker>Pigeon</marker> English is spoken widely across Nigeria.</example>
        </rule>
        <rule id="TELEPHONE_POLL" name="telephone/... poll (pole)">
            <pattern>
                <token regexp="yes">tele(phone|graph)|totem</token>
                <marker>
                    <token>poll</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>pole</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/telephone_pole</url>
            <short>Possible typo</short>
            <example correction="pole">As sort of life crises go, this is low on the totem <marker>poll</marker>.</example>
        </rule>
        <rule id="OPINION_POLE" name="opinion/... pole (poll)">
            <pattern>
                <token regexp="yes">opinion|government|election|exit</token>
                <marker>
                    <token>pole</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>poll</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/opinion_poll</url>
            <short>Possible typo</short>
            <example correction="poll">Is it possible to add an opinion <marker>pole</marker> to my Myspace page?</example>
        </rule>
        <rulegroup id="SHELL_WE" name="shell (shall) we">
            <url>https://en.wiktionary.org/wiki/shell</url>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token>Shell</token>
                    </marker>
                    <token regexp="yes">we|I</token>
                    <token postag="VBP?" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>Shall</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="Shall"><marker>Shell</marker> we dance?</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token regexp="yes">We|I</token>
                    <marker>
                        <token>shell</token>
                    </marker>
                    <token postag="VB"/>
                </pattern>
                <message>Did you mean <suggestion>shall</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="shall">We <marker>shell</marker> overcome.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token regexp="yes">How|Wh(at|ere|o|y)</token>
                    <marker>
                        <token>shell</token>
                    </marker>
                    <token regexp="yes">we|I|one</token>
                    <token postag="VBP?" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>shall</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="shall">What <marker>shell</marker> I do?</example>
            </rule>
        </rulegroup>
        <rule id="I_HERD" name="I herd (heard)">
            <pattern>
                <token regexp="yes">I|you|s?he|it|we|they</token>
                <marker>
                    <token>herd</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>heard</suggestion> (past tense of 'hear')?</message>
            <url>https://en.wiktionary.org/wiki/herd</url>
            <short>Possible typo</short>
            <example correction="heard">I <marker>herd</marker> of a new song by Madonna.</example>
        </rule>
        <rulegroup id="LOOSE_LOSE" name="loose (lose)">
            <url>https://languagetool.org/insights/post/loose-lose/</url>
            <antipattern>
                <token>let</token>
                <token>loose</token>
            </antipattern>
            <rule>
                <antipattern>
                    <token>loose</token>
                    <token regexp="yes">rings?</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">looses?|loosing</token>
                    </marker>
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token postag="JJ.*|CD|NN.*" postag_regexp="yes" min="0" chunk_re="I-NP.*" />
                    <token regexp="yes" chunk_re="E-NP.*">keys?|connection|password|weight|breathe|minds?|games?|jobs?|voice|patience|sanity|control|hairs?|temper|faith|match(es)?|competitions?|trust|track|battles?|love|appetite|teeth|tooth|eyesight|freedom|potency|money|formatting|data|back-?ups?|rings?|bab(y|ies)|virginity|dad|m[ou]m|father|mother|child(ren)?|interest|plot|formattings?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)o(o)" regexp_replace="$1" /></suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <short>Possible typo</short>
                <example correction="lose">I always <marker>loose</marker> the password.</example>
                <example correction="losing">I think I'm <marker>loosing</marker> my job.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>loose</token>
                    </marker>
                    <token postag="PRP$"/>
                </pattern>
                <message>Did you mean <suggestion>lose</suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <short>Possible typo</short>
                <example correction="lose">Who do I contact if I <marker>loose</marker> my passport?</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">thanks|regards?|due</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token inflected="yes">refer</token>
                    <token>to</token>
                </antipattern>
                <antipattern>
                    <token>from</token>
                    <token />
                    <token>to</token>
                    <token>loose</token>
                </antipattern>
                <pattern>
                    <token>to</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>loose</token>
                    </marker>
                    <token negate_pos="yes" postag="PRP$"/>
                </pattern>
                <message>Did you mean <suggestion>lose</suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <short>Possible typo</short>
                <example correction="lose">You don't want to <marker>loose</marker> this job, do you?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD"/>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>loose</token>
                    </marker>
                    <token negate_pos="yes" postag="PRP$"/>
                </pattern>
                <message>Did you mean <suggestion>lose</suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <short>Possible typo</short>
                <example correction="lose">You can <marker>loose</marker> so much and gain so little.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">did|does|do|would|could|should|wo|will</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>loose</token>
                    </marker>
                    <token negate_pos="yes" postag="PRP$"/>
                </pattern>
                <message>Did you mean <suggestion>lose</suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <short>Possible typo</short>
                <example correction="lose">I didn't <marker>loose</marker> the game.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>loose</token>
                    </marker>
                    <token>a</token>
                    <token>lot</token>
                    <token>of</token>
                    <token postag="JJ" min="0" />
                    <token regexp="yes">time|patience|weight|money|friends|hairs?|blood|games?</token>
                </pattern>
                <message>Did you mean <suggestion>lose</suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <example correction="lose">If I do it like that, we will <marker>loose</marker> a lot of time.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="PRP$" />
                    <token>loose</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">the|an?</token>
                    <token>loose</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">looses?|loosing</token>
                    </marker>
                    <token regexp="yes" chunk_re="E-NP.*">weight|patience|myself|control|interest</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="(?i)o(o)" regexp_replace="$1" /></suggestion> (= miss, waste, suffer the loss etc.)?</message>
                <short>Possible typo</short>
                <example correction="lose">I <marker>loose</marker> weight.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOSE_LOOSE" name="lose (loose)">
            <url>https://languagetool.org/insights/post/loose-lose/</url>
            <rule>
                <pattern>
                    <token>on</token>
                    <token>the</token>
                    <token>lose</token>
                </pattern>
                <message>Did you mean <suggestion>on the loose</suggestion> (=at large, free)?</message>
                <short>Possible typo</short>
                <example correction="on the loose">Spammer <marker>on the lose</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">knock|break</token>
                    <marker>
                        <token>lose</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>loose</suggestion> (=lax, unattached)?</message>
                <short>Possible typo</short>
                <example correction="loose">What do you do if your tooth gets knocked <marker>lose</marker>?</example>
                <example correction="loose">The boat broke <marker>lose</marker> from its moorings.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOSE_LOSS" name="at a lose (at a loss)">
            <url>https://languagetool.org/insights/post/loose-lose/</url>
            <antipattern>
                <token postag="IN|VB.*" postag_regexp="yes">
                    <exception regexp="yes" inflected="yes">think|hope|believe|doubt|as|before|after</exception>
                </token>
                <token regexp="yes">you|it</token>
                <token>loss</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">a|the</token>
                    <marker>
                        <token>lose</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>loose</suggestion> (adjective) or <suggestion>loss</suggestion> (noun)?</message>
                <short>Possible typo</short>
                <example correction="loose|loss">Feeling at a <marker>lose</marker> and frustrated.</example>
                <example correction="loose|loss">The <marker>lose</marker> of a good friend.</example>
                <example correction="loose|loss">A <marker>lose</marker> tooth in a child often signals an exciting rite of passage.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|we|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>loss</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>lost</suggestion> (past tense of the verb 'lose') or <suggestion>lose</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="lost|lose">I <marker>loss</marker> a good friend.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>losses</token>
                    </marker>
                </pattern>
                <message>"losses" is a plural noun. Did you mean the verb <suggestion>loses</suggestion> (= 'to lose')?</message>
                <example correction="loses">He always <marker>losses</marker> his keys.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">want|try|have|hate|need|like|love</token>
                    <token>to</token>
                    <marker>
                        <token>loss</token>
                    </marker>
                </pattern>
                <message>"loss" is a noun. Did you mean the verb <suggestion>lose</suggestion> (= 'to lose')?</message>
                <example correction="lose">I hate to <marker>loss</marker> football games.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>loss</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>lost</suggestion> (past tense of the verb 'lose')?</message>
                <short>Possible typo</short>
                <example correction="lost">She <marker>loss</marker> a good friend.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP|NN.*" postag_regexp="yes" />
                    <token postag="MD" />
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token>loss</token>
                    </marker>
                </pattern>
                <message>"loss" is a noun. Did you mean the verb <suggestion>lose</suggestion> (= 'to lose')?</message>
                <example correction="lose">He could <marker>loss</marker> his life.</example>
                <example>But would loss be an option?</example>
            </rule>
        </rulegroup>
        <rulegroup id="GIVE_ADVISE" name="give/any/of advise (advice)">
            <url>https://www.grammar-monster.com/easily_confused/advice_advise.htm</url>
            <rule>
                <pattern>
                    <token inflected="yes">give</token>
                    <token min="0" max="1" postag="PRP"/>
                    <marker>
                        <token>advise</token>
                    </marker>
                </pattern>
                <message>The word 'advise' is a verb. Did you mean <suggestion>advice</suggestion> (noun)?</message>
                <short>Possible typo</short>
                <example correction="advice">Please give me <marker>advise</marker>, I don't know what to do.</example>
                <example correction="advice">Could someone give <marker>advise</marker> on a better way to do this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>that</token>
                    <token>advise</token>
                    <token postag="DT|NN.*|JJ.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="DT"/>
                    <marker>
                        <token>advise</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>advice</suggestion> (noun)?</message>
                <short>Possible typo</short>
                <example correction="advice">Any <marker>advise</marker> is welcome!</example>
                <example>Any advice is welcome.</example>
                <example>The talked to a handful of global consultancies that advise the top management teams of big corporations.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">of|from|my|your|his|her|our|their|detailed|legal|medical|financial|professional|bad</token>
                    <marker>
                        <token>advise</token>
                    </marker>
                </pattern>
                <message>The word 'advise' is a verb. Did you mean <suggestion>advice</suggestion> (noun)?</message>
                <short>Possible typo</short>
                <example correction="advice">What was the best piece of <marker>advise</marker> that you ever got?</example>
                <example correction="advice">He didn't listen to my <marker>advise</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD">
                        <exception>need</exception>
                    </token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>advice</token>
                    </marker>
                </pattern>
                <message>The word 'advise' is a noun. Did you mean <suggestion>advise</suggestion> (verb)?</message>
                <short>Possible typo</short>
                <example correction="advise">I must <marker>advice</marker> you to go.</example>
                <example>I cannot advise you anything.</example>
                <example>I need advice.</example>
            </rule>
        </rulegroup>
        <rule id="ADVICE_ADVISE" name="advice (advise)" type="grammar">
            <antipattern case_sensitive="yes">
                <token>IT</token>
                <token>advice</token>
            </antipattern>
            <pattern>
                <token postag="PRP"><exception postag="PRP(_.*)?" postag_regexp="yes" negate_pos="yes"/><exception scope="previous" inflected="yes" regexp="yes">offer|give</exception></token>
                <marker>
                    <token regexp="yes">advices?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="ice" regexp_replace="ise"/></suggestion> (verb) instead of <match no="2"/> (noun)?</message>
            <url>https://www.grammar-monster.com/easily_confused/advice_advise.htm</url>
            <short>Possible typo</short>
            <example correction="advise">We <marker>advice</marker> you to do it.</example>
            <example correction="advises">He <marker>advices</marker> you to do it.</example>
            <example>We <marker>advise</marker> you to come by public transport</example>
            <example correction="advise">We <marker>advice</marker> you to come by public transport.</example>
            <example>I could offer you advice, Tomas, but you wouldn't heed it.</example>
        </rule>
        <rulegroup id="HERE_HEAR" name="here (hear)">
            <url>https://en.wiktionary.org/wiki/here</url>
            <rule>
                <antipattern>
                    <token>here</token>
                    <token min="0">,</token>
                    <token>here</token>
                    <token min="0">,</token>
                    <token regexp="yes" min="0">and|&amp;</token>
                    <token>here</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>
                            <exception scope="previous" regexp="yes" inflected="yes">look|see|read</exception>
                            here
                        </token>
                        <token min="0">,</token>
                        <token>here</token>
                    </marker>
                    <token regexp="yes">\!|\.|\,</token>
                </pattern>
                <message>Did you mean the exclamation <suggestion><match no="1" regexp_match="(?i)ere" regexp_replace="ear" /><match no="2" /> <match no="3" regexp_match="(?i)ere" regexp_replace="ear" /></suggestion> (used to express wholehearted agreement)?</message>
                <url>https://www.lexico.com/definition/hear!_hear!</url>
                <example correction="hear hear">We say, <marker>here here</marker>, it couldn't have happened to a nicer film/bloke.</example>
                <example>Look here, here and here.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD" />
                    <token postag="RB" min="0"/>
                    <marker>
                        <token>here</token>
                    </marker>
                    <token postag="PRP\$?|DT|NN:UN" postag_regexp="yes">
                        <exception postag="VBP?" postag_regexp="yes" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>hear</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="hear">I can <marker>here</marker> you!</example>
                <example correction="hear">I can almost <marker>here</marker> you crying.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="CC|JJ|VBN"><exception regexp="yes">close|near|pertinent</exception></token>
                    <token>to</token>
                    <marker>
                        <token>here</token>
                    </marker>
                    <token regexp="yes">th(is|at)</token>
                </pattern>
                <message>Did you mean <suggestion>hear</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="hear">Glad to <marker>here</marker> that!</example>
                <example correction="hear">She was surprised to <marker>here</marker> that!</example>
                <example>I live pretty close to here.</example>
                <example>There are people who live close to here that won't even come.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="CC|JJ|VB."><exception regexp="yes">close|near|pertinent</exception></token>
                    <token>to</token>
                    <marker>
                        <token>here</token>
                    </marker>
                    <token>from</token>
                    <token postag="PRP"/>
                </pattern>
                <message>Did you mean <suggestion>hear</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="hear">I hope to <marker>here</marker> from you soon.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">do|wo|will</token>
                    <token regexp="yes">not|n't</token>
                    <marker>
                        <token>here</token>
                    </marker>
                    <token regexp="yes">from|of</token>
                </pattern>
                <message>Did you mean <suggestion>hear</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="hear">If you don't <marker>here</marker> from me in a day...</example>
                <example correction="hear">If you do not <marker>here</marker> from me in a day...</example>
                <example correction="hear">You won't <marker>here</marker> from me again.</example>
            </rule>
        </rulegroup>
        <rulegroup id="HEAR_HERE" name="hear (here)">
            <rule>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token min="0" regexp="yes">but|and|oh|ah|yeah|yes|no</token>
                    <marker>
                        <token regexp="yes">Hea?r</token>
                    </marker>
                    <token inflected="yes">be</token>
                </pattern>
                <message>Did you mean <suggestion>Here</suggestion>?</message>
                <url>https://en.wiktionary.org/wiki/hear</url>
                <short>Possible typo</short>
                <example correction="Here"><marker>Hear</marker> is an entertainment fit for giants.</example>
                <example correction="Here"><marker>Her</marker> is my room.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token postag="RB" min="0">
                        <exception postag="IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>hear</token>
                    </marker>
                    <token regexp="yes">for|to|\.|,|\!|\?|…|\:</token>
                </pattern>
                <message>Did you mean <suggestion>here</suggestion>?</message>
                <example correction="here">I am <marker>hear</marker> for you.</example>
                <example correction="here">I am <marker>hear</marker> to steal your wife.</example>
                <example>It was her.</example>
            </rule>
        </rulegroup>
        <rule id="WITCH_HAUNT" name="witch haunt (witch hunt)">
            <pattern>
                <token>witch</token>
                <token>haunt</token>
            </pattern>
            <message>Did you mean <suggestion>\1 hunt</suggestion> (=search for witches)?</message>
            <url>https://en.wiktionary.org/wiki/haunt</url>
            <short>Possible typo</short>
            <example correction="witch hunt">An anti-Polish <marker>witch haunt</marker></example>
        </rule>
        <rule id="TEEM_TEAM" name="football teem (football team)">
            <pattern>
                <token regexp="yes">management|football|research|project|home|display|youth|cup|development|design|sales|rescue|cricket|production|care|action|hockey|rugby|league|campaign|inspection|support|soccer|mortar|test|specialist|negotiating|relay|buy-out|course|world|health|investigation|planning|school|treasury|inquiry|planting|service|styling|division|improvement|marketing|review|services|ward|policy|work|area|basketball|club|control|dream|hospital|insight|protection|sports|town|baseball|executive|touring|university|buyout</token>
                <token regexp="yes">te(a|em)</token>
            </pattern>
            <message>Did you mean <suggestion>\1 team</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/teem</url>
            <short>Possible typo</short>
            <example correction="football team">This is my favorite <marker>football teem</marker>.</example>
            <example>The gardens teem with squawking parrots.</example>
        </rule>
        <rule id="SNEAK_PEAK" name="sneak peak (sneak peek)">
            <pattern>
                <token>sneak</token>
                <token>peak</token>
            </pattern>
            <message>Did you mean <suggestion>\1 peek</suggestion> (=preview)?</message>
            <url>https://languagetool.org/insights/post/peek-peak-pique/</url>
            <short>Possible typo</short>
            <example correction="sneak peek">Yahoo has released a <marker>sneak peak</marker> into Yahoo! BrowserPlus.</example>
        </rule>
        <rule id="CONFUSION_OF_ANOTHER_IN_OTHER" name="another (in other)">
            <pattern>
                <token>another</token>
                <token>words</token>
            </pattern>
            <message>Did you mean <suggestion>in other words</suggestion>?</message>
            <url>https://languagetool.org/insights/post/each-other-one-another/</url>
            <example correction="in other words">Let me say this <marker>another words</marker>.</example>
        </rule>
        <rule id="CONFUSION_OF_SOBBER_SOBER" name="sobber (sober)">
            <pattern>
                <token>sobber</token>
            </pattern>
            <message>Did you mean <suggestion>sober</suggestion> (=not intoxicated)? "Sobber" means "weeper, someone one who cries".</message>
            <example correction="sober">I'm <marker>sobber</marker>.</example>
        </rule>
        <rule id="FOR_ALL_INTENSIVE_PURPOSES" name="for all intensive purposes (for all intents and purposes)">
            <pattern>
                <token regexp="yes">for|to</token>
                <token>all</token>
                <token regexp="yes">intens(iv)?e</token>
                <token min="0">and</token>
                <token>purposes</token>
            </pattern>
            <message>Did you mean <suggestion>\1 all intents and purposes</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="for all intents and purposes">Well, not all of it, but <marker>for all intensive purposes</marker>, I read it.</example>
            <example correction="To all intents and purposes"><marker>To all intensive and purposes</marker> the case is closed.</example>
            <example correction="for all intents and purposes">Well, not all of it, but <marker>for all intense purposes</marker>, I read it.</example>
            <example correction="To all intents and purposes"><marker>To all intense and purposes</marker> the case is closed.</example>
        </rule>
        <rulegroup id="ALL_OF_A_SUDDEN" name="all over (of a) sudden">
            <rule>
                <pattern>
                    <token>all</token>
                    <marker><token>if</token></marker>
                    <token>a</token>
                    <token>sudden</token>
                </pattern>
                <message>Did you mean <suggestion>of</suggestion>?</message>
                <example correction="of">All <marker>if</marker> a sudden he changed his mind.</example>
            </rule>
            <rule>
                <pattern>
                    <token>all</token>
                    <marker><token>over</token></marker>
                    <token>sudden</token>
                </pattern>
                <message>Did you mean <suggestion>of a</suggestion>?</message>
                <example correction="of a">All <marker>over</marker> sudden he changed his mind.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NO_NOW" name="no (now) on">
            <rule>
                <pattern>
                    <token>from</token>
                    <marker>
                        <token>no</token>
                        <token>won</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>now on</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="now on">From <marker>no won</marker> I will do whatever you want.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>worries</token>
                    <token regexp="yes">regarding|about</token>
                </antipattern>
                <pattern>
                    <token postag="PCT|SENT_START" postag_regexp="yes" />
                    <marker>
                        <token>now</token>
                        <token>worries</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>no \3</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="No worries"><marker>Now worries</marker>, friend!</example>
            </rule>
        </rulegroup>
        <rulegroup id="KNOW_NOW" name="know (now)">
            <rule>
                <antipattern>
                    <token skip="-1">now</token>
                    <token regexp="yes">n?ever</token>
                </antipattern>
                <antipattern>
                    <token skip="-1" regexp="yes">n?ever</token>
                    <token>now</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">do|did|does</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>now</token>
                    </marker>
                    <token postag="PCT|W.*|JJ.*|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>know</suggestion>?</message>
                <example correction="know">I don't <marker>now</marker> where it comes from.</example>
                <example>The show doesn’t now (nor did it ever) present Roseane’s character as unblemished.</example>
                <example>Oh and I have never had a check engine light before and still don’t now.</example>
                <example>We don’t now — and never will — share your location data with 3rd party advertisers or data monetization companies.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">was|been|were</token>
                    <marker>
                        <token>know</token>
                    </marker>
                    <token postag="NN.*|RB|IN" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>known</suggestion>, <suggestion>now</suggestion> or <suggestion>no</suggestion>?</message>
                <example correction="known|now|no">They were <marker>know</marker> for their food.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token>know</token>
                    </marker>
                    <token regexp="yes" min="0">the|an?</token>
                    <token postag="NN.*|VBG|JJ.*" postag_regexp="yes">
                        <exception postag="IN" />
                    </token>
                </pattern>
                <message>Did you mean <suggestion>now</suggestion> or <suggestion>no</suggestion>?</message>
                <example correction="now|no">There is <marker>know</marker> place like home.</example>
                <example correction="now|no">They are <marker>know</marker> being reviewed by VE.</example>
                <example correction="now|no">My dream is <marker>know</marker> Roma, in Italy.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>let</token>
                    <token postag="PRP" />
                    <token>know</token>
                    <token>and</token>
                    <token>then</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token>know</token>
                    <token>and</token>
                    <token>then</token>
                </pattern>
                <message>Did you mean <suggestion>now and then</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="now and then">My mom used to make a hell of a burrito every <marker>know and then</marker>.</example>
                <example>I will let you know and then proceed with the other task.</example>
            </rule>
            <rule>
                <pattern>
                    <token>right</token>
                    <token>know</token>
                </pattern>
                <message>Did you mean <suggestion>right now</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="right now">Girls wanting to meet you <marker>right know</marker>!</example>
            </rule>
            <rule>
                <pattern>
                    <token>from</token>
                    <token>know</token>
                    <token>on</token>
                </pattern>
                <message>Did you mean <suggestion>from now on</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="From now on"><marker>From know on</marker>, he is the “Big Kahuna”.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">and|but|by|even|from|so<exception scope="previous">n't</exception></token>
                    <marker>
                        <token>know</token>
                    </marker>
                    <token regexp="yes" case_sensitive="yes">he|she|we|I</token>
                </pattern>
                <message>Did you mean <suggestion>now</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="now">And <marker>know</marker> he is leaving.</example>
                <example>I don't even know myself.</example>
                <example>You even know him?</example>
                <example>You're voting for a loser and you're too dumb to even know it.</example>
                <example>They are great and know them well.</example>
                <example>I didn't even know we had practise.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="MD"/>
                    <marker>
                        <token>know</token>
                    </marker>
                    <token postag="VB">
                        <exception regexp="yes">right|&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>now</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="now">I can <marker>know</marker> say something more.</example>
                <example>You should know right off I'm not optimistic.</example>
            </rule>
            <rule>
                <pattern>
                    <token>for</token>
                    <token>letting</token>
                    <token regexp="yes">me|us|them|her|him</token>
                    <marker>
                        <token>now</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>know</suggestion>?</message>
                <example correction="know">Thanks for letting us <marker>now</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="3">now</token>
                    <token regexp="yes">and|&amp;|or</token>
                    <token regexp="yes">n?ever</token>
                    <token regexp="yes">will|would</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">do|does|did</token>
                    <token regexp="yes">not|n't</token>
                    <marker>
                        <token>now</token>
                    </marker>
                    <token postag="CC|W.*|NN.*|IN" postag_regexp="yes"><exception postag="VB.*" postag_regexp="yes" /></token>
                </pattern>
                <message>Did you mean <suggestion>know</suggestion>?</message>
                <example correction="know">Rare to find a word it doesn't <marker>now</marker> and it is quick.</example>
                <example correction="know">We don't <marker>now</marker> what she's been through.</example>
                <example correction="know">It’s a complex issue and I don’t <marker>now</marker> how to solve it.</example>
                <example correction="know">I don’t <marker>now</marker> about the other ladies.</example>
                <example correction="know">She doesn’t <marker>now</marker> anything.</example>
                <example>We don’t now — and never will — share your location data with 3rd party advertisers or data monetization companies.</example>
            </rule>
            <rule>
                <antipattern>
                    <token skip="3">now</token>
                    <token regexp="yes">and|&amp;|or</token>
                    <token regexp="yes">n?ever</token>
                    <token regexp="yes">will|would</token>
                </antipattern>
                <pattern>
                    <token>I</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">do|does|did</token>
                    <token regexp="yes">not|n't</token>
                    <marker>
                        <token>now</token>
                    </marker>
                    <token postag="PCT" />
                </pattern>
                <message>Did you mean <suggestion>know</suggestion>?</message>
                <example correction="know">I don't <marker>now</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">lets?|letting</token>
                    <token regexp="yes">me|you|them|us|him|her</token>
                    <token regexp="yes" min="0">always|please</token>
                    <marker>
                        <token>now</token>
                    </marker>
                    <token postag="W.*|CC|PCT|DT|PRP.*|EX" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>know</suggestion>?</message>
                <example correction="know">Please let me <marker>now</marker> when it is ready.</example>
                <example correction="know">Let me please <marker>now</marker> if not.</example>
                <example correction="know">Let me <marker>now</marker> your thoughts.</example>
            </rule>
        </rulegroup>
        <rule id="IN_VEIN" name="in vein (in vain)">
            <pattern>
                <token>in</token>
                <token>vein</token>
            </pattern>
            <message>Did you mean <suggestion>in vain</suggestion> (=unsuccessfully)?</message>
            <short>Possible typo</short>
            <example correction="in vain">I have been looking <marker>in vein</marker> 30 plus years with no luck.</example>
            <example>I have been looking in vain for 30 years.</example>
        </rule>
        <rule id="INSURE_THAT" name="insure that (ensure that)">
            <pattern>
                <marker>
                    <token>insure</token>
                </marker>
                <token>that</token>
            </pattern>
            <message>Did you mean <suggestion>ensure</suggestion> (=make sure)? 'Insure' means 'pay money to insurance company'.</message>
            <short>Possible typo</short>
            <example correction="ensure">Please <marker>insure</marker> that you are registered with us.</example>
            <example>Please insure your car against theft.</example>
        </rule>
        <rule id="IN_MASSE" name="in masse (en masse)">
            <pattern>
                <token>in</token>
                <token>masse</token>
            </pattern>
            <message>Did you mean <suggestion>en masse</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="en masse">HP Already Shipping Linux <marker>in Masse</marker></example>
            <example>HP Already Shipping Linux En Masse</example>
        </rule>
        <rule id="EN_MASS" name="en mass (en masse)">
            <pattern>
                <token>en</token>
                <token>mass</token>
            </pattern>
            <message>Did you mean <suggestion>en masse</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="en masse">HP Already Shipping Linux <marker>en mass</marker></example>
        </rule>
        <rule id="FOR_SELL" name="for sell (for sale)">
            <pattern>
                <token>for</token>
                <token>sell</token>
            </pattern>
            <message>Did you mean <suggestion>for sale</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="for sale">Current Michigan homes <marker>for sell</marker></example>
        </rule>
        <rule id="CHALK_FULL" name="chalk full (chock-full)">
            <pattern>
                <token>chalk</token>
                <token>full</token>
            </pattern>
            <message>Did you mean <suggestion>chock-full</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="Chock-full"><marker>Chalk full</marker> of mobile content</example>
        </rule>
        <rule id="EGG_YOKE" name="egg yoke (egg yolk)">
            <pattern>
                <token>egg</token>
                <token>yoke</token>
            </pattern>
            <message>Did you mean <suggestion>egg yolk</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="egg yolk">Chocolate mousse with <marker>egg yoke</marker></example>
        </rule>
        <rule id="ET_ALL" name="et all (et al.)">
            <pattern>
                <token>et</token>
                <token>all</token>
            </pattern>
            <message>Did you mean <suggestion>et al.</suggestion> (=and others) or <suggestion>at all</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="et al.|at all">In the recent paper by Shakespeare <marker>et all</marker>, it is argued that envy is not unique to primates.</example>
        </rule>
        <rule id="BOB_WIRE" name="bob/barb wire (barbed wire)">
            <pattern>
                <token regexp="yes">b(o|ar)b</token>
                <token>wire</token>
            </pattern>
            <message>Did you mean <suggestion>barbed wire</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="barbed wire">Building a <marker>bob wire</marker> fence</example>
        </rule>
        <rule id="BYE_THE_WAY" name="bye the way (by the way)">
            <pattern>
                <token>bye</token>
                <token>the</token>
                <token>way</token>
            </pattern>
            <message>Did you mean <suggestion>by the way</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="by the way">And <marker>bye the way</marker>, this program is open source.</example>
        </rule>
        <rule id="BACK_AND_FOURTH" name="back and fourth (back and forth)">
            <pattern>
                <token>back</token>
                <token>and</token>
                <token>fourth</token>
            </pattern>
            <message>Did you mean <suggestion>back and forth</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="back and forth">How to move <marker>back and fourth</marker> from linux to xmb?</example>
        </rule>
        <rule id="BACK_IN_FORTH" name="back in forth (back and forth)">
            <pattern>
                <token>back</token>
                <token>in</token>
                <token>forth</token>
            </pattern>
            <message>Did you mean <suggestion>back and forth</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="back and forth">I've been texting <marker>back in forth</marker> with him for the past 3 days.</example>
            <example>I've been texting back and forth with him for the past 3 days</example>
        </rule>
        <rule id="ALL_FOR_NOT" name="all for not (all for naught)">
            <pattern>
                <marker>
                    <token>all</token>
                    <token>for</token>
                    <token regexp="yes">not|knot</token>
                </marker>
                <token><exception postag="VBG"/></token>
            </pattern>
            <message>Did you mean <suggestion>all for naught</suggestion> (=all for nothing)?</message>
            <short>Possible typo</short>
            <example>Sorry all for not being in the chat.</example>
            <example correction="all for naught">My farmer pants were <marker>all for not</marker>...</example>
        </rule>
        <rulegroup id="MASSAGE_MESSAGE" name="error massage (message)">
            <short>Possible typo</short>
            <rule>
                <pattern>
                    <token skip="2" regexp="yes" inflected="yes">diagnostic|deliver|email|error|new|radio|send|text|encrypt|voice|reply</token>
                    <marker>
                        <token inflected="yes">massage</token>
                    </marker>
                    <token negate="yes" regexp="yes" inflected="yes">instruction|method|salon|stroke|studio|oil</token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="(?i)massag" regexp_replace="messag"/></suggestion>?</message>
                <example>That is a new <marker>massage</marker> method.</example>
                <example correction="message">There is an error <marker>massage</marker>.</example>
                <example correction="messages">I sent different <marker>massages</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">thanks?</token>
                    <token min="0">you</token>
                    <token>for</token>
                    <token>your</token>
                    <marker>
                        <token chunk_re="E-NP.*">massage</token>
                    </marker>
                </pattern>
                <message>Are you sure you meant "massage" (= rubbing and kneading of muscles)?</message>
                <suggestion>message</suggestion>
                <example correction="message">Thanks for your <marker>massage</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">kind|friendly|verbal</token>
                    <marker>
                        <token chunk_re="E-NP.*">massage</token>
                    </marker>
                </pattern>
                <message>Are you sure you meant "massage" (= rubbing and kneading of muscles)?</message>
                <suggestion>message</suggestion>
                <example correction="message">Thanks for your kind <marker>massage</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="1" regexp="yes" chunk_re=".-VP">receive|get</token>
                    <token regexp="yes">your|my</token>
                    <token regexp="yes" min="0">latest|recent|last</token>
                    <marker>
                        <token chunk_re="E-NP.*" regexp="yes">massages?</token>
                    </marker>
                </pattern>
                <message>Are you sure you meant "massage" (= rubbing and kneading of muscles)?</message>
                <suggestion><match no="4" regexp_match="(?i)massag" regexp_replace="messag"/></suggestion>
                <example correction="message">I have received your <marker>massage</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CHANCE_CHANGE" name="chance (change) a setting">
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes" skip="3">chance <exception scope="next">change</exception></token>
                    </marker>
                    <token regexp="yes" inflected="yes">behaviou?r|mode|setting</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="chanc" regexp_replace="chang"/></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="change">Do not <marker>chance</marker> these settings!</example>
                <example correction="changes">He always <marker>chances</marker> the behaviour of the application.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">API|climate</token>
                    <marker>
                        <token inflected="yes" skip="3">chance</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="chanc" regexp_replace="chang"/></suggestion>?</message>
                <short>Possible typo</short>
                <example correction="change">The climate <marker>chance</marker> must be stopped.</example>
            </rule>
        </rulegroup>
        <rule id="FORMALLY_KNOWN_AS" name="formally known as (formerly known as)">
            <pattern>
                <token>formally</token>
                <token>known</token>
                <token>as</token>
            </pattern>
            <message>Did you mean <suggestion>formerly \2 \3</suggestion> (=known earlier under the name of)?</message>
            <short>Possible typo</short>
            <example correction="formerly known as">The artist <marker>formally known as</marker> Prince</example>
        </rule>
        <rulegroup id="BREATHE_BREATH" name="breath (breathe)">
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <rule>
                <antipattern><!-- Can breath cause ... -->
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes" />
                    <token postag="MD" />
                    <token>breath</token>
                    <token postag="VB" />
                </antipattern>
                <antipattern>
                    <token inflected="yes">hold</token>
                    <token>you</token><!-- you vs your, different error -->
                    <token>breath</token>
                </antipattern>
                <antipattern>
                    <token>won</token>
                    <token>breath</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">[wc]ould|should|will|might|can(not)?|you|we|they|s?he|it|shall|(?-i)I|must|please|won</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>breath</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>breathe</suggestion>? '\3' is a noun.</message>
                <short>Possible grammatical error</short>
                <example correction="breathe">I could <marker>breath</marker>.</example>
                <example correction="breathe">I cannot <marker>breath</marker>.</example>
                <example correction="breathe">Can you <marker>breath</marker>?</example>
                <example>If I <marker>breathe</marker> slowly and deeply, I start to relax.</example>
                <example>They breathe slowly.</example>
                <example>Do tests for these: i <marker>breath</marker>, ii heartbeat, iii ...</example>
                <example>Can breath cause coronavirus?</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="IN|VB.*|UNKNOWN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope|believe|know|dount</exception>
                    </token>
                    <token>it</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">it|s?he</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>breaths</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>breathes</suggestion>? '\3' is a plural noun.</message>
                <example correction="breathes">She <marker>breaths</marker> fresh air.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">[wc]ould|should|can|ca|did|does|do</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>breath</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>breathe</suggestion>? '\3' is a noun.</message>
                <short>Possible grammatical error</short>
                <example correction="breathe">I couldn't <marker>breath</marker>.</example>
                <example>They breathe slowly.</example>
                <example correction="breathe">We can't <marker>breath</marker> under water.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">can|[wc]ould|should|does|do|did</token>
                    <token>not</token>
                    <token>breath</token>
                </pattern>
                <message>The word "breath" is a noun. Did you mean <suggestion>\1 not breathe</suggestion>?</message>
                <short>Possible grammatical error</short>
                <example correction="can not breathe">We <marker>can not breath</marker> under water.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="PRP$"><exception scope="previous">had</exception></token>
                    <marker><token>breathe</token></marker>
                </pattern>
                <message>Did you mean <suggestion>breath</suggestion>? 'Breathe' is a verb.</message>
                <short>Possible grammatical error</short>
                <example>I can't hold my breath.</example>
                <example correction="breath">I am not going to hold my <marker>breathe</marker> that he will do anything</example>
                <example>Then he had her breathe on the canvas.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes" chunk_re=".-VP">try|want|need|have|like|love|hate|hope|allow</token>
                    <token>to</token>
                    <token postag="RB" min="0">
                        <exception postag="VB.*|IN|EX" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>breath</token>
                    </marker>
                </pattern>
                <message>Did you mean the verb <suggestion>breathe</suggestion>?</message>
                <example correction="breathe">I love to <marker>breath</marker> fresh air.</example>
            </rule>
        </rulegroup>
        <rule id="ASK_WETHER" name="ask wether/weather (whether)">
            <pattern>
                <token inflected="yes" skip="1" regexp="yes">ask|question</token>
                <marker>
                    <token regexp="yes">wea?ther</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>whether</suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/wether</url>
            <short>Possible typo</short>
            <example>I asked whether it was true.</example>
            <example correction="whether">Don't ask me <marker>wether</marker> it is already decided!</example>
        </rule>
        <rule id="BRAKE_AWAY_BREAK_AWAY" name="brake away (break away)">
            <pattern>
                <token>brake<exception scope="previous" postag="DT|NN.*" postag_regexp="yes"/></token>
                <token>away</token>
            </pattern>
            <message>Did you mean <suggestion>break away</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Possible typo</short>
            <example correction="break away">The should <marker>brake away</marker> from Russia.</example>
            <example>They should break away from Russia.</example>
            <example>When you take the hand brake away, the car will stay still if the clutch is in the right position.</example>
        </rule>
        <rule id="BE_ALOUD_TO" name="aloud to (allowed to)">
            <pattern>
                <token inflected="yes">be</token>
                <marker>
                    <token>aloud</token>
                    <token>to</token>
                </marker>
            </pattern>
            <message>Possible typo. Did you mean <suggestion>allowed to</suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Possible typo</short>
            <example>We are allowed to talk.</example>
            <example correction="allowed to">Who is <marker>aloud to</marker> get information from your mail?</example>
        </rule>
        <rule id="AIRPLANE_HANGER" name="airplane hanger (airplane hangar)">
            <pattern>
                <token>airplane</token>
                <marker>
                    <token inflected="yes">hanger</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match=".*r(.*)$" regexp_replace="hangar$1"/></suggestion>?</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Possible typo</short>
            <example correction="hangars">These are airplane <marker>hangers</marker>.</example>
            <example>They had a wedding in an airplane hangar.</example>
        </rule>
        <rule id="DO_TO_THE_FACT_THAT" name="'Do to that fact that' → 'Due to'">
            <pattern>
                <token>Do</token>
                <token>to</token>
                <token>the</token>
                <token>fact</token>
                <token>that</token>
            </pattern>
            <!-- -->
            <message>Use <suggestion>due to</suggestion> or <suggestion>because of</suggestion> to fix spelling and readability of this sentence.</message>
            <url>https://public.wsu.edu/~brians/errors/dueto.html</url>
            <example correction='Due to|Because of'><marker>Do to the fact that</marker> the MTA has burned through leaders at a rate of nearly one per year over the last six years, ...</example>
            <example>Due to</example>
            <example>Because of</example>
        </rule>
        <rule id="DO_TO_THE_LACK_OF" name="'Do to the lack of' → 'Due to lack of'">
            <pattern>
                <token>do</token>
                <token>to</token>
                <token>the</token>
                <token regexp="yes">lack|absence</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>due to the \4 of</suggestion>?</message>
            <url>https://public.wsu.edu/~brians/errors/dueto.html</url>
            <example correction='due to the lack of'>He feels powerless <marker>do to the lack of</marker> friends.</example>
        </rule>
        <rule id="MINUETS" name="minuet (minute)">
            <antipattern>
                <token regexp="yes">minuets?</token>
                <token regexp="yes">piano|music|composed|style</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">Mozart|Bach|Beethoven|Boccherini|elaborate|stately|trumpet|orchestra</token>
                <token regexp="yes">minuets?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">minuets?</token>
                <token>for</token>
                <token regexp="yes">orchestra|keyboard|piano|flute|harpsichord|guitar|violin</token>
            </antipattern>
            <pattern>
                <token regexp="yes">minuets?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="minuet" regexp_replace="minute"/></suggestion>?</message>
            <url>https://en.wiktionary.org/wiki/minuet</url>
            <example correction="minutes">The main plaza and town is located ten <marker>minuets</marker> walking distance from the beach.</example>
            <example correction="minute">The main plaza and town is located one <marker>minuet</marker> walking distance from the beach.</example>
            <example>Minuet for piano in G major, WoO 10/2 - Ludwig van Beethoven</example>
        </rule>
        <rule id="DEPENDENT" name="Dependent">
            <pattern>
                <marker>
                    <token>dependant</token>
                </marker>
                <token>on</token>
            </pattern>
            <message>Did you mean <suggestion>dependent</suggestion> on?</message>
            <url>https://en.wiktionary.org/wiki/dependant</url>
            <example correction="dependent">They are <marker>dependant</marker> on the results</example>
        </rule>
        <rule id="BUY_VBG" name="buy (by) + gerund verb">
            <antipattern>
                <token regexp="yes">to|please</token>
                <token>buy</token>
            </antipattern>
            <antipattern><!-- financial term-->
                <token>buy</token>
                <token regexp="yes">ratings?</token>
            </antipattern>
            <antipattern>
                <token postag="MD" />
                <token regexp="yes" min="0">&apostrophe;</token>
                <token min="0">t</token>
                <token>buy</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="MD|PRP" postag_regexp="yes" />
                <token postag="RB.*" postag_regexp="yes" min="0" />
                <token>buy</token>
                <token postag="NN.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <marker>
                    <token>buy</token>
                </marker>
                <token postag='VBG'><exception>clothing</exception></token>
            </pattern>
            <message>Did you mean <suggestion>by</suggestion>?</message>
            <example correction='by'>We exploit these two features <marker>buy</marker> using Named Entity recognition.</example>
            <example correction="By"><marker>Buy</marker> making it our top pick in the sector.</example>
            <example correction="by">Get some <marker>buy</marker> doing treasure maps.</example>
            <example correction="by">Several years can go <marker>buy</marker> waiting for recovery.</example>
            <example>I'm here to buy wedding gifts.</example>
            <example>You can't buy advertising like that.</example>
            <example>I usually buy clothing at a local store.</example>
            <example>On May 30, Salomon Smith Barney reiterated its Buy rating on Sprint PCS shares.</example>
            <example>For ENE, our Strong Buy rating expects that the deal spread, currently about 30% will narrow as progress is made toward a closing.</example>
        </rule>
        <rule id="FURTHER_ADIEU" name="Further ado instead of further adieu">
            <pattern>
                <token>further</token>
                <token>adieu</token>
            </pattern>
            <message>Did you mean <suggestion>further ado</suggestion>?</message>
            <url>https://www.dictionary.com/browse/without-further-ado</url>
            <example correction="further ado">Without <marker>further adieu</marker></example>
        </rule>
        <rule id="ADOPT_TO" name="Adapt to v. adopt to">
            <pattern>
                <token>adopt</token>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>adapt to</suggestion>?</message>
            <example correction="adapt to">Maybe you will need time to <marker>adopt to</marker> the situation.</example>
        </rule>
        <rule id="TO_AIDE" name="Aide in wrong context">
            <pattern>
                <token>to</token>
                <token>aide</token>
            </pattern>
            <message>Did you mean <suggestion>to aid</suggestion>?</message>
            <url>https://www.thoughtco.com/aid-and-aide-1689293</url>
            <example correction="to aid">I want <marker>to aide</marker> you in a task.</example>
        </rule>
        <rule id="ALL_THE_FURTHER" name="'all the further' is a common, but incorrect phrase">
            <pattern>
                <token>all</token>
                <token>the</token>
                <token>further</token>
            </pattern>
            <message>Did you mean <suggestion>as far as</suggestion>?</message>
            <example correction="as far as">That's <marker>all the further</marker> I'll go.</example>
        </rule>
        <rule id="ALLY_ALLAY" name="'ally' used in wrong situation">
            <pattern case_sensitive='yes'>
                <marker>
                    <token>ally</token>
                </marker>
                <token postag='NN(S|:UN)|VB[PZ]?' postag_regexp='yes'/>
            </pattern>
            <message>Did you mean <suggestion>allay</suggestion>?</message>
            <url>https://www.englishgrammar101.com/module-15/troublesome-words-2/lesson-15/allay-vs-alley-vs-ally</url>
            <example correction="allay">I would like to <marker>ally</marker> concern.</example>
        </rule>
        <!--
        <rule id="ALOT_ALLOT" name="In this situation, allot has a double 'l'">
            <pattern case_sensitive='yes'>
                <token>alot</token>
                <token postag='NN(:U|S)|JJ|VBP?' postag_regexp='yes'></token>
            </pattern>
            <message>Did you mean <suggestion>allot <match no="2"/></suggestion>?</message>
            <url>https://www.grammar-monster.com/easily_confused/alot_a_lot_allot.htm</url>
            <example correction="">I would like to <marker>alot time</marker> for a task.</example>
            <example>I would like to allot time for a task.</example>
        </rule>
        -->
        <rule id="AMENABLE_AMENDABLE" name="Amendable to error">
            <pattern>
                <marker>
                    <token>amendable</token>
                </marker>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>amenable</suggestion>?</message>
            <example correction="amenable">You must be <marker>amendable</marker> to compromise.</example>
        </rule>
        <rule id="ARCHITECT_VERB" name="Architect as a verb">
            <pattern>
                <token>to</token>
                <marker>
                    <token>architect</token>
                </marker>
                <token postag='DT|NNS?|NN:UN?' postag_regexp='yes'/>
            </pattern>
            <message>Architect is a noun, not a verb. Did you mean <suggestion>design</suggestion> or <suggestion>devise</suggestion>?</message>
            <short>Architect is a noun, not a verb</short>
            <example correction="design|devise">I would like to <marker>architect</marker> a house</example>
        </rule>
        <rule id="ASCETIC_ACID" name="Ascetic acid v acetic acid">
            <pattern>
                <token>ascetic</token>
                <token>acid</token>
            </pattern>
            <message>Did you mean <suggestion>acetic acid</suggestion>?</message>
            <example correction="acetic acid">There was a spill of <marker>ascetic acid</marker>.</example>
        </rule>
        <rule id="AS_WELL_AS_BETTER" name="Missing &apos;as&apos; in &apos;as well as or better than&apos;">
            <pattern>
                <token>as</token>
                <token>well</token>
                <token>or</token>
                <token>better</token>
                <token>than</token>
            </pattern>
            <message>Did you mean <suggestion>as well as or better than</suggestion>?</message>
            <example correction="As well as or better than"><marker>As well or better than</marker></example>
        </rule>
        <rule id="AWAITING_FOR" name="Awaiting for - incorrect">
            <pattern>
                <token>awaiting</token>
                <token>for</token>
            </pattern>
            <message>Did you mean <suggestion>awaiting</suggestion> or <suggestion>waiting for</suggestion>?</message>
            <example correction="awaiting|waiting for">He was <marker>awaiting for</marker> a person.</example>
        </rule>
        <rule id="AXED_ASKED" name="Axed v asked">
            <pattern>
                <marker>
                    <token>axed</token>
                </marker>
                <token postag='PRP'/>
            </pattern>
            <message>Did you mean <suggestion>asked</suggestion>?</message>
            <example correction="asked">He <marker>axed</marker> me to dinner.</example>
        </rule>
        <rule id="PUBIC_X" name="pubic (public) education etc.">
            <pattern>
                <marker>
                    <token>pubic</token>
                </marker>
                <!-- source of exceptions: the most common words after 'pubic' from Google ngram corpus (v1) -->
                <token><exception regexp="yes">hairs?|bones?|symphysis|areas?|and|tubercles?|arch|regions?|ramus|rami|lice|crest|triangle|or|mound|ligament|louse|spine|hairlines?|angle|branch|portions?|skins?|symphyseal|symphyses|symphisis|shavings?|bush</exception></token>
            </pattern>
            <message>Did you mean <suggestion>public</suggestion>?</message>
            <example correction="Public"><marker>Pubic</marker> Affairs is a term for the formal offices of the branches of the US Department of Defense.</example>
            <example><marker>Pubic</marker> hair is the hair in the frontal genital area of adolescent and adult humans.</example>
        </rule>
        <rulegroup id="TESTES" name="testes (tested)">
            <rule>
                <pattern case_sensitive="yes">
                    <token inflected="yes" regexp="yes">be|get<exception>Are</exception></token>
                    <marker>
                        <token>testes</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>tested</suggestion> instead of testes (=male reproductive glands)?</message>
                <example correction="tested">Everyone is being <marker>testes</marker>.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token>testes</token>
                    </marker>
                    <token regexp="yes">negative|positive|the</token>
                </pattern>
                <message>Did you mean <suggestion>tested</suggestion> instead of testes (=male reproductive glands)?</message>
                <example correction="tested">Tom has <marker>testes</marker> negative for HIV.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WAR_WART" name="war (wart)">
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">flat|genital|plantar|remove</token>
                    <marker>
                        <token regexp="yes">wars?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="r" regexp_replace="rt"/></suggestion>?</message>
                <example correction="warts">Genital <marker>wars</marker> may occur singly but are more often found in clusters.</example>
            </rule>
            <rule>
                <pattern>
                    <token>a</token>
                    <marker>
                        <token>wars</token>
                    </marker>
                    <token>and</token>
                    <token>all</token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="r" regexp_replace="rt"/></suggestion>?</message>
                <example correction="warts">Tom has just released a <marker>wars</marker> and all autobiography of his life with Mary.</example>
            </rule>
        </rulegroup>
        <rule id="CONFUSION_OF_CORRAL_CORAL" name="corral (coral)">
            <pattern>
                <marker>
                    <token>corral</token>
                </marker>
                <token regexp='yes'>polyps?|reefs?|islands?|necklaces?|lipsticks?|bleaching|sea|springs?|atolls?|bay|ecosystems?|red|populations?</token>
            </pattern>
            <message>Did you mean <suggestion>coral</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="Coral"><marker>Corral</marker> reefs are diverse underwater ecosystems.</example>
            <example correction="coral">She likes <marker>corral</marker> lipsticks.</example>
        </rule>
        <rule id="ANUS_ANGUS" name="anus (angus)">
            <pattern>
                <marker>
                    <token>anus</token>
                </marker>
                <token regexp="yes">beef|bulls?|burgers?|cattle|council|cows?|steaks?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="nu" regexp_replace="ngu"/></suggestion> (verb) instead of <match no="2"/> (noun)?</message>
            <short>Possible typo</short>
            <example correction="Angus"><marker>Anus</marker> beef, lettuce, tomatoes,...</example>
        </rule>
        <rule id="CONFUSION_OF_MARSHAL_MARTIAL" name="marshal/marital (martial)">
            <pattern>
                <marker>
                    <token regexp="yes">mar(sh|it)al</token>
                </marker>
                <token regexp='yes'>art(ist)?s?|court|discipline|laws?|life|music|overtones?|people|prowess|rhetoric|traditions?</token>
            </pattern>
            <message>Did you mean <suggestion>martial</suggestion> (relating to war or a warrior)?</message>
            <url>https://grammarist.com/spelling/marshal-martial/</url>
            <short>Possible typo</short>
            <example correction="martial">He is an experienced <marker>marshal</marker> artist.</example>
            <example correction="martial">He is an experienced <marker>marital</marker> artist.</example>
        </rule>
        <rulegroup id="CONFUSION_OF_SATE_STATE" name="sate (state)">
            <rule>
                <pattern>
                    <token postag='JJ'></token>
                    <marker>
                        <token>sate</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>state</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="state">He is in a whole new <marker>sate</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>sate</token>
                    </marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean <suggestion>state</suggestion>?</message>
                <example correction="state">In a <marker>sate</marker> of anxiety.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_GOLD_GOLF" name="gold (golf)">
            <rule>
                <pattern>
                   <token inflected="yes" regexp='yes'>play|enjoy</token>
                    <marker>
                        <token>gold</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>golf</suggestion>?</message>
                <example correction="golf">She likes playing <marker>gold</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>gold</token>
                    </marker>
                    <token regexp='yes'>balls?|carts?|courses?|championships?|tournaments?</token>
                </pattern>
                <message>Did you mean <suggestion>golf</suggestion>?</message>
                <example correction="golf">She drove the <marker>gold</marker> cart.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>golf</token>
                    </marker>
                    <token regexp='yes'>co(ast|in)s?|diggers?|medal(list)?s?|miner?s?|prices?|rush</token>
                </pattern>
                <message>Did you mean <suggestion>gold</suggestion>?</message>
                <example correction="gold">She is a <marker>golf</marker> medallist.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_JIB_JOB" name="jib (job)">
            <rule>
                <pattern>
                   <token inflected="yes" regexp='yes'>get|do|find</token>
                   <token postag="DT"></token>
                   <token postag="JJ" min="0"/>
                    <marker>
                        <token>jib</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>job</suggestion>?</message>
                <example correction="job">He got a new <marker>jib</marker>.</example>
                <example correction="job">He has done a great <marker>jib</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" regexp="yes">quit|lose</token>
                    <token postag="PRP$"/>
                    <marker>
                        <token>jib</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>job</suggestion>?</message>
                <example correction="job">He lost his <marker>jib</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_SCEPTIC_SEPTIC" name="sceptic (septic)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">s[ck]eptic</token>
                    </marker>
                    <token regexp="yes">arthritis|complications?|effluents?|infections?</token>
                </pattern>
                <message>Did you mean <suggestion>septic</suggestion> (=infected with bacteria/causing putrefaction)?</message>
                <example correction="septic">He died of cardiac arrest as a result of the <marker>sceptic</marker> infection.</example>
            </rule>
        </rulegroup>
        <rule id="CONFUSION_OF_ADDICTING_ADDICITVE" name="addicting (addictive)">
            <pattern>
                <marker>
                    <token>addicting</token>
                </marker>
                <token regexp='yes'>behaviou?rs?|drugs?|game(play)?s?|nature|opiods?|painkillers?|substances?</token>
            </pattern>
            <message>Did you mean the adjective <suggestion>addictive</suggestion> instead of the verb form 'addicting'?</message>
            <example correction="addictive">Nicotine is the <marker>addicting</marker> drug in tobacco.</example>
        </rule>
        <rule id="DEEP_SEEDED" name="deep-seeded (deep-seated)">
            <pattern>
                <marker>
                    <token>deep-seeded</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>deep-seated</suggestion>?</message>
            <url>https://www.merriam-webster.com/words-at-play/deep-seated-deep-seeded-usage</url>
            <example correction="deep-seated">He has a <marker>deep-seeded</marker> infection.</example>
        </rule>
        <rule id="DECEASE_DISEASE" name="decease (disease)">
            <pattern>
                <token regexp="yes">bacterial|cardiac|cardiovascular|chronic|deadly|fatal|fungal|genetic|infectious|pulmonary|respiratory|terminal|vascular</token>
                <marker>
                    <token>decease</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>disease</suggestion> (=sickness)?</message>
            <example correction="disease">He has a deadly <marker>decease</marker>.</example>
        </rule>
        <rule id="STRIPPED_STRIPED" name="stripped (striped)">
            <pattern>
                <marker>
                    <token>stripped</token>
                </marker>
                <token regexp="yes">animals?|dress(es)?|hyenas?|jackets?|marlins?|pants|pattern|pyjamas|socks|suits?|sweaters?|(T-)?shirts?|ties?|trousers?</token>
            </pattern>
            <message>Did you mean <suggestion>striped</suggestion> (= having stripes)?</message>
            <url>https://www.merriam-webster.com/dictionary/striped</url>
            <example correction="striped">Did you see her <marker>stripped</marker> dress?</example>
        </rule>
        <rule id="STRIPED_STRIPPED" name="striped (stripped)">
            <pattern>
                <marker>
                    <token>striped</token>
                </marker>
                <token regexp="yes">naked|of</token>
            </pattern>
            <message>Did you mean <suggestion>stripped</suggestion> (= without clothes / deprived of)?</message>
            <example correction="stripped">He <marker>striped</marker> naked for a swim.</example>
            <example correction="stripped">He was <marker>striped</marker> of all his powers.</example>
        </rule>
        <rule id="CALENDER" name="calender (calendar)">
            <pattern>
                <token>calender</token>
            </pattern>
            <message>Did you mean <suggestion>calendar</suggestion>, a system of organizing days? A 'calender' is a machine.</message>
            <example correction="calendar">A <marker>calender</marker> is a system of organizing days for social, religious, commercial or administrative purposes.</example>
        </rule>
        <rule id="ON_BEHAVE" name="on behave (on behalf)">
            <pattern>
                <token>on</token>
                <token>behave</token>
            </pattern>
            <message>Did you mean <suggestion>on behalf</suggestion> (in the name of, as a representative of)?</message>
            <example correction="on behalf">They act <marker>on behave</marker> of a user.</example>
        </rule>
        <rule id="WITCH_IS_WRONG" name="witch (which) is wrong">
            <pattern>
                <marker>
                    <token>witch</token>
                </marker>
                <token regexp='yes'>is|was</token>
                <token regexp='yes'>wrong|right|(in)?correct|available|good|due|great|likely|responsible</token>
            </pattern>
            <message>Did you mean <suggestion>which</suggestion>?</message>
            <example correction="which">Which position is right and <marker>witch</marker> is wrong?</example>
        </rule>
        <rule id="THEY_WHERE" name="where (were)">
            <antipattern>
                <token>there</token>
                <token>where</token>
                <token postag="PRP"/>
            </antipattern>
            <antipattern>
                <token>there</token>
                <token>where</token>
                <token>there</token>
                <token regexp="yes">is|are|were|was</token>
            </antipattern>
            <antipattern>
              <token postag="PRP"/>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token>there</token>
              <token regexp="yes">were|are</token>
              <token postag="JJ.*" postag_regexp="yes"/>
              <token postag="NNS"/>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token>there</token>
              <token regexp="yes">was|is</token>
              <token postag="DT"></token>
              <token postag="JJ.*" postag_regexp="yes"/>
              <token postag="NN(:.+)?" postag_regexp="yes"/>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token>there</token>
              <token regexp="yes">was|is</token>
              <token postag="DT"></token>
              <token postag="NN(:.+)?" postag_regexp="yes"/>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token>to</token>
              <token>be</token>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token>take</token>
              <token postag="PRP"/>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token regexp="yes">out|over|in|up</token>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <antipattern>
              <token inflected="yes" regexp="yes">be|head|hold</token>
              <token>there</token>
              <token>where</token>
            </antipattern>
            <pattern>
                <token regexp='yes'>the(y|re)|we</token>
                <marker>
                    <token>where</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>were</suggestion>, the simple past of "to be"?</message>
            <example correction="were">It seems unlikely that they <marker>where</marker> going to achieve it.</example>
            <example correction="were">There <marker>where</marker> major delays because of weather.</example>
            <example>And it was from there where I drove back to camp.</example>
            <example>Yet, are we there where our founding fathers wanted us to be?</example>
            <example>There were public showers there where homeless people could get cleaned up.</example>
            <example>Montreal is just happy to be there where losing is no option.</example>
            <example>Take me there where the sky is shimmering of a flourishing shuffling.</example>
            <example>Tell me why, I can't be there where you are...</example>
            <example>And how many other businesses are there where the retailer has no control over price?</example>
            <example>There was a long time there where my feelings for him was hella twisted.</example>
            <example>Additionally, there was a couple there where a woman had her entire arm adorned with a huge elaborate tattoo.</example>
        </rule>
        <rulegroup id="WERE_WE_RE" name="were (we're)">
            <rule>
                <antipattern>
                    <token skip="-1">were</token>
                    <token postag="PCT">?</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">They|We|You|Many|Some|All</token>
                    <token postag="RB" min="0" />
                    <token>Were</token>
                </antipattern>
                <antipattern>
                    <token chunk_re="E-NP.*" />
                    <token postag="RB" min="0" />
                    <token>Were</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <marker>
                        <token>Were</token>
                    </marker>
                    <token postag="VBG"/>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>We're</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="We're"><marker>Were</marker> going to the zoo.</example>
                <example><marker>Were</marker> warning shots fired?</example>
                <example>They Were Raiding a Weed Farm.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"></token>
                    <marker><token case_sensitive="yes">Were</token></marker>
                    <token postag="RB" min="0" max="2"><exception postag="UH|N.+" postag_regexp="yes"></exception></token>
                    <token postag="JJ"><exception postag="N.+" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="re" regexp_replace="'re"/></suggestion>?</message>
                <example correction="We're"><marker>Were</marker> so happy for you.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WERE_WHERE" name="were (where)">
            <rule>
                <antipattern>
                    <token>were</token>
                    <token chunk="B-SBAR">that</token>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="NN.*|VB.*" postag_regexp="yes" />
                    <marker>
                        <token>were</token>
                    </marker>
                    <token regexp="yes">an?|the|my|y?our|their|his|her|its|this|that|those|these|all</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token inflected="yes">be</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token postag="VBG|JJ.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>where</suggestion>?</message>
                <example correction="where">Please name adjectives <marker>were</marker> a hyphen is missing.</example>
                <example correction="where">This is <marker>were</marker> the future is going.</example>
                <example correction="where">I really agree with this, what about a Dinosaur land <marker>were</marker> the giants are still walking around.</example>
                <example correction="where">I still can't find <marker>were</marker> the issue is coming from.</example>
                <example>Incorrect grammar: Their only concern were that men are unhappy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">
                        about|to|ask|question|wonder
                        <exception postag="NNS" regexp="yes">questions|wonders</exception>
                    </token>
                    <marker>
                        <token>were</token>
                    </marker>
                    <token>to</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>where</suggestion>?</message>
                <example correction="where">He asked <marker>were</marker> to insert it.</example>
                <example>These eight challenging questions were to guide the Sisterhood's discernment.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>where</token>
                    </marker>
                    <token regexp="yes">you|they|we</token>
                    <token postag="RB" min="0" />
                    <token regexp="yes">able|ready</token>
                    <token regexp="yes">to|for</token>
                    <token />
                </pattern>
                <message>Did you mean <suggestion>were</suggestion>?</message>
                <example correction="Were"><marker>Where</marker> you able to do it?</example>
                <example correction="Were"><marker>Where</marker> you ever able to find out what the problem was?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">from|to</token>
                    <marker>
                        <token>were</token>
                    </marker>
                    <token postag="PRP"></token>
                </pattern>
                <message>Did you mean <suggestion>where</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="where">The troops had been taken to southern Libya from <marker>were</marker> they were rescued on Monday.</example>
                <example correction="where">Go back to <marker>were</marker> you came from.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/And_Then_There_Were_None -->
                    <token>And</token>
                    <token>Then</token>
                    <token>There</token>
                    <token>Were</token>
                    <token>None</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">who|which|that</token>
                    <token>were</token>
                </antipattern>
                <pattern>
                    <token>were
                        <exception scope="previous">there</exception><!-- Premium #1795 -->
                    </token>
                    <token postag="NN.*" postag_regexp="yes">
                        <exception postag="JJ.?" postag_regexp="yes"/>
                        <exception regexp="yes">given|known|in</exception>
                    </token>
                    <token spacebefore="yes" inflected="yes">be
                        <exception>being</exception>
                        <exception postag="POS"/>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>where \2 \3</suggestion>?</message>
                <example correction="where people are">I guess you are getting a lot of mails <marker>were people are</marker> asking the same.</example>
                <example>Those who were present were glad at the news.</example>
                <example><marker>And Then There Were None</marker> is Christie's best-selling novel with 100 million...</example>
                <example>The country they were in was nice.</example>
                <example>The question we were given was:</example>
                <example>Once he moved to the city, there were times were he felt quite lonely.</example><!-- Premium #1795: this sentence is incorrect, but this rule matches a different part -->
                <example>They were Peter's of course.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>from</token>
                    <token>where</token>
                </antipattern>
                <pattern>
                    <token skip="-1" regexp="yes">(which|what|who|whose|how|when|where)(ever)?</token>
                    <marker>
                        <token>where</token>
                    </marker>
                    <token regexp="yes">you|they|we</token>
                    <token postag="RB.*" postag_regexp="yes" min="0">
                        <exception regexp="yes">before|after|live|fucking</exception>
                    </token>
                    <token postag="VBG" skip="10" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion>were</suggestion> (= past tense of "are")?</message>
                <example correction="were">Which browser <marker>where</marker> you using?</example>
                <example>Different error: Where you training nowadays?</example>
            </rule>
            <rule>
                <antipattern>
                    <token>where</token>
                    <token regexp="yes">they|I|you|we</token>
                    <token postag="RB" min="0" />
                    <token>live</token>
                    <token>?</token>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" />
                    <token min="0" regexp="yes">but|and</token>
                    <marker>
                        <token>where</token>
                        <token regexp="yes">you|they|we|I</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ|VBN" postag_regexp="yes" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)h" regexp_replace="" /> \4</suggestion>?</message>
                <example correction="Were you"><marker>Where you</marker> really hurt?</example>
                <example>Where they live? I don't know.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token min="0" regexp="yes">but|and</token>
                    <marker>
                        <token>where</token>
                        <token regexp="yes">you|they|we|I</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token postag="JJ|VBN" postag_regexp="yes" />
                    <token regexp="yes">about|with(out)?|for|in|at|on|from</token>
                    <token chunk_re="B-NP-.*" min="0" />
                    <token chunk_re="E-NP-.*" />
                    <token>?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="(?i)h" regexp_replace="" /> \4</suggestion>?</message>
                <example correction="Were you"><marker>Where you</marker> happy with that?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <marker>
                        <token>were</token>
                    </marker>
                    <token postag="RB|JJ" postag_regexp="yes" min="0" />
                    <token regexp="yes" inflected="yes">can|do|be|will|should|must|may|have</token>
                    <token postag="PRP|NNPS?" postag_regexp="yes" />
                    <token postag="RB.*" postag_regexp="yes" min="0" />
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>where</suggestion>?</message>
                <example correction="Where"><marker>Were</marker> else can I find this?</example>
            </rule>
            <rule>
                <pattern>
                    <token>in</token>
                    <token regexp="yes">an?|this|our</token>
                    <token chunk_re="I-NP.*" min="0" />
                    <token regexp="yes">time|century|age|world</token>
                    <marker>
                        <token>were</token>
                    </marker>
                    <token postag="NN|NN:UN?|JJ.*" postag_regexp="yes" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*|PRP" postag_regexp="yes" />
                    <token postag="RB" min="0" />
                    <token postag="VB.*|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>where</suggestion>?</message>
                <example correction="where">We live in a world <marker>were</marker> written communication is important.</example>
                <example correction="where">As we are living in an age <marker>were</marker> intellectual capital is so valuable, it is important for every young person to obtain the very best possible education they can.</example>
            </rule>
            <rule>
                <antipattern><!-- ... where being first to locate is ... -->
                    <token>being</token>
                    <token postag="RB" />
                </antipattern>
                <antipattern><!-- (4) Where lighting in the area is controlled by automatic means -->
                    <token postag="SENT_START|PCT" postag_regexp="yes" />
                    <token skip="3">(</token>
                    <token>)</token>
                    <token>where</token>
                </antipattern>
                <antipattern>
                    <token>where</token>
                    <token postag="VBG" skip="10" />
                    <token regexp="yes">is|was</token>
                </antipattern>
                <antipattern>
                    <token chunk="E-NP-singular" postag="NN|NN:UN?|NNP" postag_regexp="yes" />
                    <token>where</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        .+
                        <exception postag="PCT" />
                    </token>
                    <marker>
                        <token chunk_re=".-VP">where</token>
                    </marker>
                    <token postag="VBG" chunk_re=".-VP" />
                    <token postag="RB" min="0" />
                    <token postag="IN|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>were</suggestion>?</message>
                <example correction="were">The "runners" <marker>where</marker> running at the same time.</example>
                <example>I have had it in the past where going from an older Pi to a newer Pi required I reinstall my OS.</example>
                <example>Supporters of the ban state that boxing is the only sport where hurting the other athlete is the goal.</example>
            </rule>
            <rule>
                <antipattern>
                    <token inflected="yes">be</token>
                    <token inflected="yes" min="0">not</token>
                    <token postag="PRP_S.*" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token postag="VB.*|IN" postag_regexp="yes">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token>you</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">&nouns_with_i;</token>
                    <token>I</token>
                </antipattern>
                <antipattern>
                    <token chunk_re=".-VP">
                        <exception inflected="yes" regexp="yes">think|hope</exception>
                    </token>
                    <token>you</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">they|I|we|s?he|you</token>
                    <marker>
                        <token>where</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>were</suggestion> (a form of the verb 'to be')?</message>
                <short>Possible word confusion</short>
                <example correction="were">If I <marker>where</marker> a carpenter, would you marry me anyway?</example>
                <example>Aren't they where they should be?</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALTER_ALTAR" name="alter (altar)">
            <rule>
                <pattern>
                    <token>altar</token>
                    <token regexp="yes">egos?</token>
                </pattern>
                <message>Did you mean <suggestion>alter \2</suggestion> (= different personality or trusted friend)?</message>
                <url>https://www.merriam-webster.com/dictionary/alter%20ego</url>
                <example correction="alter ego">His <marker>altar ego</marker> was being Batman.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>alter</token>
                    </marker>
                    <token regexp="yes">(boy|girl|server|wine)s?</token>
                </pattern>
                <message>Did you mean <suggestion>altar</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="altar">He was an <marker>alter</marker> boy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">at|to|worship(s|ped)?|around</token>
                    <token regexp="yes">the|an?</token>
                    <marker>
                        <token>alter</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>altar</suggestion> (= table used as a center of worship) instead of the verb 'alter' (= modify)?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="altar">He was at the <marker>alter</marker>.</example>
                <example correction="altar">He danced around the <marker>alter</marker>.</example>
                <example correction="altar">O Come to the <marker>alter</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(significant|radical|fundamental|dramatical|drastical|substantial|complete|permanent|subt|slight)ly</token>
                    <marker>
                        <token>altar</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>alter</suggestion> (=change)?</message>
                <short>Possible typo</short>
                <example correction="alter"> Forty-seven percent of executives said they were concerned that retiring Boomers will significantly <marker>altar</marker> the workforce in the next decade.</example>
                <example>He will radically alter his work.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ADVERSE_AVERSE" name="adverse (averse)">
            <rule>
                <pattern>
                    <marker><token>adverse</token></marker>
                    <token>to</token>
                    <token postag="VBG" />
                </pattern>
                <message>Did you mean <suggestion>averse</suggestion> (=unwilling) instead of 'adverse' (=hostile)?</message>
                <example correction="averse">Are you <marker>adverse</marker> to eating horse meat?</example>
            </rule>
        </rulegroup>
        <rulegroup id="CONFUSION_OF_DECENT_DESCENT" name="decent (descent)">
            <rule>
                <pattern>
                    <token regexp="yes">Aboriginal|African|Albanian|American|Armenian|Asian|British|Canadian|Caribbean|Chinese|Davidic|Dutch|English|European|French|Irish|Indian|Italian|Japanese|Jewish|German|Greek|Mexican|Polish|Scottish|Spanish|common|steep|direct|high|gradual|noble</token>
                    <marker>
                        <token>decent</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>descent</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
                <short>Possible typo</short>
                <example correction="descent">He is of Asian <marker>decent</marker>.</example>
                <example>He is of Asian descent</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">with|provide|few|have|really|thoroughly|halfway|get|quite|fairly|reasonably|being|still|look|relatively|some|otherwise|most|be|perfectly|offer|way|create|how|many|up|enough|pretty|somewhat|mad|just|also|fundamentally<exception>'s</exception></token>
                    <marker>
                        <token>descent</token>
                    </marker>
                    <token postag="NN.*" postag_regexp="yes"/>
                </pattern>
                <message>Did you mean <suggestion>decent</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="decent">Looking for a hotel with <marker>descent</marker> rooms.</example>
                <example>The LM Snoopy's descent stage was left in orbit.</example>
            </rule>
        </rulegroup>
        <rule id="DIFFUSE_TENSIONS" name="diffuse (defuse) tensions">
            <pattern>
                <marker>
                    <token inflected="yes">diffuse</token>
                </marker>
                <token min="0">all</token>
                <token min="0">the</token>
                <token inflected="yes" regexp="yes">tension|situation|arguing</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag="VB.*">defuse</match></suggestion>, as in removing the fuse from a bomb? "Diffuse" as a verb means to spread out.</message>
            <url>https://www.merriam-webster.com/words-at-play/diffuse-vs-defuse</url>
            <example correction="defuse">They gathered at her police precinct to thank officers for their work and to <marker>diffuse</marker> tensions.</example>
        </rule>
        <rule id="DEFUSE_BOMB" name="diffuse (defuse) bomb">
            <pattern>
                <marker>
                    <token skip="1" inflected="yes">diffuse</token>
                </marker>
                <token regexp="yes">bombs?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag="VB.*">defuse</match></suggestion> (=removing the fuse from a bomb)? "Diffuse" as a verb means to spread out.</message>
            <url>https://www.merriam-webster.com/words-at-play/diffuse-vs-defuse</url>
            <example correction="defuse">How long did it take you to <marker>diffuse</marker> the bomb?</example>
            <example correction="defused">He <marker>diffused</marker> several bombs today.</example>
        </rule>
        <rule id="COUNSEL_GENERAL" name="counsel (consul) general">
            <pattern case_sensitive="yes">
                <token>counsel</token>
                <token regexp="yes">generals?</token>
            </pattern>
            <message>Did you mean <suggestion>consul \2</suggestion>?</message>
            <url>https://www.merriam-webster.com/words-at-play/diffuse-vs-defuse</url>
            <example correction="consul general">Archer Blood, the <marker>counsel general</marker> in Dacca.</example>
            <example>The Counsel General for Wales is the Welsh Government’s Law Officer.</example>
        </rule>
        <rule id="WILDLY_ACCEPTED" name="wildly (widely) accepted">
            <pattern>
                <marker>
                    <token>wildly</token>
                </marker>
                <token>accepted</token>
            </pattern>
            <message>Did you mean <suggestion>widely</suggestion>?</message>
            <example correction="widely">This idea is now <marker>wildly</marker> accepted.</example>
        </rule>
        <rule id="THROUGH_THOROUGH" name="a through(thorough) discussion etc.">
            <antipattern>
                <token>through</token>
                <token regexp="yes">street|ticket|road|lane|line|hole|ball|pass|route</token>
            </antipattern>
            <pattern>
                <token regexp="yes">an?</token>
                <token regexp="yes" min="0">more|less|very</token>
                <marker>
                    <token>through</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes">
                    <exception postag="IN|RB|MD|DT|PRP.*" postag_regexp="yes" />
                </token>
            </pattern>
            <message>Did you mean <suggestion>thorough</suggestion> (accurate, exhaustive)?</message>
            <example correction="thorough">The manual does not have a <marker>through</marker> discussion of the topic.</example>
        </rule>
        <rule id="WAS_WANDERING_IF" name="I was wandering (wondering) if">
            <pattern>
                <token regexp="yes">am|was|is|been</token>
                <marker>
                    <token>wandering</token>
                </marker>
                <token regexp="yes">if|whether</token>
            </pattern>
            <message>Did you mean <suggestion>wondering</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="wondering">I was <marker>wandering</marker> if someone could help me.</example>
        </rule>
        <rule id="KNEW_NEW" name="knew (new)">
            <pattern>
                <token postag="JJ">
                    <exception regexp="yes">only|ever|already|or|then|likely|soon|now|one|else|few|much|just</exception>
                    <exception postag_regexp="yes" postag="NN.*"/>
                </token>
                <marker>
                    <token>knew</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>new</suggestion>?</message>
            <short>Possible typo</short>
            <example>The artistic community <marker>knew</marker> his name.</example>
            <example>If I only <marker>knew</marker> how.</example>
            <example correction="new">This is very <marker>knew</marker> to me.</example>
            <example>They just knew it was fine.</example>
        </rule>
        <rulegroup id="PRICE_PRIZE" name="price (prize)">
            <rule>
                <pattern>
                    <token inflected="yes">win</token>
                    <token regexp="yes">the|a</token>
                    <marker>
                        <token regexp="yes">pri[sc]es?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" regexp_match="pri[sc]" regexp_replace="priz"/></suggestion> (= reward)?</message>
                <short>Possible typo</short>
                <example correction="prize">She won a <marker>price</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>consolation</token>
                    <marker>
                        <token regexp="yes">pri[sc]es?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="pri[sc]" regexp_replace="priz"/></suggestion> (= reward)?</message>
                <short>Possible typo</short>
                <example correction="prize">That is the consolation <marker>price</marker>.</example>
                <example correction="prizes">These are the consolation <marker>prices</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Nobel</token>
                    <token regexp="yes">Prizes?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">Nobel|Noble</token>
                    <token regexp="yes">pri[scz]es?</token>
                </pattern>
                <message>Did you mean <suggestion>Nobel <match no="2" regexp_match="(?i)pri[scz]e" regexp_replace="Prize" case_conversion="startupper" /></suggestion> (annual award established by Alfred Nobel)?</message>
                <url>https://en.wikipedia.org/wiki/Nobel_Prize</url>
                <short>Possible typo</short>
                <example correction="Nobel Prize">That is the <marker>Nobel Price</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Nobel</token>
                    <token>Peace</token>
                    <token regexp="yes">Prizes?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">Nobel|Noble</token>
                    <token regexp="yes">Peace|Piece</token>
                    <token regexp="yes">pri[scz]es?</token>
                </pattern>
                <message>Did you mean <suggestion>Nobel Peace <match no="3" regexp_match="(?i)pri[scz]e" regexp_replace="Prize" case_conversion="startupper" /></suggestion> (annual award established by Alfred Nobel)?</message>
                <url>https://en.wikipedia.org/wiki/Nobel_Peace_Prize</url>
                <short>Possible typo</short>
                <example correction="Nobel Peace Prize">He won the <marker>Noble Peace Price</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>Nobel</token>
                    <token regexp="yes">Committees?</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">Noble|Nobel</token>
                    <token regexp="yes">Comm?itt?ee?s?</token>
                </pattern>
                <message>Did you mean <suggestion>Nobel <match no="2" regexp_match="(?i)Comm?itt?ee?" regexp_replace="Committee" /></suggestion> (= group that selects the Nobel Prize laureates)?</message>
                <url>https://en.wikipedia.org/wiki/Nobel_Committee</url>
                <short>Possible typo</short>
                <example correction="Nobel Committee">A <marker>Noble committee</marker> is a working body responsible for most of the work involved in selecting Nobel Prize laureates.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PRIZE_PRICE" name="prize (price)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">pri[sz]e</token>
                    </marker>
                    <token regexp="yes">spiral|stability</token>
                </pattern>
                <message>Did you mean <suggestion>price</suggestion> (cost)?</message>
                <short>Possible typo</short>
                <example correction="price">This is called <marker>prize</marker> spiral.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LOOK_WATCH" name="look (watch)">
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <marker>
                        <token skip="2">looking<exception scope="next">for</exception></token>
                    </marker>
                    <token regexp="yes">TV|television</token>
                </pattern>
                <message>Did you mean <suggestion>watching</suggestion>?</message>
                <example correction="watching">I am <marker>looking</marker> TV.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="2">looks<exception scope="next">for</exception></token>
                    </marker>
                    <token regexp="yes">TV|television</token>
                </pattern>
                <message>Did you mean <suggestion>watches</suggestion>?</message>
                <example correction="watches">She <marker>looks</marker> TV every morning.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="2">look<exception scope="next">for</exception></token>
                    </marker>
                    <token regexp="yes">TV|television</token>
                </pattern>
                <message>Did you mean <suggestion>watch</suggestion>?</message>
                <example correction="watch">I <marker>look</marker> TV every morning.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token skip="2">looked<exception scope="next">for</exception></token>
                    </marker>
                    <token regexp="yes">TV|television</token>
                </pattern>
                <message>Did you mean <suggestion>watched</suggestion>?</message>
                <example correction="watched">I <marker>looked</marker> TV in the morning.</example>
                <example correction="watched">She <marker>looked</marker> poker on television.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SITE_SIDE" name="site (side)">
            <rule>
                <pattern>
                    <token>the</token>
                    <token regexp="yes">positive|negative</token>
                    <marker>
                        <token>site</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>side</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="side">On the positive <marker>site</marker>, there are some improvements.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SIDE_SITE" name="side (site)">
            <rule>
                <pattern>
                    <token regexp="yes">abandoned|building|construction</token>
                    <marker>
                        <token>side</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>site</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="site">There is a construction <marker>side</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="BELIEVE_BELIEF" name="believe (belief)">
            <antipattern>
                <token>each</token>
                <token>believes</token>
                <token regexp="yes">that|it(self)?</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*" postag_regexp="yes" />
                <token regexp="yes">you|him|her|me|us|them</token>
                <token regexp="yes">this|that</token>
                <token>believes</token>
            </antipattern>
            <pattern>
                <token postag="JJ|PRP\$|W?DT" postag_regexp="yes">
                    <exception postag="JJ|PRP\$|W?DT" postag_regexp="yes" negate_pos="yes"/>
                    <exception regexp="yes">former|th[eo]se|some|many|all|both|ye|else|half</exception>
                </token>
                <marker>
                    <token regexp="yes">[rb]elieves?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="2" regexp_match="ieve" regexp_replace="ief"/></suggestion> (noun) instead of <match no="2"/> (verb)?</message>
            <short>Possible typo</short>
            <example>We <marker>believe</marker> that this is wrong.</example>
            <example>an atheist <marker>believe</marker></example>
            <example correction="belief">It is my strong <marker>believe</marker> that something has to be changed.</example>
            <example correction="relief">What a <marker>relieve</marker>!</example>
            <example correction="belief">It is the <marker>believe</marker> of the people.</example>
            <example correction="beliefs">Are there different <marker>believes</marker>?</example>
            <example>Some <marker>believe</marker> the public should have the freedom.</example>
            <example>Mr. Kennedy, Mr. White believes, had mastered politics on so many different levels that no other American could match him.</example>
            <example>We all believe that it's true.</example>
            <example>My sister believes that I'll end up with someone really generic.</example>
            <example>Ed Rendell is the type of Corporate Hack that supports Biden because they both believe in the Bribery System of Governance.</example>
            <example>Nayland Smith and Fu Manchu share a grudging respect for one another, as each believes that a man must keep his word, even to an enemy.</example>
            <example>Nobody else believes Tom is still alive.</example>
            <example>Well, the person who sent you this believes that we all can make a difference.</example>
        </rule>
        <rule id="BELIEF_BELIEVE" name="belief (believe)">
            <antipattern>
                <token regexp="yes">[dw]on</token>
                <token postag="RB" min="0" />
                <token regexp="yes">[rb]eliefs</token>
            </antipattern>
            <antipattern>
                <token postag="VB.*|IN" postag_regexp="yes" />
                <token regexp="yes">it|you</token>
                <token postag="RB" min="0" />
                <token regexp="yes">[rb]eliefs?</token>
            </antipattern>
            <antipattern><!--  Baha'i beliefs -->
                <token>Baha</token>
                <token regexp="yes">&apostrophe;</token>
                <token>i</token>
                <token chunk="E-NP-plural">beliefs</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">May</token>
                <token regexp="yes">[rb]elief</token>
            </antipattern>
            <pattern>
                <token regexp="yes">s?he|it|we|they|I|you|[cw]ould|should|can|ca|cannot|will|could|did|does|[dw]o|might|must|may</token>
                <token postag="RB" min="0" />
                <marker>
                    <token regexp="yes">[rb]eliefs?</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion><match no="3" regexp_match="(?i)ief" regexp_replace="ieve"/></suggestion> (verb) instead of <match no="3"/> (noun)?</message>
            <short>Possible typo</short>
            <example>But Baptist beliefs can vary.</example>
            <example correction="believe">We <marker>belief</marker> that this is wrong.</example>
            <example correction="believes">He <marker>beliefs</marker> that this is wrong.</example>
            <example>Joan of Arc refused to renounce her belief that the voice she heard was from God.</example>
            <example>One belief labelled a heresy by the church authorities — Pelagianism — was originated by a British monk teaching in Rome: Pelagius lived 354 to 420/440.</example>
            <example>In Jewish, Christian, Islamic, and Baha'i beliefs, acts of...</example>
            <example>Wishing you relief, release, breath and relax and great feeling of not having head aches.</example>
        </rule>
        <rulegroup id="COARSE_COURSE" name="coarse (course)">
            <url>https://grammarist.com/spelling/coarse-course/</url>
            <rule>
                <pattern>
                    <marker><token>coarse</token></marker>
                    <token regexp="yes">of|after</token>
                </pattern>
                <message>Did you mean <suggestion>course</suggestion>?</message>
                <example correction="course">A <marker>coarse</marker> after action</example>
                <example correction="course">To <marker>coarse</marker> after hares</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">southerly|golf|science|training|race|collision|crash|obstacle|math(ematic)?s|(econom|phys)ics|management|diploma|college|university|engineering|orientation|(post|under)?graduate|language|safety|(writ|ski)ing|home|bike|development|aid|summer|mountain</token>
                    <marker><token>coarse</token></marker>
                </pattern>
                <message>Did you mean <suggestion>course</suggestion>?</message>
                <example correction="course">In the syllabus for an Applied Mathematics <marker>coarse</marker>, students are told to write their problem sets individually.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PROVE_PROOF" name="prove (proof)">
            <rule>
                <pattern>
                    <token>prove</token>
                    <token>of</token>
                    <token>concept</token>
                </pattern>
                <message>Did you mean <suggestion>proof of concept</suggestion>?</message>
                <example correction="proof of concept">It's just a <marker>prove of concept</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="JJ|PRP\$" postag_regexp="yes">
                        <exception postag="JJ|PRP\$(_.*)?" postag_regexp="yes" negate_pos="yes"/>
                        <exception regexp="yes">former|poor</exception>
                    </token>
                    <marker>
                        <token regexp="yes">proves?</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="ove" regexp_replace="oof"/></suggestion> (noun) instead of <match no="2"/> (verb)?</message>
                <short>Possible typo</short>
                <example correction="proof">Their <marker>prove</marker> is wrong.</example>
                <!--<example correction="proof">The <marker>prove</marker> is wrong.</example> TODO-->
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" skip="-1">all|that|if|whether|once|when|what|who|where</token>
                    <token>prove</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">need|want</token>
                    <token regexp="yes" min="0">an?|the</token>
                    <marker>
                        <token>prove</token>
                    </marker>
                    <token regexp="yes">that|of|for</token>
                </pattern>
                <message>Did you mean the noun <suggestion>proof</suggestion>?</message>
                <example correction="proof">I want <marker>prove</marker> of its existence.</example>
            </rule>
        </rulegroup>
        <rulegroup id="IT_SEAMS" name="it seams (seems)">
            <rule>
                <pattern>
                    <marker>
                        <token>it</token>
                        <token>'s</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token>seems</token>
                </pattern>
                <message>Did you mean <suggestion>it</suggestion>?</message>
                <example correction="it">Being vegan easier than <marker>it's</marker> seems, experts say.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">it|s?he</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>seams</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>seems</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="seems">Being vegan easier than it <marker>seams</marker>, experts say.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>seams</token>
                    <token regexp="yes">are|were|have</token>
                </antipattern>
                <antipattern>
                    <token>seams</token>
                    <token postag="RB" min="0" />
                    <token postag="MD" />
                </antipattern>
                <antipattern>
                    <token>seams</token>
                    <token postag="RB" min="0" />
                    <token postag="VBP" chunk_re=".-VP" />
                </antipattern>
                <pattern>
                    <token regexp="yes">this|that</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>seams</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>seems</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="seems">This <marker>seams</marker> wrong.</example>
            </rule>
        </rulegroup>
        <rule id="EASE_OFF_USE" name="ease off (of) use">
            <pattern>
                <token>ease</token>
                <marker>
                    <token>off</token>
                </marker>
                <token>use</token>
            </pattern>
            <message>Did you mean <suggestion>of</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="of">Increase ease <marker>off</marker> use.</example>
        </rule>
        <rule id="EASE_EASY" name="ease (easy)">
            <pattern>
                <token><exception>with</exception></token>
                <token regexp="yes">quite|pretty</token>
                <marker>
                    <token>ease</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>easy</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="easy">This looks pretty <marker>ease</marker> to me.</example>
        </rule>
        <rule id="ADMIN_ADMIT" name="admin (admit)">
            <pattern>
                <token>must</token>
                <marker>
                    <token>admin</token>
                </marker>
                <token>that</token>
            </pattern>
            <message>Did you mean <suggestion>admit</suggestion> (=confess)?</message>
            <short>Possible typo</short>
            <example correction="admit">I must <marker>admin</marker> that my code is not perfect.</example>
        </rule>
        <rulegroup id="NOT_AD_ALL" name="not ad (at) all">
            <rule>
                <pattern>
                    <token>not</token>
                    <marker>
                        <token>ad</token>
                    </marker>
                    <token>all</token>
                </pattern>
                <message>Did you mean <suggestion>at</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="at">No, not <marker>ad</marker> all.</example>
            </rule>
            <rule>
                <pattern>
                    <token>not</token>
                    <token postag="JJ"/>
                    <marker>
                        <token>ad</token>
                    </marker>
                    <token>all</token>
                </pattern>
                <message>Did you mean <suggestion>at</suggestion>?</message>
                <short>Possible typo</short>
                <example correction="at">This is not true <marker>ad</marker> all.</example>
            </rule>
        </rulegroup>
        <rule id="TAKING_CASE_OF_IT" name="take case (care) of it">
            <pattern>
                <!-- needs to be this specific to avoid false alarm on e.g. "Michigan court won't take case of boy's broken wrist" -->
                <token inflected="yes">take</token>
                <marker>
                    <token>case</token>
                </marker>
                <token>of</token>
                <token regexp="yes">it|the|an?</token>
            </pattern>
            <message>Did you mean <suggestion>care</suggestion>?</message>
            <short>Possible typo</short>
            <example>We're taking <marker>care</marker> of it.</example>
            <example correction="care">We need to take <marker>case</marker> of it.</example>
            <example correction="care">We took <marker>case</marker> of it.</example>
        </rule>
        <rule id="I_WANDER_IF" name="I wander (wonder) if">
            <pattern>
                <token>I</token>
                <marker>
                    <token>wander</token>
                </marker>
                <token regexp="yes">if|whether</token>
            </pattern>
            <message>Did you mean <suggestion>wonder</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="wonder">I <marker>wander</marker> if I'm studying enough?</example>
        </rule>
        <rule id="WORTH_THAN" name="worth (worse) than">
            <pattern>
                <token negate="yes" regexp="yes">more|less</token>
                <marker>
                    <token>worth</token>
                </marker>
                <token>than</token>
            </pattern>
            <message>Did you mean <suggestion>worse</suggestion>, the comparative of 'bad'?</message>
            <short>Possible typo</short>
            <example>Zynga estimated to be more <marker>worth</marker> than EA.</example>
            <example correction="worse">Is cloud hosting <marker>worth</marker> than hostgator?</example>
        </rule>
        <rule id="NOT_JET" name="not jet (yet)">
            <pattern>
                <token>not</token>
                <marker>
                    <token>jet</token>
                </marker>
                <token postag="VBN"/>
            </pattern>
            <message>Did you mean <suggestion>yet</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="yet">That is not <marker>jet</marker> decided.</example>
        </rule>
        <rule id="YOUR_NN" name="your (you're)">
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token postag="JJ"/>
                <token postag="VBG"/>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token regexp="yes">something|nuts|fools|wimps|nothing|geniuses|on|under|already|just|now|welcome</token>
            </antipattern>
            <antipattern><!-- Maybe you're available next week -->
                <token>you</token>
                <token>'re</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token regexp="yes">next|upcoming</token>
                <token regexp="yes">hour|day|week|month|year|&weekdays;|&months;|easter|christmas|weekend</token>
            </antipattern>
            <antipattern><!-- Let me know when you're unavailable tomorrow. -->
                <token>you</token>
                <token regexp="yes">&apostrophe;</token>
                <token>re</token>
                <token postag="JJ.*" postag_regexp="yes" />
                <token regexp="yes">tomorrow|yesterday|today</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>sort</token>
                <token>of</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>way</token>
                <token regexp="yes">off|behind|too|ahead|out|before|after</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token regexp="yes">way|far</token>
                <token postag="JJR"/>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>home</token>
                <token regexp="yes">early|late|soon</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token/>
                <token regexp="yes">seconds|minutes|hours|days|years|decades|centuries</token>
                <token regexp="yes">early|late</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>most</token>
                <token postag="RB" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token regexp="yes">(second|minute|hour|week|day|month|year|moment|decade)s?</token>
                <token min="0">away</token>
                <token>from</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>most</token>
                <token>welcome</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token regexp="yes">(every|any)thing</token>
                <token regexp="yes">to|for|I|s?he|you|we|they|it|that|what|which</token>
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>anything</token>
                <token>like</token>
                <token postag="PRP\$?|NN.*|DT" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>you</token>
                <token>'re</token>
                <token>friends</token>
                <token>with</token>
            </antipattern>
            <antipattern>
                <token>super</token>
                <token>duper</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">if|once|when</token>
                <token>you</token>
                <token>'re</token>
                <token postag="JJ" />
                <token>wait</token>
                <token postag="IN" />
            </antipattern>
            <pattern>
                <marker>
                    <token inflected="no">you</token>
                    <token>'re</token>
                </marker>
                <token postag="JJ" min="0" max="2">
                    <exception postag="IN" /><!-- you're big on TV -->
                </token>
                <token postag="NN(:UN?)?|NNP?S" postag_regexp="yes">
                    <exception postag="JJ.*|CC|RB|PRP.*|MD" postag_regexp="yes" />
                    <exception regexp="yes">one|(some|every|any)(body|one)|still|right|in|kind|well|given|known|his|then|out|get|(in|out)doors|re|auto|today|yesterday|tomorrow</exception>
                    <exception case_sensitive="yes">german</exception><!-- different error -->
                </token>
                <token>
                    <exception regexp="yes">enough|\p{P}</exception>
                </token>
            </pattern>
            <message>Did you mean <suggestion>your</suggestion>?</message>
            <short>Possible typo</short>
            <example><marker>You're</marker> still working on it?</example>
            <example><marker>You're</marker> right!</example>
            <example>Let me know what you're up to.</example>
            <example>If you're drunk don't take the wheel of a car.</example>
            <example>You're old enough to know better.</example>
            <example>You're forever making mistakes.</example>
            <example>You're in perky form, aren't you?</example>
            <example>You're man enough to let her play, she's experimental and confident enough to do it.</example>
            <example correction="Your"><marker>You're</marker> optimization is a good example.</example>
            <example correction="Your"><marker>You're</marker> new optimization is a good example.</example>
            <example correction="Your"><marker>You're</marker> clever new optimization is a good example.</example>
            <example correction="your">The online group will be sending out a packet that includes this list and all the information <marker>you're</marker> group will need to get started.</example>
            <example>You're Arthur Willis.</example>
            <example>You're kind of amazed.</example>
            <example>You're in better shape than I am.</example>
            <example>Hope you're well.</example>
            <example>You're just making noise.</example>
            <example>When you're ready get in the car.</example>
            <example>Maybe you're someone I know.</example>
            <example>Make sure you're comfy while I light up the candles.</example>
            <example>The people you're friends with.</example>
            <example>If you're cheeky once more, I won't read you a story tonight.</example>
            <example>It depends whether you're known as ...</example>
            <example>Also, if you're sick then please stay at home.</example>
            <example>You're home early.</example>
            <example>If you're queasy wait for the answer.</example>
            <example>You're geniuses.</example>
            <example>Because you're closer to him.</example>
            <example>You’re already hurt.</example>
            <example>You're on schedule.</example>
            <example>You're just idiots.</example>
            <example>Hope you're well out there.</example>
            <example>You're ten minutes late.</example>
            <example>You're way younger than me.</example>
            <example>You're way out of my league.</example>
            <example>You're way too pessimistic.</example>
            <example>No, you're on time.</example>
            <example>You're now part of my life.</example>
            <example>You're sort of rude.</example>
            <example>You're most welcome to do it.</example>
            <example>If you're super duper excited...</example>
            <example>Just let me know when you're available next week.</example>
            <example>Unless you're outdoors in the midst of a cold snap, chances are you can't see your breath.</example>
            <example>Let me know when you're unavailable tomorrow.</example>
            <example>You're big on TV!</example>
            <example>... when you're most likely going to do it.</example>
            <example>Incorrect grammar: You're far better then that.</example>
            <example>Because you're german and that matters.</example>
            <example>You're everything to me.</example>
            <example>You're everything I need.</example>
            <example>If you're anything like me, You bite your nails, And laugh when you're nervous.</example>
            <example>And if you're anything to judge by, they're going to get mighty dirty indeed on this investigation.</example>
            <example>You're ten times heavier than I am.</example><!-- #3119 -->
            <example>Please let me know when you're free tomorrow AM, so we can discuss this with her.</example>
        </rule>
        <rule id="IN_YOU_RE_NN" name="you're (your)">
            <pattern>
                <token postag="IN">
                    <exception regexp="yes">&subordinating_conjunctions;</exception>
                    </token>
                <marker>
                    <token inflected="no">you</token>
                    <token>'re</token>
                </marker>
                <token postag="NN.*" postag_regexp="yes"></token>
                <token postag="SENT_END"/>
            </pattern>
            <message>Did you mean <suggestion>your</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="your">There are a number of things you can do to reduce the risk to <marker>you’re</marker> pet.</example>
            <example>You should read a lot of books while you're young.</example>
            <example>... so playing Ismail isn't advisable unless you're desperate.</example>
        </rule>
        <rulegroup id="DEER_DEAR" name="deer/dear">
            <rule>
                <antipattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <token>Deer</token>
                    <token>,</token>
                    <token>which</token>
                </antipattern>
                <pattern case_sensitive="yes">
                    <token postag="SENT_START"/>
                    <marker>
                        <token skip="2">Deer</token>
                    </marker>
                    <token regexp="yes">[.,:!]</token>
                </pattern>
                <message>Are you writing a letter? Did you mean <suggestion>Dear</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="Dear"><marker>Deer</marker> Anne,...</example>
                <example correction="Dear"><marker>Deer</marker> Dr. Snyder:</example>
            </rule>
        </rulegroup>
        <rulegroup id="ACCEPT_EXCEPT" name="accept/except">
            <rule>
                <pattern>
                    <token>please</token>
                    <marker>
                        <token>except</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>accept</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="accept">Please <marker>except</marker> my apologies.</example>
            </rule>
            <rule>
                <pattern>
                    <token>(</token>
                    <marker>
                        <token>accept</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>except</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="except">Police found the culprits (<marker>accept</marker> one).</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="VB[ND]" postag_regexp="yes"><exception regexp="yes">did|'d</exception></token>
                    <marker>
                        <token>accept</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>except</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="except">This is done <marker>accept</marker> for that fact that we still have JBossws 2.0.0 binaries.</example>
                <example>This is done except for the fact that we still have JBossws 2.0.0 binaries.</example>
                <example>I'd accept that offer.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AFFECT_EFFECT" name="affect vs effect">
            <url>https://grammar.yourdictionary.com/style-and-usage/affect-effect-grammar.html</url>
            <short>Commonly confused word</short>
            <rule>
                <antipattern>
                    <token skip="1" postag="VB[PZDNG]|MD" postag_regexp="yes"><exception scope="next">no</exception></token>
                    <token min="0" postag="RB"/>
                    <token>affect</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token>affect</token>
                    </marker>
                    <token postag='RP'>
                        <exception postag="DT"/>
                        <exception>just</exception>
                    </token>
                </pattern>
                <message>&affect_effect;</message>
                <example correction="effect">The primary <marker>affect</marker> on property values is…</example>
                <example correction="effect">This <marker>affect</marker> under influence of drugs poses a problem.</example>
                <example>The primary <marker>effect</marker> on property values is…</example>
                <example>So, how does anything about Republicans affect that?</example><!-- #1858 -->
                <example>New federal price caps would affect just half of the Western electricity market.</example>
                <example>Errors out of web transactions don’t affect on errors rate.</example>
                <example>This offer may affect on his private time and we do not insist on it.</example>
                <example>This raise wouldn't affect on our actual income.</example>
            </rule>
            <rule> <!-- to no affect, to the affect -->
                <pattern>
                    <token>to</token>
                    <token regexp="yes">no|the</token>
                    <marker>
                        <token>affect</token>
                    </marker>
                </pattern>
                <message>&affect_effect;</message>
                <example correction="effect">We tried appeasing the rain gods, but to no <marker>affect</marker>.</example>
            </rule>
            <rule> <!-- an affect on -->
                <pattern>
                    <token>an</token>
                    <marker>
                        <token>affect</token>
                    </marker>
                    <token>on</token>
                </pattern>
                <message>Did you mean <suggestion>effect</suggestion> (=influence)?</message>
                <example correction="effect">Regional factors have an <marker>affect</marker> on hotel guest satisfaction.</example>
            </rule>
            <rule> <!-- an really negative affect on -->
                <pattern>
                    <token regexp="yes">an?|the</token>
                    <token min="0" regexp="yes">really|very|quite|pretty</token>
                    <token postag="JJ.*" postag_regexp="yes" />
                    <marker>
                        <token>affect</token>
                    </marker>
                    <token>on</token>
                </pattern>
                <message>Did you mean <suggestion>effect</suggestion> (=influence)?</message>
                <example correction="effect">Regional factors have a negative <marker>affect</marker> on hotel guest satisfaction.</example>
            </rule>
            <rule> <!-- in affect -->
                <pattern>
                    <token>in</token>
                    <token>affect</token>
                </pattern>
                <message>Did you mean <suggestion>in effect</suggestion> (in substance, virtually)?</message>
                <example correction="in effect">Parking Fees are <marker>in affect</marker> in this park.</example>
                <example>Parking Fees are in effect in this park</example>
            </rule>
            <rule> <!-- take affect, took affect, into affect -->
                <pattern>
                    <token regexp="yes">took|take|into</token>
                    <marker>
                        <token>affect</token>
                    </marker>
                </pattern>
                <message>&affect_effect;</message>
                <example correction="effect">The ban took <marker>affect</marker> at midnight.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token>same</token>
                    <marker>
                        <token>affect</token>
                    </marker>
                </pattern>
                <message>&affect_effect;</message>
                <example correction="effect">It had the same <marker>affect</marker> on me.</example>
            </rule>
            <rule> <!-- may effect, might effect, would effect, etc -->
                <pattern>
                    <token regexp="yes">might|may|often|(c|sh|w)ould|will|d(id|oes)|not|cannot|typically</token>
                    <marker>
                        <token>effect</token>
                    </marker>
                </pattern>
                <message>&effect_affect;</message>
                <example correction="affect">That might <marker>effect</marker> the bottom line.</example>
            </rule>
            <rule> <!-- may effect, might effect, would effect, etc -->
                <pattern>
                    <token regexp="yes">might|may|often|(c|sh|w)ould|will|did|does|not|cannot|typically</token>
                    <token postag="RB"/>
                    <marker>
                        <token>effect</token>
                    </marker>
                </pattern>
                <message>&effect_affect;</message>
                <short>Commonly confused word</short>
                <example correction="affect">That might adversely <marker>effect</marker> the bottom line.</example>
                <example>That might affect the bottom line.</example>
            </rule>
            <rule> <!-- couldn't effect, shouldn't effect, didn't effect, etc. -->
                <pattern>
                    <token regexp="yes">(c|sh|w)ould|did|does|do|wo|will|can|ca</token>
                    <token regexp="yes">n't|not</token>
                    <marker>
                        <token>effect</token>
                    </marker>
                </pattern>
                <message>&effect_affect;</message>
                <example correction="affect">The medicine shouldn't <marker>effect</marker> the baby.</example>
                <example correction="affect">This doesn't <marker>effect</marker> the timeline.</example>
            </rule>
            <rule> <!-- could've effected, should've effected, etc. -->
                <pattern>
                    <token regexp="yes">could|should|would</token>
                    <token>'ve</token>
                    <marker>
                        <token>effected</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>affected</suggestion>?</message>
                <example correction="affected">The medicine would've <marker>effected</marker> the baby.</example>
            </rule>
            <rule> <!-- an immediate affect, no overall affect, with immediate affect, etc. -->
                <pattern>
                    <token regexp="yes">an|into|the|no|take|with</token>
                    <token regexp="yes">immediate|initial|event|overall|total</token>
                    <marker>
                        <token>affect</token>
                    </marker>
                </pattern>
                <message>&affect_effect;</message>
                <example correction="effect">The laws had an immediate <marker>affect</marker>.</example>
            </rule>
            <rule> <!-- two immediate affects, no overall affects, the immediate affects, etc. -->
                <pattern>
                    <token regexp="yes">two|three|four|five|into|the|no|take|with</token>
                    <token regexp="yes">immediate|initial|event|overall|total</token>
                    <marker>
                        <token>affects</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>effects</suggestion> (consequences, outcomes, results)?</message>
                <example correction="effects">There was a law with immediate <marker>affects</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>side</token>
                    <token>affect</token>
                </pattern>
                <message>Did you mean <suggestion>side effect</suggestion> (=adverse effect, unintended consequence)?</message>
                <short>Commonly confused word</short>
                <example correction="side effect">A <marker>side affect</marker> of global warming</example>
            </rule>
            <rule>
                <pattern>
                    <token>side</token>
                    <token>affects</token>
                </pattern>
                <message>Did you mean <suggestion>side effects</suggestion> (=adverse effect, unintended consequence)?</message>
                <example correction="side effects">The <marker>side affects</marker> of global warming</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">side-[ae]ffects?</token>
                </pattern>
                <message>Did you mean <suggestion><match no="1" regexp_match="side.." regexp_replace="side e"/></suggestion> (=adverse effect, unintended consequence)? Open compounds are not hyphenated.</message>
                <url>https://www.merriam-webster.com/dictionary/side%20effect</url>
                <example correction="side effect">A <marker>side-affect</marker> of global warming</example>
                <example correction="side effects">Conventional treatments are subjected to testing for undesired <marker>side-effects</marker>.</example>
            </rule>
            <!-- cause and affect::word=cause and effect::pivots=affect,effect -->
            <rule>
                <pattern>
                    <token>cause</token>
                    <token>and</token>
                    <token>affect</token>
                </pattern>
                <message>Did you mean <suggestion>cause and effect</suggestion>?</message>
                <example correction="cause and effect">The experiment didn't obey the laws of <marker>cause and affect</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>badly</token>
                    <token>effected</token>
                </pattern>
                <message>Did you mean <suggestion>\1 affected</suggestion>?</message>
                <example correction="badly affected">She was <marker>badly effected</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="ECONOMICAL_ECONOMIC" name="'economical (economic) growth' etc.">
            <pattern>
                <marker>
                    <token>economical</token>
                </marker>
                <token regexp="yes">growth|development|policy|activity|recovery|reform|policies|crisis|cooperation|co-operation|problems|conditions|system|reforms|performance|history|climate|indicators|relations|power|situation|community|life|planning|affairs|theory|recession|change|review|factors|aid|benefits|circumstances|decline|sanctions|interests|analysis|strategy|difficulties|integration|issues|efficiency|assistance|position|terms|management|base|programme|digest|environment|union|activities|modelling|structure|success|reasons|sense|changes|forces|order|progress|loss|consequences|prosperity|resources|pressures|commission|depression|systems|miracle|regeneration|structures|trends|blockade|adviser|impact|restructuring|developments|measures|prospects|independence|stability|status|support|expansion</token>
            </pattern>
            <message>Did you mean <suggestion>economic</suggestion> (=connected with economy)?</message>
            <short>Commonly confused word</short>
            <example correction="economic">This article deals with <marker>economical</marker> development of the Third World.</example>
        </rule>
        <rule id="ECONOMIC_ECONOMICAL" name="'economic (economical) car' etc.">
            <pattern>
                <marker>
                    <token>economic</token>
                </marker>
                <token regexp="yes">way|use|repair|means|methods|method|price|proposition|manner|basis|car|cooking|design|heating|motoring|shopper</token>
            </pattern>
            <message>Did you mean <suggestion>economical</suggestion> (=affordable, cheap)?</message>
            <short>Commonly confused word</short>
            <example correction="economical">This is a very <marker>economic</marker> car.</example>
        </rule>
        <rule id="VERSE" name="'written in verses (verse)'">
            <pattern>
                <token inflected="yes">write</token>
                <token>in</token>
                <marker>
                    <token>verses</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>verse</suggestion>?</message>
            <short>Possible typo</short>
            <example correction="verse">The tale was written in <marker>verses</marker>.</example>
        </rule>
        <rulegroup id="IN_PRINCIPAL" name="principal (principle)">
            <url>https://www.lexico.com/definition/principle</url>
            <rule>
                <pattern>
                    <marker>
                        <token>in</token>
                        <token inflected="yes">principal</token>
                    </marker>
                    <token><exception postag="NN.*" postag_regexp="yes"/></token>
                </pattern>
                <message>Did you mean <suggestion>\1 <match no="2" postag="NN.*" postag_regexp="yes">principle</match></suggestion> (=as a rule)?</message>
                <short>Commonly confused word</short>
                <example correction="In principle"><marker>In principal</marker> I don't think it will be too difficult.</example>
                <example>In principle, I don't think it will be too difficult.</example>
                <example>Each award of more than $1,000 in principal amount</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">basic|fundamental|guiding|general</token>
                    <token inflected="yes">principal</token>
                </pattern>
                <message>Did you mean <suggestion>\1 <match no="2" postag="NN.*" postag_regexp="yes">principle</match></suggestion> (=rule)?</message>
                <short>Commonly confused word</short>
                <example>In principle, I don't think it will be too difficult.</example>
                <example correction="basic principles">In this discussion we have endeavored to do this: to point out <marker>basic principals</marker> of liberty in which all people can believe.</example>
                <example correction="general principles">Ptolemy sets out the <marker>general principals</marker> of astrology.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>principle</token>
                    </marker>
                    <token regexp="yes">(act(ion)?|activity|actor|advantage|advisor|advocate|agent|aim|amount|area|artist|assistant|attraction|author|branch|caste?|cause|character|church|city|component|composer|concern|consultant|culprit|director|effect|engineer|goal|group|investigator|method|objective|officer?|owner|partner|photography|purpose|researcher|reason|secretary|shareholder|source|staff|student|suspect|town|use)s?</token>
                </pattern>
                <message>Did you mean <suggestion>principal</suggestion> (=main)?</message>
                <short>Commonly confused word</short>
                <example correction="principal">The <marker>principle</marker> activity of the Foundation is centred on humanitarian aid and charity, especially with regards to children.</example>
                <example>The principal activity of the Foundation is focused on humanitarian aid and charity.</example>
                <example correction="principal">Dr. Doe was listed as the grant's <marker>principle</marker> investigator.</example>
                <example correction="principal">Laundering money was the mob's <marker>principle</marker> activity.</example>
            </rule>
            <rule>
                <pattern>
                    <token>school</token>
                    <token>principle</token>
                </pattern>
                <message>Did you mean <suggestion>school principal</suggestion> (=head of school)?</message>
                <short>Commonly confused word</short>
                <example correction="school principal">Mr Brown is our new <marker>school principle</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">against|(violate|compromise)[ds]?|moral</token>
                    <token min="0"/>
                    <marker><token regexp="yes">principals?</token></marker>
                </pattern>
                <message>Did you mean <suggestion><match no="3" postag="NN.*" postag_regexp="yes">principle</match></suggestion> (=rule)?</message>
                <short>Commonly confused word</short>
                <example correction="principles">He told me it's against his <marker>principals</marker> to drink alcohol.</example>
                <example correction="principles">This violates all <marker>principals</marker> of the Constitution.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">stick</token>
                    <token>to</token>
                    <token min="0"/>
                    <marker><token regexp="yes">principals?</token></marker>
                </pattern>
                <message>Did you mean <suggestion><match no="4" postag="NN.*" postag_regexp="yes">principle</match></suggestion> (=rule)?</message>
                <short>Commonly confused word</short>
                <example correction="principles">Always stick to your <marker>principals</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SAY_TELL" name="say (tell)">
            <rule>
                <pattern>
                    <marker>
                        <token>say</token>
                    </marker>
                    <token regexp="yes">me|h(im|er)</token>
                </pattern>
                <message>'Say' cannot be followed by a direct personal object. Did you mean <suggestion>tell</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="Tell"><marker>Say</marker> me the truth.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>said</token>
                    </marker>
                    <token regexp="yes">me|him</token>
                </pattern>
                <message>'Say' cannot be followed by a direct personal object. Did you mean <suggestion>told</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="told">He <marker>said</marker> me the truth.</example>
                <example>She said her daughter continues to see a psychologist.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>says</token>
                    </marker>
                    <token regexp="yes">me|him</token>
                </pattern>
                <message>'Say' cannot be followed by a direct personal object. Did you mean <suggestion>tells</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="tells">He <marker>says</marker> me the truth.</example>
                <example>She says her youngest daughter continues to see a psychologist.</example>
            </rule>
        </rulegroup>
        <rulegroup id="NIB_NUB" name="nib / nub">
            <short>Commonly confused word</short>
            <rule>
                <pattern>
                    <token regexp="yes">coffee|c[ao]cao|glass|gold|metal|pen|salt|steel</token>
                    <marker>
                        <token inflected="yes">nub</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion><match no="2" regexp_match="u" regexp_replace="i"/></suggestion>?</message>
                <url>https://grammarist.com/spelling/nib-vs-nub/</url>
                <example correction="nibs">try using raw cacao <marker>nubs</marker>.</example>
            </rule>
            <rule>
                <pattern case_sensitive="yes">
                    <marker>
                        <token>nib</token>
                    </marker>
                    <token>of</token>
                    <token regexp="yes">the(ir)?|h(is|er)|my|y?our</token>
                    <token regexp="yes">arguments?|issues?|problems?|di(lemma|spute)|matter</token>
                </pattern>
                <message>Did you mean <suggestion>nub</suggestion>?</message>
                <url>https://grammarist.com/spelling/nib-vs-nub/</url>
                <example correction="nub">This is the <marker>nib</marker> of the problem.</example>
            </rule>
        </rulegroup>
        <rulegroup id="EVERYDAY_EVERY_DAY" name="everyday (every day)">
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>everyday</token>
                        <token postag="PRP"/>
                    </marker>
                </pattern>
                <message>'Everyday' is an adjective, and the comma is missing. Did you mean <suggestion>every day, \3</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="Every day, he"><marker>Everyday he</marker> gets up early.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <marker>
                        <token>everyday</token>
                    </marker>
                    <token>,</token>
                    <token postag="PRP"/>
                </pattern>
                <message>'Everyday' is an adjective. Did you mean <suggestion>every day</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="Every day"><marker>Everyday</marker>, he gets up early.</example>
            </rule>
            <rule>
                <antipattern><!-- the everyday spoken language -->
                    <token postag_regexp="yes" postag="DT|PRP\$">
                        <exception>that</exception>
                    </token>
                    <token>everyday</token>
                </antipattern>
                <antipattern><!-- Premium #1795 in the everyday. MFU did not find a reference for this phrase. -->
                    <token postag="IN"/>
                    <token>the</token>
                    <token>everyday</token>
                    <token postag_regexp="yes" postag="SENT_END|PCT"/>
                </antipattern>
                <pattern>
                    <marker>
                        <token>everyday</token>
                    </marker>
                    <token><exception postag="NN.*|PRP|JJ.*" postag_regexp="yes"/></token>
                </pattern>
                <message>'Everyday' is an adjective. Did you mean <suggestion>every day</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="every day">He gets up early <marker>everyday</marker>.</example>
                <example correction="every day">We don't need to do that <marker>everyday</marker>.</example>
                <example correction="every day">And <marker>everyday</marker> spoken language is used to communicate.</example>
                <example>He gets up early <marker>every day</marker>.</example>
                <example>Written communication makes a big part of our everyday and work life.</example>
                <example>... or regional varieties which constitute the <marker>everyday</marker> spoken language.</example>
                <example>The true art of life consists in seeing the miraculous in the everyday.</example><!-- Premium #1795 -->
            </rule>
        </rulegroup>
        <rulegroup id="EVERYONE_OF" name="everyone (every one) of">
            <rule>
                <pattern>
                    <token>each</token>
                    <token>and</token>
                    <marker><token>everyone</token></marker>
                </pattern>
                <message>Did you mean <suggestion>every one</suggestion>?</message>
                <example correction="every one">The space in which each and <marker>everyone</marker> of us lives has taken on a new shape.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>everyone</token>
                    </marker>
                    <token>of</token>
                    <token postag="PRP.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>every one</suggestion>?</message>
                <url>https://writingexplained.org/everyone-vs-every-one-difference</url>
                <example correction="every one">My mother would like to thank <marker>everyone</marker> of you who offered assistance during her illness.</example>
                <example correction="every one">For <marker>everyone</marker> of them there's a little present under the tree.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>everyone</token>
                    </marker>
                    <token>of</token>
                    <token regexp="yes">th(o|e)se</token>
                </pattern>
                <message>Did you mean <suggestion>every one</suggestion>?</message>
                <url>https://writingexplained.org/everyone-vs-every-one-difference</url>
                <example correction="Every one"><marker>Everyone</marker> of these apples is rotten.</example>
                <example><marker>Every one</marker> of those rich kids was there last night.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>everyone</token>
                    </marker>
                    <token>of</token>
                    <token>the</token>
                    <token postag="NNP?S" postag_regexp="yes" />
                </pattern>
                <message>Did you mean <suggestion>every one</suggestion>?</message>
                <url>https://writingexplained.org/everyone-vs-every-one-difference</url>
                <example correction="Every one"><marker>Everyone</marker> of the cards was unfolded.</example>
                <example><marker>Every one</marker> of the brothers was there last night.</example>
                <example>We shouted in order to warn everyone of the danger.</example>
            </rule>
        </rulegroup>
        <rule id="NIECE_NICE" name="niece (nice) day etc.">
            <pattern>
                <marker>
                    <token>niece</token>
                </marker>
                <token regexp="yes">try|holiday|vacation|day|conference</token>
            </pattern>
            <message>Did you mean <suggestion>nice</suggestion> (=pleasant)?</message>
            <short>Commonly confused word</short>
            <example correction="nice">I wish you a <marker>niece</marker> holiday.</example>
        </rule>
        <rule id="SLIGHT_OF_HAND" name="slight (sleight) of hand">
            <pattern>
                <marker>
                    <token regexp="yes">slights?</token>
                </marker>
                <token>of</token>
                <token>hand</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag_regexp="yes" postag="NN(S)|NN:UN" postag_replace="NN$1">sleight</match></suggestion>?</message>
            <url>http://public.wsu.edu/~brians/errors/slight.html</url>
            <short>Commonly confused word</short>
            <example correction="sleight">This is where the <marker>slight</marker> of hand comes in.</example>
            <example correction="sleights">At the show, we saw many marvellous <marker>slights</marker> of hand.</example>
            <example correction="Sleights"><marker>Slights</marker> of hand are a clever trick.</example>
            <example><marker>Sleight</marker> of hand is also known as prestidigitation.</example>
        </rule>
        <rule id="ROUTE_OF_THE_PROBLEM" name="route (root) of the problem">
            <pattern>
                <marker>
                    <token postag_regexp="yes" postag="NN(:UN|S)" regexp="yes">routes?</token>
                </marker>
                <token>of</token>
                <token>the</token>
                <token regexp="yes">problems?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" postag_regexp="yes" postag="NN(S)|NN:UN" postag_replace="NN$1">root</match></suggestion> (=source, cause)?</message>
            <short>Commonly confused word</short>
            <example correction="root">The <marker>route</marker> of the problems is unknown.</example>
            <example correction="roots">The <marker>routes</marker> of the problem are not yet known.</example>
            <example correction="Root">'The <marker>Route</marker> of the Problem' on page 26 gives more information.</example>
            <example correction="Roots"><marker>Routes</marker> of the Problem on page 31 gives more information.</example>
            <example>The <marker>root</marker> of the problem is the unnecessary complexity of the rules.</example>
            <example type="triggers_error">'The Route of the Problem' is a music track (http://runescape.wikia.com/wiki/The_Route_of_the_Problem).</example>
        </rule>
        <rulegroup id="COMPLAINS_COMPLAINTS" name="complains (complaints)">
            <rule>
                <pattern>
                    <token regexp="yes">been|were|are|re|of</token>
                    <marker>
                        <token>complains</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>complaints</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="complaints">I do not understand why there are <marker>complains</marker> from our community.</example>
                <example correction="complaints">They received a number of <marker>complains</marker> from customers.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">an?|y?our|their|my</token>
                    <token regexp="yes">biggest|common|criminal|formal|official|written|only|legal|initial|main</token>
                    <marker>
                        <token>complain</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>complaint</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="complaint">This is our biggest <marker>complain</marker>.</example>
                <example correction="complaint">Shortness of breath was a common <marker>complain</marker> among the patients.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1" />
                    <token chunk_re=".-VP" skip="-1" />
                    <token>complaint</token>
                </antipattern>
                <pattern>
                    <token chunk_re="I-NP.*" postag="NN.*" postag_regexp="yes">
                        <exception postag="RB|JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>complaint</token>
                    </marker>
                    <token chunk="B-SBAR">that</token>
                    <token postag="PRP_S.*|EX|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complained</suggestion>?</message>
                <example correction="complained">A user <marker>complaint</marker> that he can not use the Premium version.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB" min="0" chunk="B-ADVP" />
                    <marker>
                        <token chunk="B-VP">complaint</token>
                    </marker>
                    <token chunk="B-SBAR">that</token>
                    <token postag="PRP_S.*|EX|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complained</suggestion>?</message>
                <example correction="complained">A user recently <marker>complaint</marker> that he can not use the Premium version.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1" />
                    <token chunk_re=".-VP" skip="-1" />
                    <token>complaint</token>
                </antipattern>
                <pattern>
                    <token chunk_re="I-NP.*" postag="NN.*" postag_regexp="yes">
                        <exception postag="RB|JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>complaint</token>
                    </marker>
                    <token>about</token>
                    <token postag="EX|DT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complained</suggestion>?</message>
                <example correction="complained">A user <marker>complaint</marker> about this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1" />
                    <token chunk_re=".-VP" skip="-1" />
                    <token>complaint</token>
                </antipattern>
                <pattern>
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB" chunk_re="B-NP.*|B-ADVP">
                        <exception postag="IN|EX|NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>complaint</token>
                    </marker>
                    <token>about</token>
                    <token postag="EX|DT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complained</suggestion>?</message>
                <example correction="complained">A user recently <marker>complaint</marker> about this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1" />
                    <token chunk_re=".-VP" skip="-1" />
                    <token>complaints</token>
                </antipattern>
                <pattern>
                    <token chunk_re="I-NP.*" postag="NN|NN:UN?" postag_regexp="yes">
                        <exception postag="RB|JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>complaints</token>
                    </marker>
                    <token chunk="B-SBAR">that</token>
                    <token postag="PRP_S.*|EX|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complains</suggestion>?</message>
                <example correction="complains">A user <marker>complaints</marker> that he can not use the Premium version.</example>
            </rule>
            <rule>
                <pattern>
                    <token chunk_re="E-NP.*" postag="NN|NN:UN?" postag_regexp="yes" />
                    <token postag="RB" min="0" chunk="B-ADVP" />
                    <marker>
                        <token chunk="B-VP">complaints</token>
                    </marker>
                    <token chunk="B-SBAR">that</token>
                    <token postag="PRP_S.*|EX|DT|PRP\$" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complains</suggestion>?</message>
                <example correction="complains">A user recently <marker>complaints</marker> that he can not use the Premium version.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1" />
                    <token chunk_re=".-VP" skip="-1" />
                    <token>complaints</token>
                </antipattern>
                <pattern>
                    <token chunk_re="I-NP.*" postag="NN.*" postag_regexp="yes">
                        <exception postag="RB|JJ.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>complaints</token>
                    </marker>
                    <token>about</token>
                    <token postag="EX|DT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complains</suggestion>?</message>
                <example correction="complains">A user <marker>complaints</marker> about this.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START" skip="-1" />
                    <token chunk_re=".-VP" skip="-1" />
                    <token>complaints</token>
                </antipattern>
                <pattern>
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="RB" chunk_re="B-NP.*|B-ADVP">
                        <exception postag="IN|EX|NN.*" postag_regexp="yes" />
                    </token>
                    <marker>
                        <token>complaints</token>
                    </marker>
                    <token>about</token>
                    <token postag="EX|DT|PRP.*" postag_regexp="yes" />
                </pattern>
                <message>Did you mean the verb <suggestion>complains</suggestion>?</message>
                <example correction="complains">A user recently <marker>complaints</marker> about this.</example>
            </rule>
        </rulegroup>
        <rule id="FIRST_AID_KIT" name="first aid kid (kit)">
            <pattern>
                <token regexp="yes">aid|starter|t(ravel|ool)</token>
                <marker><token>kid</token></marker>
            </pattern>
            <message>Did you mean <suggestion>kit</suggestion> (=set of articles, tools, or supplies) instead of 'kid' (=young person)?</message>
            <url>https://www.merriam-webster.com/dictionary/kit</url>
            <short>Commonly confused word</short>
            <example correction="kit">A first aid <marker>kid</marker> is a collection of medical supplies and equipment, often portable.</example>
        </rule>
        <rulegroup id="SPILLING_ERROR" name="spilling (spelling) error">
            <rule>
                <pattern>
                    <marker><token>spilling</token></marker>
                    <token regexp="yes">errors?|checkers?|mistakes?</token>
                </pattern>
                <message>Did you mean <suggestion>spelling</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="spelling">This is a <marker>spilling</marker> error.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">British|American|correct</token>
                    <marker><token>spilling</token></marker>
                </pattern>
                <message>Did you mean <suggestion>spelling</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="spelling">What is the correct <marker>spilling</marker> of 'Mississippi'?</example>
            </rule>
        </rulegroup>
        <rulegroup id="SINCE_FOR" name="since (for) + 'period of time'">
            <url>http://www.grammarbank.com/since-for-usage.html</url>
            <rule>
                <pattern>
                    <marker><token>since</token></marker>
                    <token postag="CD"/>
                    <token regexp="yes">centuries|years|months|weeks|days|hours|minutes</token>
                    <token postag="SENT_END"/>
                </pattern>
                <message>Did you mean <suggestion>for</suggestion>? ('since' refers to a point in time, whereas 'for' refers to a period)</message>
                <short>Commonly confused word</short>
                <example correction="for">I've lived in Barcelona <marker>since</marker> six years.</example>
                <example>I've lived in Barcelona <marker>since</marker> 2015.</example>
            </rule>
        </rulegroup>
        <rulegroup id="EXTEND_EXENT" name="extend (extent)">
            <rule>
                <pattern>
                    <token>to</token>
                    <token regexp="yes">wh(at|ich)|some|certain</token>
                    <marker><token>extend</token></marker>
                </pattern>
                <message>Did you mean the noun <suggestion>extent</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="extent">It is not known to what <marker>extend</marker> the subjects were being truthful.</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token>a</token>
                    <token regexp="yes">certain|great(er)?|lesser</token>
                    <marker><token>extend</token></marker>
                </pattern>
                <message>Did you mean the noun <suggestion>extent</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="extent">To a great <marker>extend</marker>, psychological explanations prove satisfactory.</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token min="0">the</token>
                    <token regexp="yes">full(est)?</token>
                    <marker><token>extend</token></marker>
                    <token>of</token>
                </pattern>
                <message>Did you mean the noun <suggestion>extent</suggestion>?</message>
                <short>Commonly confused word</short>
                <example correction="extent">Shoplifters will be prosecuted to the fullest <marker>extend</marker> of the law.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SUPPER" name="super (supper)">
            <rule>
                <pattern>
                    <token regexp="yes">a(fter|t)|for|without|cold|last</token>
                    <marker><token>super</token></marker>
                    <token regexp="yes">\.|,|\?</token>
                </pattern>
                <message>Did you mean <suggestion>supper</suggestion> (=evening meal)?</message>
                <short>Commonly confused word</short>
                <example correction="supper">We went for a walk after <marker>super</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes" skip="1">eat</token>
                    <marker><token>super</token></marker>
                </pattern>
                <message>Did you mean <suggestion>supper</suggestion> (=evening meal)?</message>
                <short>Commonly confused word</short>
                <example correction="supper">After I had eaten my <marker>super</marker>, I went straight to bed.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PERSONAL_PERSONNEL" name="personal (personnel)">
            <rule>
                <pattern>
                    <token>of</token>
                    <marker><token>personal</token></marker>
                    <token postag="SENT_END" regexp="yes">\W+|at|if</token>
                </pattern>
                <message>Did you mean the noun <suggestion>personnel</suggestion>?</message>
                <example correction="personnel">She's the director of <marker>personal</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">a(rmou?red|uthorized)|m(ilitary|edical)|technical|key|naval|qualified</token>
                    <marker><token>personal</token></marker>
                </pattern>
                <message>Did you mean the noun <suggestion>personnel</suggestion>?</message>
                <example correction="personnel">For authorized <marker>personal</marker> only.</example>
            </rule>
            <rule>
                <pattern>
                    <marker><token>personal</token></marker>
                    <token regexp="yes">d(epartment|irector)s?|manag(er|ment)s?|files?|officer?s?</token>
                </pattern>
                <message>Did you mean the noun <suggestion>personnel</suggestion>?</message>
                <example correction="personnel">He is the <marker>personal</marker> director.</example>
            </rule>
        </rulegroup>
        <rulegroup id="WHORE_WORE" name="whore (wore)">
            <rule>
                <pattern>
                    <marker>
                    <token postag='VBP?' postag_regexp="yes">whore</token>
                    </marker>
                    <token postag='DT'></token>
                    <token min="0" postag='JJ'></token>
                    <token postag='NN(:UN|S)?' postag_regexp="yes"></token>
                </pattern>
                <message>Did you mean <suggestion>wore</suggestion> (simple past of "to wear")?</message>
                <example correction='wore'>Last Sunday I <marker>whore</marker> a beautiful dress.</example>
                <example correction='wore'>Tim <marker>whore</marker> a sweatshirt yesterday.</example>
                <example>You are a whore, a liar and a thief.</example>
                <example>I whore myself in the streets.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag='VBP?' postag_regexp="yes">whore</token>
                    <token postag='VB(D|G|N|P|Z)?' postag_regexp="yes"></token>
                </antipattern>
                <pattern>
                    <token postag='NN(:UN|S)?' postag_regexp="yes"></token>
                    <token>that</token>
                    <token postag='PRP'></token>
                    <marker>
                    <token postag='VBP?' postag_regexp="yes">whore</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>wore</suggestion> (simple past of "to wear")?</message>
                <example correction="wore">This is the skirt that I <marker>whore</marker> last week.</example>
                <example>This is the car that you whore stole from me.</example>
            </rule>
        </rulegroup>
        <rule id="OVERNIGHT" name="overnight instead of 'over night'">
            <antipattern>
                <token inflected="yes" skip="-1" regexp="yes">prefer|choose</token>
                <token>over</token>
                <token>night</token>
            </antipattern>
            <pattern>
                <token>over</token>
                <token regexp="yes">night(ing|ed)?</token>
            </pattern>
            <message>Did you mean the verb, adjective or adverb <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion> (i.e., for or during the entire night)?</message>
            <url>http://www.merriam-webster.com/dictionary/overnight</url>
            <example correction="overnight">She stayed <marker>over night</marker>.</example>
            <example correction="overnight">The stock has gone down <marker>over night</marker>.</example>
            <example correction="overnighted">He <marker>over nighted</marker> at my house.</example>
            <example>Cover and refrigerate <marker>overnight</marker>.</example>
            <example>I prefer day over night.</example>
        </rule>
        <rulegroup id="OVER_TIME" name="over time (overtime)">
            <rule>
                <antipattern>
                    <token regexp="yes" inflected="yes" skip="5">get|receive|earn|have|give|pay</token>
                    <token>more</token>
                    <token>over</token>
                    <token>time</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">in(to)?|less|more|of|working</token>
                    <marker>
                        <token>over</token>
                        <token>time</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>overtime</suggestion> (=time someone works beyond normal working hours)?</message>
                <example correction='overtime'>I worked two hours of <marker>over time</marker> last week.</example>
                <example>The gears had worn down over time.</example>
                <example>Energy is the capacity to do work over time</example>
            </rule>
            <rule>
                <pattern>
                    <token>to</token>
                    <token>work</token>
                    <marker>
                        <token>over</token>
                        <token>time</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>overtime</suggestion> (=time someone works beyond normal working hours)?</message>
                <example correction='overtime'>No child shall be permitted or required to work <marker>over time</marker>.</example>
                <example>Energy is the capacity to do work over time</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">work</token>
                    <marker>
                        <token>over</token>
                        <token>time</token>
                    </marker>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>overtime</suggestion> (=time someone works beyond normal working hours)?</message>
                <example correction='overtime'>They worked <marker>over time</marker> to come up with a great idea.</example>
                <example>Energy is the capacity to do work over time</example>
                <example>Faulty meters stop working over time.</example>
            </rule>
        </rulegroup>
        <rule id="BAR_B_QUE" name="bar-b-queue instead of 'bar-b-que'">
            <pattern>
                <token regexp="yes">bar-b-queues?</token>
            </pattern>
            <message>Did you mean <suggestion><match no="1" regexp_match="ueue" regexp_replace="ue"/></suggestion>?</message>
            <url>https://www.dictionary.com/browse/bar-b-que</url>
            <example correction="bar-b-que">A casual summer <marker>bar-b-queue</marker>.</example>
        </rule>
        <rule id="VBN_BUY" name="buy (by)"><!-- https://forum.languagetool.org/t/en-possible-new-rule/3004 -->
            <pattern>
                <token regexp="yes">is|was|are|were</token>
                <token min="0" max="3" postag="RB"/>
                <token postag="VBN"/>
                <marker>
                    <token>buy
                        <exception scope="next" spacebefore="no">_</exception>
                        </token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>by</suggestion> or <suggestion>to buy</suggestion>?</message>
            <example correction="by|to buy">I was asked <marker>buy</marker> one of my friends…</example>
            <example correction="by|to buy">They were not frequently requested <marker>buy</marker> double glazing.</example>
            <example correction="by|to buy">Torque converter engagement is commanded <marker>buy</marker> the PCM or TCM.</example>
            <example>I was asked <marker>by</marker> one of my friends…</example>
            <example>The reports were downloaded <marker>Buy_Sell_HPL_May_13_2000</marker>.</example>
        </rule>
        <rule id="AN_A_PRIORY" name="a priory (a priori)"><!-- https://github.com/languagetool-org/languagetool/issues/1412 -->
            <pattern>
                <token regexp="yes">an?|the</token>
                <marker>
                    <token>a</token>
                    <token>priory</token>
                </marker>
            </pattern>
            <message>Did you mean the Latin term <suggestion>a priori</suggestion>?</message>
            <url>https://www.lexico.com/en/definition/a_priori</url>
            <short>Possible typo</short>
            <example correction="a priori">This is an <marker>a priory</marker> assumption.</example>
            <example correction="a priori">Particle volume should not be treated as an a <marker>a priory</marker> given value.</example>
            <example>This is an <marker>a priori</marker> assumption.</example>
        </rule>
        <rule id="DE_JURE_DU_JOUR" name="de jure (du jour)"><!-- https://forum.languagetool.org/t/soup-de-jure/5191 -->
            <antipattern>
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1" regexp="yes">govern.*|law.*|legal.*|legislation</token>
                <token postag="SENT_END"/>
            </antipattern>
            <antipattern>
                <token>de</token>
                <token skip="-1">facto</token>
                <token>de</token>
                <token>jure</token>
            </antipattern>
            <antipattern>
                <token>de</token>
                <token skip="-1">jure</token>
                <token>de</token>
                <token>facto</token>
            </antipattern>
            <pattern>
                <token>de</token>
                <token>jure</token>
            </pattern>
            <message>'\1 \2' is a legal term. Did you mean <suggestion>du jour</suggestion> or more simply <suggestion>of the day</suggestion>?</message>
            <url>https://www.lexico.com/definition/du_jour</url>
            <short>Commonly confused term</short>
            <example correction="du jour|of the day">Do you like the soup <marker>de jure</marker>?</example>
            <example>Do you like the soup <marker>du jour</marker>?</example>
            <example>Now it has to be done de jure (by law), so it can become official.</example>
            <example>The legal framework for this de jure decision is...</example>
            <example>Although being de facto independent since the end of the war, de jure it is still...</example>
            <example>...and the region is still considered a de jure part of Azerbaijan, despite being de facto independent since the end of the war.</example>
        </rule>
        <rule id="OEDOMETER_ODOMETER" name="oedometer (odometer)">
            <antipattern>
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1">geotechnical</token>
                <token postag="SENT_END"/>
            </antipattern>
            <pattern>
                <token regexp="yes">oedometers?<exception scope="next" regexp="yes">tests?</exception></token>
            </pattern>
            <message>An oedometer is an instrument used in geotechnical investigation. Did you mean <suggestion><match no="1" postag="NNS?">odometer</match></suggestion> (an instrument that measures the distance that a vehicle travels)?</message>
            <url>https://en.wikipedia.org/wiki/Oedometer_test</url>
            <example correction="odometer">The <marker>oedometer</marker> in my automobile is defective.</example>
            <example>The <marker>odometer</marker> in my automobile is defective.</example>
            <example>Oedometers are used in geotechnical investigations.</example>
        </rule>
        <rulegroup id="THE_LATER_LATTER" name="the later (latter)"><!-- #2401 -->
            <url>https://www.lexico.com/definition/latter</url>
            <rule><!-- The basic rule finds as much as possible. Reminder: use separate APs. -->
                <antipattern><!-- later stages -->
                    <token chunk="I-NP-plural">later</token>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- later advanced lunar landings -->
                    <token chunk="I-NP-plural">later</token>
                    <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?|NN(:UN?)?"/>
                    <token chunk="I-NP-plural" postag_regexp="yes" postag="JJ|NN(:UN?)?"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- later and weaker years -->
                    <token>later</token>
                    <token regexp="yes">and|or</token>
                    <token chunk="B-NP-plural" postag="JJR"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- later processing -->
                    <token chunk="I-NP-singular">later</token>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- later westward expansion -->
                    <token chunk="I-NP-singular">later</token>
                    <token chunk="I-NP-singular" postag_regexp="yes" postag="JJR?|NN(:UN?)?"/>
                    <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/>
                </antipattern>
                <antipattern><!-- early ... later -->
                    <token skip="-1" regexp="yes">early|earlier|earliest</token>
                    <token>the</token>
                    <token>later</token>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token>later</token>
                    <token skip="2">than</token>
                    <token regexp="yes">expected|required</token>
                </antipattern>
                <pattern>
                    <token>the</token>
                    <marker>
                        <token>later</token>
                    </marker>
                    <or>
                        <token postag_regexp="yes" postag="RB|VB[ZDG]|CC|TO|IN|PCT"/>
                        <token spacebefore="no" regexp="yes">&apostrophe;</token><!-- Does not have the POS postag, thus use a separate token -->
                    </or>
                </pattern>
                <message>Did you mean <suggestion>latter</suggestion> (=the second of two items)?</message>
                <short>Commonly confused term</short>
                <example correction="latter">The former test was easy, but the <marker>later</marker> was difficult.</example>
                <example correction="latter">The former is only used in relation to dates and temporal events, while the <marker>later</marker> is used to reference part of the sentence structure.</example>
                <example correction="latter">... and the <marker>later</marker> causes problems occasionally.</example><!-- causes/I-NP-plural -->
                <example correction="latter">... and the <marker>later</marker> very often causes problems.</example><!-- very/E-NP-singular -->
                <example correction="latter">... because of the <marker>later</marker> actually causing more problems than we expected.</example>
                <example correction="latter">I mention the <marker>later</marker> in passing, because it is not so important.</example>
                <example correction="latter">I mention the <marker>later</marker> because of what we both saw under a tree some distance from us.</example>
                <example correction="latter">Of course, the 1979 constitution subordinated the <marker>later</marker> to the former.</example>
                <example correction="latter">The President appoints the Prime Minister and, on the <marker>later</marker>'s advice, the rest of the government.</example>
                <example correction="latter">The <marker>later</marker> is a bad idea.</example>
                <example correction="latter">IE the <marker>later</marker> is simply a US branch.</example>
                <example correction="latter">The former has more uses than the <marker>later</marker> and is sometimes easier to digest.</example>
                <example correction="latter">Among the <marker>later</marker> were the AGM-83 Bulldog, AGM-79 Blue Eye and AGM-80 Viper.</example>
                <example correction="latter">I believe it should be the <marker>later</marker> based on your `.vm` file</example>
                <example correction="latter">Details on the <marker>later</marker> of the agenda items above will be forthcoming.</example>
                <example correction="latter">Making the consent effective the <marker>later</marker> or signing or financing.</example><!-- Garbled sentence, but 'later' is not correct. -->
                <example correction="latter">The <marker>later</marker>, probably a hundred years later than Ovid, is here the superior of the two.</example>
                <example>The former test was easy, but the <marker>latter</marker> was difficult.</example>
                <example>There were 2 trains to Sheffield; although I could have caught the 10:00 train, I got the later train.</example>
                <example>Francoist troops reached the Andorran border in the later stages of the war.</example><!-- Ambiguous -->
                <example>Separation of the rare-earth elements is a step in the later processing.</example>
                <example>The later games in the series feature several males with effeminate characteristics.</example>
                <example>The later phases saw the Penal Laws punish Roman Catholic and nonconforming Protestants.</example>
                <example>With that team you usually should have no problem at the later levels.</example>
                <example>The Land Ordinance of 1785 established both the general practices of land surveying in the west and northwest and the land ownership provisions used throughout the later westward expansion beyond the Mississippi River.</example>
                <example>Its capability grew to 103,600 pounds (47,000 kg) for the later advanced lunar landings.</example>
                <example>During the later and weaker years of the Carolingian Empire...</example><!-- Ambiguous, but parse as JJR + CC + JJR. Refer to the AP -->
                <example>Early steel AK-47 magazines are 9.75 in (248 mm) long, and the later ribbed steel AKM and newer plastic 7.62×39mm magazines are about 1 in (25 mm) shorter.</example>
<!-- With or without triggers_error, testrules gives a warning. The GUI gives a warning, but it should not. Refer to the previous example and the 'early ... later' AP <example type="triggers_error">... early years of the Turkish Republic, with the later relocated 'Su Perileri' (Water Fairies)...</example>-->
<!-- Not found --><example>The Russians could advance into either Germany or Austria—they chose the <marker>later</marker> option.</example>
            </rule>
        </rulegroup>

        <rule id="WORK_AS_A_CHARM" name="works as (like) a charm"><!-- #2513 -->
            <pattern>
                <token chunk="B-VP" postag_regexp="yes" postag="VB.*" inflected="yes">work</token>
                <token>as</token>
                <token>a</token>
                <token>charm</token>
            </pattern>
            <message>The word '\2' is correct if it refers to the function or character of someone or something. But, if you mean 'successful' or 'effective', use <suggestion>\1 like \3 \4</suggestion>.</message>
            <url>https://www.lexico.com/definition/work_like_a_charm</url>
            <short>Commonly confused word</short>
            <example correction="works like a charm">LanguageTool <marker>works as a charm</marker>; it finds many errors.</example>
            <example>LanguageTool <marker>works like a charm</marker>; it finds many errors.</example>
            <example type="triggers_error">This <marker>works as a charm</marker>; it will protect you from evil spirits.</example>
        </rule>

        <rule id="STATE_OF_ART" name="state of art (state of the art, state-of-the-art)"><!-- #2559 -->
            <pattern>
                <token postag="NN:UN">state</token>
                <token>of</token>
                <token>art</token>
            </pattern>
            <message>The phrase '\1 \2 \3' is correct if it refers to the condition of art. But, if you mean 'most recent technological development', use the noun <suggestion>\1 \2 the \3</suggestion> or the adjective <suggestion>state-of-the-art</suggestion>.</message>
            <url>https://www.lexico.com/definition/state_of_the_art</url>
            <short>Commonly confused phrase</short>
            <example correction="state of the art|state-of-the-art">This <marker>state of art</marker> equipment is not expensive.</example>
            <example correction="state of the art|state-of-the-art">It analyzes how the <marker>state of art</marker> deals with the existing cybersecurity issues.</example>
            <example>This <marker>state-of-the-art</marker> equipment is not expensive.</example>
            <example>It analyzes how the <marker>state of the art</marker> deals with the existing cybersecurity issues.</example>
            <example type="triggers_error">What do you think about the <marker>state of art</marker> in Britain today?</example>
        </rule>

        <rule id="TAT" name="tat (that)"><!-- #2837 -->
            <antipattern><!-- www.lexico.com/definition/tit_for_tat -->
                <token>tit</token>
                <token>for</token>
                <token>tat</token>
            </antipattern>
            <antipattern><!-- nhac.tat.nguyen -->
                <token postag="PCT"/>
                <token spacebefore="no">tat</token>
                <token spacebefore="no" postag="PCT"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">cheap|old|souvenir</token>
                <token>tat</token>
            </antipattern>
            <antipattern><!-- two tat proteins -->
                <token postag="CD"/>
                <token>tat</token>
                <token postag_regexp="yes" postag="NN.*" regexp="yes" inflected="yes">gene|protein</token>
            </antipattern>
            <antipattern><!-- genes, tat, rev -->
                <token>,</token>
                <token>tat</token>
                <token>,</token>
                <token>rev</token>
            </antipattern>
            <antipattern><!-- Tat, spoken ... Azerbaijan -->
                <token postag="SENT_START"/>
                <token skip="-1" case_sensitive="yes">Tat</token>
                <token skip="-1" regexp="yes" inflected="yes">speak|language</token>
                <token postag_regexp="yes" postag="NN.*" regexp="yes" inflected="yes">Azerbaijan|Russia|Transcaucasia</token>
            </antipattern>
            <pattern>
                <marker>
                    <token postag="NN:U" case_sensitive="yes" regexp="yes">[Tt]at</token>
                </marker>
                <token>
                    <exception>;</exception><!-- Do not use postag PCT: misunderstand because tat, spoken -->
                    </token>
            </pattern>
            <message>In British English, the noun '\1' means tasteless or shoddy items. Did you mean <suggestion>that</suggestion>?</message>
            <url>https://www.lexico.com/definition/tat</url>
            <example correction="that">I think <marker>tat</marker> is correct.</example>
            <example correction="That"><marker>Tat</marker> is not correct.</example>
            <example correction="That"><marker>Tat</marker>, spoken in a hurry, sounds weird.</example>
            <example correction="that">... misunderstand because <marker>tat</marker>, spoken in a hurry, sounds like...</example>
            <example correction="that">Although I think <marker>tat</marker> that is sometimes a...</example>
            <example correction="that">The manager thinks that <marker>tat</marker> must be decided later.</example>
            <example correction="that">The mechanism involved in <marker>tat</marker> activation is not known.</example>
            <example correction="that">3. `&lt;client-resource>` <marker>tat</marker> loads a js script that waits for a button to appear...</example>
            <example correction="that">... it damages your camshafts (been there, seen <marker>tat</marker>) and can lead to catastrophic damage.</example>
            <example correction="that">I told her <marker>tat</marker> she must not do it.</example>
            <example correction="that">Unfortunately, <marker>tat</marker> gene is defective.</example>
            <example correction="that">Biology courses teach us <marker>tat</marker> proteins are essential for the organism.</example>
            <example correction="that">Although I think that <marker>tat</marker> can be used effectively in some furnishing contexts...</example><!-- Ambiguous, but probably an error. -->
            <example>I think <marker>that</marker> is correct.</example>
            <example>Finally, she got rid of that old tat.</example>
            <example>She can also tat and crochet lace.</example>
            <example>The general mechanism involved in Tat activation of RNA Polymerase II (RNAP II) elongation... [www.ncbi.nlm.nih.gov/pmc/articles/PMC5700838/]</example>
            <example>nhac.tat.nguyen:</example>
            <example>@shao.tat, use the REST API GET /wiki/rest/api/user/current.</example>
            <example>Lamma Island(Sok Kwu Wan and Mo Tat) to Aberdeen HKR International Limited:</example>
            <example>... of the Chandogya Upanishad, whose Mahāvākya, Tat Tvam Asi, is mentioned throughout...</example>
            <example>... Lezgian, Rutul, Talysh, Tat, Tsakhur, and Udi are all spoken by small minorities.</example>
            <example>The main contractor was a joint venture, comprising the contracting firms Sanfield and Tat Lee, called Manloze Ltd.</example>
            <example>When Baku was occupied by the Russian troops during the war of 1804–13, nearly the entire population of some 8,000 people was ethnic Tat.</example>
            <example>The TAT gene provides instructions for making a liver enzyme called tyrosine aminotransferase (https://ghr.nlm.nih.gov/gene/TAT]).</example>
            <example>The two tat proteins (p16 and p14) are transcriptional transactivators for the...</example>
            <example>I crochet and tat left-handed, but I knit right-handed because...</example>
            <example>The six remaining genes, tat, rev, nef, vif, vpr, and vpu (or vpx in the case of HIV-2), are regulatory genes...</example>
            <example>Tat, spoken in parts of Azerbaijan, Russia, and Transcaucasia...</example>
            <example>It's floor to ceiling tat; let's get out of this shop.</example>
        </rule>

    </category>

    <!-- ====================================================================== -->
    <!-- Nonstandard Phrases -->
    <!-- ====================================================================== -->
    <category id="NONSTANDARD_PHRASES" name="Nonstandard Phrases" type="misspelling">
      <rule id="IN_X_ORDER" name="redundant determiner: 'in (an) alphabetical order">
          <pattern case_sensitive="yes">
              <token>in</token>
              <token regexp="yes">an?</token>
              <token regexp="yes">alphabetical|ascending|descending</token>
              <token>order</token>
          </pattern>
          <message>Unless there is more than one '\3 \4', leave out the determiner '\2'.</message>
          <suggestion>\1 \3 \4</suggestion>
          <url>https://jakubmarian.com/in-an-alphabetical-order-vs-in-alphabetical-order-in-english/</url>
          <example correction="in alphabetical order">List the names <marker>in an alphabetical order</marker>.</example>
      </rule>
      <rule id="I_NEVER_HAVE_BEEN" name="I never have been (I have never been)">
          <pattern>
              <token>I</token>
              <marker>
                  <token>never</token>
                  <token>have</token>
              </marker>
              <token>been</token>
          </pattern>
          <message>Although not incorrect, the word order <suggestion>have never</suggestion> is preferred by native speakers.</message>
          <example correction='have never'>I <marker>never have</marker> been to London.</example>
      </rule>
      <rule id="FROM_X_Y" name="from X - Y (from X to Y)">
       <antipattern><!-- https://en.wikipedia.org/wiki/Foot_(unit) -->
        <token regexp='yes'>\d+</token>
        <token spacebefore='no' regexp='yes'>[′'’]</token><!--- prime, single straight quote, single curly quote -->
        <token regexp='yes'>\d+</token>
        <token spacebefore='no' regexp='yes'>[″"”]</token><!-- double prime, straight double quote, double curly quote -->
       </antipattern>
       <antipattern>
        <token regexp='yes'>\d+</token>
        <token spacebefore='yes'>.</token>
        <token spacebefore='no' regexp='yes'>\d+</token>
        <token regexp='yes'>bullets?</token>
       </antipattern>
       <pattern>
        <token>from</token>
        <token regexp='yes'>\d+</token>
        <token regexp="yes">[\-–]</token>
        <token regexp='yes'>\d+</token>
       </pattern>
       <message>Nonstandard phrase. Did you mean: <suggestion><match no="1"/> <match no="2"/> to <match no="4"/></suggestion>?</message>
       <short>Nonstandard phrase</short>
       <example correction='From 12 to 17'><marker>From 12 – 17</marker> February 2016</example>
       <example>Ferries commence service from 7:00 am.</example>
       <example>Did you see my mail from 07/07/2020?.</example>
       <example>He partnered with Stephen T. Logan from 1841 until 1844.</example>
       <example>Algiers lost from 30,000 to 50,000 inhabitants to the plague in 1620–21.</example>
       <example>The population has grown from 5,000 in 1900.</example>
       <example>Starting <marker>from 22 May 2016</marker>, we will do the new tests.</example>
       <example><marker>From 21 Feb 2014</marker> and until further notice, we will do the new tests.</example>
       <example>Rates of sea level rise range <marker>from 1.22</marker> mm per year to 2.14 mm per year.</example>
       <example>The values range <marker>from 5,55</marker> mm to approximately 7 mm.</example><!-- https://en.wikipedia.org/wiki/Decimal_mark -->
       <example>The depth varies <marker>from 2'7"</marker> approximately to 3 feet exactly.</example>
       <example>The depth varies <marker>from 2′ 9″</marker> approximately to 3 feet exactly.</example>
       <example>The height is <marker>from 3 ft 8 in</marker> (approx) to 4 feet exactly.</example>
       <example>The gradient of the mountain road varies <marker>from 3 in 10</marker> to a maximum of 4 in 10.</example>
       <example>He played a role with Vin Diesel from 2 Fast 2 Furious.</example>
       <example><marker>From 1 .22</marker> bullet, the forensic team solved the crime.</example><!-- Possibly bad style, but not an error for this rule -->
      </rule>
      <rule id="MONTH_OF_XXXX" name="February of 2005 (February 2005)">
       <pattern>
        <token regexp='yes'>&months;</token>
        <token>of</token>
        <token regexp='yes'>\d{3,30}</token>
       </pattern>
       <message>When specifying a month and year, 'of' is unnecessary.</message>
       <suggestion><match no="1"/> <match no="3"/></suggestion>
       <short>Nonstandard date</short>
       <example correction='February 1995'><marker>February of 1995</marker></example>
    </rule>
      <rule id="THE_QUESTION_WH" name="the question what (the question of what)">
      <pattern>
      <token>the</token>
        <token>question</token>
        <token postag='WRB|WP.*' postag_regexp='yes'><exception regexp='yes'>that|when</exception></token>
         </pattern>
         <message>This sounds awkward in English. The standard is <suggestion><match no="1"/> <match no="2"/> of <match no="3"/></suggestion>.</message>
         <url>http://english.stackexchange.com/questions/186173/what-is-the-correct-usage-of-the-question-of</url>
        <short>Awkward style</short>
        <example correction='the question of how'>This thesis addresses <marker>the question how</marker> to analyze concepts.</example>
         <example>This thesis addresses the question of how to analyze concepts.</example>
        </rule>
        <rule id="IN_THE_MOMENT" name="in the moment (currently)">
            <!-- Typical mistake for German native speakers -->
            <pattern>
                <marker>
                    <token>in</token>
                    <token>the</token>
                    <token>moment</token>
                </marker>
                <token><exception>of</exception></token>
            </pattern>
            <message>Did you mean <suggestion>at the moment</suggestion> (=currently)?</message>
            <short>Nonstandard phrase</short>
            <example>No, <marker>currently</marker> not.</example>
            <example correction="at the moment">No, <marker>in the moment</marker> not.</example>
            <example>But in the moment of truth everyone could see that.</example>
        </rule>
        <rule id="MAKE_SINCE" name="make since (sense)">
            <pattern>
                <token inflected="yes">make<exception scope="previous">been</exception></token>
                <marker>
                    <token>since</token>
                </marker>
                <token><exception postag="NN.*|DT|CD|PRP" postag_regexp="yes"/></token>
            </pattern>
            <message>Did you mean <suggestion>sense</suggestion>?</message>
            <short>Nonstandard phrase</short>
            <example correction="sense">Something like 90 most likely never makes <marker>since</marker>.</example>
            <example correction="sense">It makes <marker>since</marker> to do it like that.</example>
            <example>There have been three made <marker>since</marker> the launch.</example>
            <example>A promise Mr Johnson had repeatedly made since he became prime minister.</example>
            <example>Especially since you have done it.</example>
            <example>Many changes have been made <marker>since</marker> my previous visit.</example>
        </rule>
        <rule id="ALL_AND_ALL" name="all and all (all in all)">
            <pattern>
                <token><exception postag="IN" scope="previous"/>all</token>
                <token>and</token>
                <token>all</token>
            </pattern>
            <message>This phrase is nonstandard. Did you mean <suggestion>all in all</suggestion> (=after all, nevertheless)?</message>
            <short>Nonstandard phrase</short>
            <example>One for all and all for one!</example>
            <example correction="All in all"><marker>All and all</marker> it’s just another brick in the… toilet?</example>
        </rule>
        <rulegroup id="ALL_OF_THE_SUDDEN" name="all of the sudden (all of a sudden)">
            <rule>
                <pattern>
                    <token>all</token>
                    <token>of</token>
                    <token>the</token>
                    <token>sudden</token>
                </pattern>
                <message>This phrase is nonstandard. Did you mean <suggestion>all of a sudden</suggestion>?</message>
                <url>http://public.wsu.edu/~brians/errors/sudden.html</url>
                <short>Nonstandard phrase</short>
                <example correction="all of a sudden">Why would a man <marker>all of the sudden</marker> send flowers?</example>
                <example>Why would anyone all of a sudden send flowers?</example>
            </rule>
            <rule>
                <pattern>
                    <token>all</token>
                    <token>the</token>
                    <token>sudden</token>
                </pattern>
                <message>This phrase is nonstandard. Did you mean <suggestion>all of a sudden</suggestion>?</message>
                <short>Nonstandard phrase</short>
                <example correction="all of a sudden">Why would a man <marker>all the sudden</marker> send flowers?</example>
                <example>Why would anyone all of a sudden send flowers?</example>
            </rule>
        </rulegroup>
        <rule id="ALONG_THE_SAME_VEIN" name="along the same vein (along the same line, in the same vein)">
            <pattern>
                <token>along</token>
                <token>the</token>
                <token>same</token>
                <token>vein</token>
            </pattern>
            <message>This phrase is nonstandard. Use <suggestion>in the same vein</suggestion> or <suggestion>along the same line</suggestion>.</message>
            <short>Nonstandard phrase</short>
            <example correction="in the same vein|along the same line">I've been working <marker>along the same vein</marker>.</example>
        </rule>
        <rule id="EVER_SO_OFTEN" name="Misused phrase: 'ever so often (every so often)'">
            <pattern>
                <token>ever</token>
                <token>so</token>
                <token>often</token>
            </pattern>
            <message>This phrase is non-standard in most writing. Did you mean <suggestion>every \2 \3</suggestion>?</message>
            <short>Nonstandard phrase</short>
            <example correction="Every so often"><marker>Ever so often</marker>, we put down the books, and go sailing!</example>
        </rule>
        <rule id="EARLY_ADAPTER" name="early adapter (early adopter)">
            <pattern>
                <token>early</token>
                <token>adapter</token>
            </pattern>
            <message>Did you mean <suggestion>early adopter</suggestion> (=someone who takes something early on)?</message>
            <short>Nonstandard phrase</short>
            <example correction="early adopter">DualCore PC is available for purchase for selected companies in the <marker>early adapter</marker> program.</example>
        </rule>
        <rule id="FAR_BE_IT_FOR_ME" name="far be it for me (far be it from me)">
            <pattern>
                <token>far</token>
                <token>be</token>
                <token>it</token>
                <token>for</token>
                <token>me</token>
            </pattern>
            <message>Did you mean <suggestion>far be it from me</suggestion> (=may this possibility be far away from me)?</message>
            <short>Nonstandard phrase</short>
            <example correction="Far be it from me"><marker>Far be it for me</marker> to say that you can’t.</example>
        </rule>
        <rule id="MONEY_IS_NO_OPTION" name="money is no option (money is no object)">
            <pattern>
                <token>money</token>
                <token>is</token>
                <token>no</token>
                <token>option</token>
            </pattern>
            <message>Did you mean <suggestion>money is no object</suggestion> (=money is no obstacle, cost what it may)?</message>
            <short>Nonstandard phrase</short>
            <example correction="Money is no object"><marker>Money is no option</marker> when are you rich.</example>
        </rule>
        <rule id="NIP_IT_IN_THE_BUTT" name="nip it in the butt (nip it in the bud)">
            <pattern>
                <token>nip</token>
                <token>it</token>
                <token>in</token>
                <token>the</token>
                <token>butt</token>
            </pattern>
            <message>Did you mean <suggestion>nip it in the bud</suggestion> (=stop it from flowering completely)?</message>
            <short>Nonstandard phrase</short>
            <example correction="nip it in the bud">We'd like to <marker>nip it in the butt</marker> right here.</example>
        </rule>
        <rule id="NOW_AND_DAYS" name="now and days (nowadays)">
            <pattern>
                <token>now</token>
                <token>and</token>
                <token>days</token>
            </pattern>
            <message>Did you mean <suggestion>nowadays</suggestion>?</message>
            <short>Nonstandard phrase</short>
            <example correction="nowadays">Money is becoming pretty tight <marker>now and days</marker>.</example>
        </rule>
        <rulegroup id="ROUND_A_BOUTS" name="round a bout (round a bouts)">
            <url>https://www.lexico.com/definition/roundabout</url>
            <rule>
                <pattern>
                    <token>round</token>
                    <token>a</token>
                    <token regexp="yes">bouts?</token>
                </pattern>
                <message>Did you mean <suggestion>rounda<match no="3" case_conversion="alllower" /></suggestion>?</message>
                <short>Nonstandard phrase</short>
                <example correction="roundabouts">The British influence still can be seen in driving on the left side of the road, <marker>round a bouts</marker>, speed bumps, and school uniforms.</example>
            </rule>
            <rule>
                <pattern>
                    <token>round</token>
                    <token>abouts</token>
                </pattern>
                <message>Did you mean <suggestion>round<match no="2" case_conversion="alllower" /></suggestion>?</message>
                <short>Nonstandard phrase</short>
                <example correction="roundabouts">The British influence still can be seen in driving on the left side of the road, <marker>round abouts</marker>, speed bumps, and school uniforms.</example>
            </rule>
            <!-- TODO catch "the round about" -->
        </rulegroup>
        <rule id="THE_PROOF_IS_IN_THE_PUDDING" name="the proof is in the pudding (the proof of the pudding is in the eating)">
            <pattern>
                <token>the</token>
                <token>proof</token>
                <token>is</token>
                <token>in</token>
                <token>the</token>
                <token>pudding</token>
            </pattern>
            <message>If you don't want to look for proofs hidden in your pudding, you probably meant <suggestion>the proof of the pudding is in the eating</suggestion>.</message>
            <short>Nonstandard phrase</short>
            <example correction="The proof of the pudding is in the eating"><marker>The Proof Is In The Pudding</marker></example>
            <example>The proof of the pudding is in the eating.</example>
        </rule>
        <rule id="QUI_BONO" name="qui bono (cui bono)">
            <pattern>
                <token>qui</token>
                <token>bono</token>
            </pattern>
            <message>Non standard Latin. Did you mean <suggestion>cui bono</suggestion> (=to whose benefit)?</message>
            <short>Nonstandard phrase</short>
            <example correction="cui bono">Let me ask: <marker>qui bono</marker>?</example>
        </rule>
        <rule id="WHIP_CREAM" name="whip cream (whipped cream)">
            <pattern>
                <token postag="DT|JJ.*|VB[ZD]" postag_regexp="yes"/>
                <marker>
                    <token>whip</token>
                    <token>cream</token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>whipped cream</suggestion>?</message>
            <short>Nonstandard phrase</short>
            <example correction="whipped cream">Whip cream until it becomes <marker>whip cream</marker>.</example>
        </rule>
        <rule id="IN_OR_WITH_REGARDS_TO_OF" name="in/with regards to/of (regarding, with regard to)">
            <pattern>
                <token regexp="yes">in|with</token>
                <token>regards</token>
                <token regexp="yes">to|of</token>
            </pattern>
            <message>Use <suggestion>in regard to</suggestion>, <suggestion>with regard to</suggestion>, or more simply <suggestion>regarding</suggestion>.</message>
            <url>https://languagetool.org/insights/post/regard/</url>
            <short>Nonstandard phrase</short>
            <example correction="in regard to|with regard to|regarding">Please be aware of the following changes <marker>in regards to</marker> this program.</example>
            <example correction="in regard to|with regard to|regarding">But, they would assist in some way <marker>with regards to</marker> the criminal prosecution.</example>
            <example correction="In regard to|With regard to|Regarding"><marker>With regards to</marker> America, we must not forget that the…</example>
            <example correction="in regard to|with regard to|regarding">The hotel is satisfactory <marker>in regards of</marker> quality and price.</example>
            <example>Please be aware of the following changes in this program.</example>
            <example>But, they would assist in some way <marker>with regard to</marker> the criminal prosecution.</example>
            <example>But, they would assist in some way <marker>in regard to</marker> the criminal prosecution.</example>
            <example>But, they would assist in some way <marker>regarding</marker> the criminal prosecution.</example>
            <example type="triggers_error">I hope this letter finds you well. Love Mike. P.S. <marker>With regards to</marker> Susan.</example>
        </rule>
        <rule id="VERY_KNOWN" name="very known (very well-known, well-known)">
            <pattern>
                <token>very</token>
                <token>known</token>
            </pattern>
            <message>Incorrect phrase. Use <suggestion>very well-known</suggestion> or <suggestion>well-known</suggestion> instead.</message>
            <short>Incorrect phrase</short>
            <example correction="very well-known|well-known">He is a <marker>very known</marker> actor.</example>
        </rule>
        <rulegroup default='off' id="I_VE_A" name="Non-standard contractions '(I've a...)'">
          <url>https://en.wikipedia.org/wiki/English_auxiliaries_and_contractions#Contracted_auxiliaries</url>
          <!-- https://www.quora.com/Is-Ive-a-gramatically-correct
               https://painintheenglish.com/case/4840
               https://dictionary.cambridge.org/grammar/british-grammar/contractions
               XXX says rule valid for AmE https://english.stackexchange.com/questions/8/is-it-appropriate-to-use-short-form-of-have-ve-when-it-means-possession -->
            <rule>
                <pattern>
                    <token/>
                    <token spacebefore="no">'ve</token>
                    <token regexp="yes">an?</token>
                </pattern>
                <message>This is a non-standard contraction. Use <suggestion>\1 have \3</suggestion> or <suggestion>\1've got \3</suggestion> to express possession.</message>
                <short>Non-standard contraction</short>
                <example>I've got a new car.</example>
                <example correction="I have a|I've got a"><marker>I've a</marker> new car.</example>
            </rule>
            <rule>
                <pattern>
                    <token spacebefore="no">'ve</token>
                    <token postag="CD"/>
                </pattern>
                <message>This is a non-standard contraction. Use <suggestion>have \2</suggestion> or <suggestion>'ve got</suggestion> to express possession.</message>
                <short>Non-standard contraction</short>
                <example>I've got three new cars.</example>
                <example correction="have three|'ve got">I<marker>'ve three</marker> new cars.</example>
            </rule>
        </rulegroup>
        <rulegroup type="locale-violation" id="CD_00_O_CLOCK" name="7:00 o'clock (7:00 or 7 o'clock)">
            <url>http://esl.about.com/library/beginner/bltime.htm</url>
            <rule>
                <pattern>
                    <token regexp="yes">\d</token>
                    <token>:</token>
                    <token>00</token>
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>clock</token>
                </pattern>
                <message>Wrong phrase. Use <suggestion>\1\2\3</suggestion> or <suggestion>\1 \4\5\6</suggestion>.</message>
                <short>Non-standard phrase</short>
                <example correction="7:00|7 o'clock">It's <marker>7:00 o'clock</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">\d</token>
                    <token>:</token>
                    <token regexp="yes">\d\d<exception>00</exception></token>
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>clock</token>
                </pattern>
                <message>Wrong phrase; 'o'clock is used only at the full hour. Use simply <suggestion>\1\2\3</suggestion> instead.</message>
                <short>Non-standard phrase</short>
                <example>It's 7 o'clock.</example>
                <example correction="7:45">It's <marker>7:45 o'clock</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="SI_UNITS_OF_MEASURMENT_ADJECTIVES_PLURAL" name="5-farads/5-farad">
            <pattern>
                <token regexp="yes">([0-9]+-)(yotta|zetta|exa|peta|tera|giga|mega|kilo|hecto|deca|deka|deci|centi|milli|micro|nano|pico|femto|atto|zepto|yocto)?(amperes|becquerels|candelas|coulombs|farads|grams|grammes|grays|henries|hertz|joules|katals|kelvins|liters|litres|lumens|lux|meters|metres|moles|newtons|ohms|pascals|radians|siemens|sieverts|steradians|teslas|volts|watts|webers)<exception postag="NNP"/></token>
            </pattern>
            <message>The word '<match no="1"/>' is an adjective (SI unit of measurement), but the spelling is not correct. Do not use a plural adjective. Refer to section 5.4.3 in 'SI Brochure: The International System of Units (SI)'.</message>
            <url>https://www.bipm.org/en/publications/si-brochure/</url>
            <short>SI units, plural adjectives</short>
            <example correction="">Use a <marker>6-microfarads</marker> capacitor.</example>
            <example>Use a <marker>6-microfarad</marker> capacitor.</example>
            <example correction="">A <marker>10-milliohms</marker> resistor is necessary.</example>
            <example correction="">Use a <marker>10-metres</marker> rope.</example>
            <example correction="">The 4.<marker>6-centigrammes</marker> difference is not a problem.</example>
            <example correction="">Also find typographic errors: a 5.7.<marker>8-femtogrammes</marker> difference is not important.</example>
        </rule>
        <rule id="INFORMATIONS" name="legal term: informations">
            <pattern>
                <token>informations</token>
            </pattern>
            <message>The word '\1' is a legal term. In standard English, the word 'information' is a non-count noun.</message>
            <suggestion>information</suggestion>
            <url>https://www.lexico.com/definition/information</url>
            <short>Nonstandard word</short>
            <example correction="information">Give me the <marker>informations</marker> immediately.</example>
            <example>Give me the <marker>information</marker> immediately.</example>
            <example type="triggers_error">The Local Court Magistrate declared void the <marker>informations</marker>.</example>
        </rule>
    </category>

    <!-- ====================================================================== -->
    <!-- Redundant Phrases -->
    <!-- ====================================================================== -->
    <category id="REDUNDANCY" name="Redundant Phrases" type="style">
        <rulegroup id="MORE_THAN_CD_PLUS" name="Redundant 'plus': 100+ and more">
            <rule>
                <pattern>
                    <token regexp="yes">more|greater|bigger|larger</token>
                    <token>than</token>
                    <marker>
                        <token postag="CD" />
                        <token spacebefore="no">+</token>
                    </marker>
                </pattern>
                <message>The "+" seems to be redundant in this sentence. Consider removing it.</message>
                <suggestion>\3</suggestion>
                <example correction="100">We have more than <marker>100+</marker> customers.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">more|greater|bigger|larger</token>
                    <token>than</token>
                    <marker>
                        <token postag="CD" />
                        <token regexp="yes" spacebefore="no">[.,]</token>
                        <token postag="CD" spacebefore="no" />
                        <token spacebefore="no">+</token>
                    </marker>
                </pattern>
                <message>The "+" seems to be redundant in this context. Consider removing it.</message>
                <suggestion>\3\4\5</suggestion>
                <example correction="100,000">We have more than <marker>100,000+</marker> customers.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD" />
                        <token spacebefore="no">+</token>
                    </marker>
                    <token regexp="yes">or|and|&amp;</token>
                    <token min="0" regexp="yes">many|some|few|plenty|lot</token>
                    <token regexp="yes">more|greater|bigger|larger</token>
                </pattern>
                <message>The "+" seems to be redundant in this sentence. Consider removing it.</message>
                <suggestion>\1</suggestion>
                <example correction="100">We have <marker>100+</marker> and more customers.</example>
            </rule>
        </rulegroup>
    <rulegroup id="IN_A_X_MANNER" name="Wordiness: in a ... manner">
        <antipattern><!-- noun, sex position -->
            <token>doggy</token>
            <token>style</token>
        </antipattern>
        <antipattern>
            <token>one</token>
            <token>way</token>
        </antipattern>
        <antipattern><!-- She's dumb but in a goofy way  -->
            <token>but</token>
            <token min="0" regexp="yes">more|less</token>
            <token>in</token>
            <token regexp="yes">an?</token>
        </antipattern>
        <antipattern><!-- in a nice fashion dress -->
            <token>in</token>
            <token>a</token>
            <token postag="JJ.*" postag_regexp="yes" />
            <token>fashion</token>
            <token postag="NN.*" postag_regexp="yes" />
        </antipattern>
        <antipattern><!-- He has done it clearly in a unusual way. -->
            <token postag="RB" regexp="yes">.+ly</token>
            <token>in</token>
            <token regexp="yes">an?</token>
        </antipattern>
        <antipattern><!-- He is scary in a funny way -->
            <token inflected="yes" regexp="yes">be|look|behave|seem|sound|act</token>
            <token postag="JJ.*" postag_regexp="yes" />
            <token min="0" regexp="yes">more|less</token>
            <token>in</token>
            <token regexp="yes">an?</token>
        </antipattern>
        <antipattern><!-- He is very scary in a funny way -->
            <token inflected="yes" regexp="yes">be|look|behave|seem|sound|act</token>
            <token postag="RB" />
            <token postag="JJ.*" postag_regexp="yes" />
            <token min="0" regexp="yes">more|less</token>
            <token>in</token>
            <token regexp="yes">an?</token>
        </antipattern>
        <antipattern>
            <token>in</token>
            <token regexp="yes">an?</token>
            <token case_sensitive="yes" regexp="yes">[A-Z][A-Z].*</token>
        </antipattern>
        <rule>
            <pattern>
                <token>in</token>
                <token regexp="yes">an?</token>
                <token regexp="yes">hasty|easy|happy|speedy|funny|temporary</token>
                <token regexp="yes">manner|style|way|fashion</token>
            </pattern>
            <message>Consider replacing this phrase with the adverb <suggestion><match no="3" regexp_match="(?i)y$" regexp_replace="ily" /></suggestion> to avoid wordiness.</message>
            <example correction="hastily">He did it <marker>in a hasty manner</marker>.</example>
            <example>Preferably in an easy way.</example>
            <example>He is very scary in a funny way.</example>
        </rule>
        <rule>
            <pattern>
                <token>in</token>
                <token regexp="yes">an?</token>
                <token regexp="yes">(in)correct?|consistent|positive|negative|(in)?effective|(in)?efficient|different|(in)?secure|safe|(un)?natural|purposeful|respectful|fitting|random|circular|elegant|(in)?appropriate|concise|fair|persuasive|dramatical|romantical|peaceful|casual|great|transparent|contrasting|gorgeous|proper|impactful|extreme|(un)?successful|swift|(un)?threatening|practical|(un)?professional|nice|satisfying|captivating|pleasant|productive|exciting|mindful|unique|aggressive|logical|(un)?attractive|smooth|calm|playful|linear|surprising|beneficial|regular|violent|careful|slow|traditional|(un)?lawful|significant|sequential|similar|proactive|thorough|effortless</token>
                <token regexp="yes">manner|style|way|fashion</token>
            </pattern>
            <message>Consider replacing this phrase with the adverb <suggestion><match no="3" regexp_match="$" regexp_replace="ly" /></suggestion> to avoid wordiness.</message>
            <example correction="effectively">He did it <marker>in an effective way</marker>.</example>
            <example>It is dreary here today, but in a nice way.</example>
        </rule>
        <rule>
            <pattern>
                <token>in</token>
                <token regexp="yes">an?</token>
                <token regexp="yes">iconic|romantic|ecstatic|symmetric|realistic|apoplectic|systematic|optimistic|automatic|scientific</token>
                <token regexp="yes">manner|style|way|fashion</token>
            </pattern>
            <message>Consider replacing this phrase with the adverb <suggestion><match no="3" regexp_match="$" regexp_replace="ally" /></suggestion> to avoid wordiness.</message>
            <example correction="systematically">He did it <marker>in a systematic way</marker>.</example>
        </rule>
        <rule>
            <pattern>
                <token>in</token>
                <token regexp="yes">an?</token>
                <token regexp="yes">horrible|terrible|(un)?predictable|(un)?reasonable|(un)?favorable|responsible|(un)?sustainable|repeatable|comparable|reliable</token>
                <token regexp="yes">manner|style|way|fashion</token>
            </pattern>
            <message>Consider replacing this phrase with the adverb <suggestion><match no="3" regexp_match="(?i)le$" regexp_replace="ly" /></suggestion> to avoid wordiness.</message>
            <example correction="terribly">He did it <marker>in a terrible way</marker>.</example>
        </rule>
        <rule tags="picky"><!-- picky and creates many false alarms where the suggestion just doesn't make any sense -->
            <pattern>
                <token>in</token>
                <token regexp="yes">an?</token>
                <token postag="JJ">
                    <exception regexp="yes">big|certain|preparatory|good|modern|christian|agglutinative|unsterile|particular|humanlike|military|ordinary|roundabout|special|interesting|new</exception><exception case_sensitive="yes" regexp="yes">[A-Z].*</exception>
                    <!-- words that don't really have an adverb form, or where the adverb has a different meaning ("I need you in a bad way" => "I need you badly") -->
                    <exception regexp="yes">timely|friendly|princely|small|catholic|emotionless|stepwise|slick|bad|clear|specific|right|overall|hard|convergent|hands-on|holy|safety|common|cost-efficient|same|first|second|all|straightforward|simple</exception>
                    <!-- adjectived ending with 'ed' usually don't have an adverb form ("certified", "automated", "limited", ...) -->
                    <exception regexp="yes">.+ed</exception>
                </token>
                <token regexp="yes">manner|style|way|fashion</token>
            </pattern>
            <message>Consider replacing "\1 \2 \3 \4" with the adverb for "\3"; e.g., "in a hasty manner" with "hastily".</message>
            <short>Possible wordiness</short>
            <example correction="">He came <marker>in a hasty manner</marker>.</example>
            <example>He came <marker>hastily</marker>.</example>
            <example>This ethnic dish is arranged in a Japanese style.</example>
            <example>I feel good in a special way.</example>
            <example>Don't say it in a roundabout way.</example>
            <example>You cannot solve this problem in an ordinary way.</example>
            <example>You must perform all assignments in a timely manner.</example>
            <example>He accessed the computer in a remote mode.</example>
        </rule>
    </rulegroup>
    <rule id="TELL_IT" name="I [told it to] -> I [told] Leo" tags="picky">
        <antipattern>
            <token>to</token>
            <token>tell</token>
        </antipattern>
        <antipattern>
            <token>tell</token>
            <token skip="-1">it</token>
            <token regexp="yes">it|straight</token>
            <token postag="SENT_END" />
        </antipattern>
        <antipattern>
            <token inflected="yes">tell</token>
            <token>it</token>
            <token>to</token>
            <token postag="PRP$" />
            <token>face</token>
        </antipattern>
        <antipattern>
            <token case_sensitive="yes">Tell</token>
            <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
        </antipattern>
        <antipattern>
            <token regexp="yes" skip="-1">&quote;</token>
            <token>tell</token>
            <token>it</token>
            <token skip="-1">to</token>
            <token regexp="yes">&quote;</token>
        </antipattern>
        <pattern>
            <marker>
                <token inflected="yes">tell</token>
                <token>it</token>
                <token>to</token>
            </marker>
            <token chunk_re="B-NP.*">
                <exception postag="V.*" postag_regexp="yes" />
                <exception regexp="yes">a|access|output|the</exception>
            </token>
        </pattern>
        <message>This phrasing could be wordy.</message>
        <suggestion>\1</suggestion>
        <example correction="told">He <marker>told it to</marker> Leo.</example>
        <example>Ought I to tell it to him?</example>
        <example>They are straight shooters and will tell it to you as they see it.</example>
        <example>Why don't you just come out and tell it to me straight?</example>
        <example>If you have a bone to pick with a person, tell it to his face</example>
        <example>Another TV show, Tell It To Groucho, premiered January 11, 1962, on CBS</example>
        <example>He says, "Yeah and tell it to my wife."</example>
    </rule>
    <rulegroup id="FORMER_ALUMNUS" name="former alumnus (alumnus)">
    <url>https://www.amherst.edu/news/communications/editorial-services-media/styleguide/node/84702</url>
    <rule>
     <pattern>
      <token>a</token>
      <token>former</token>
      <token>alumnus</token>
     </pattern>
     <message>This phrase is redundant. Consider writing <suggestion>an <match no="3"/></suggestion>.</message>
     <short>Redundant phrase</short>
     <example correction='an alumnus'>As the wife of <marker>a former alumnus</marker> of UCLA, I am appalled at recent events that have occurred and seemingly encouraged by the administration.</example>
    </rule>
    <rule>
     <pattern>
      <token><exception>a</exception></token>
      <marker>
      <token>former</token>
      <token>alumnus</token>
      </marker>
     </pattern>
     <message>This phrase is redundant. Consider writing <suggestion><match no="3"/></suggestion>.</message>
     <short>Redundant phrase</short>
     <example correction='alumnus'>The <marker>former alumnus</marker> adviser of Alpha Lambda Chapter was elected as congressman-at- large in Ohio.</example>
    </rule>
    </rulegroup>
        <rulegroup id="SWORN_AFFIDAVIT" name="sworn affidavit (affidavit)">
        <rule>
         <pattern>
          <token>a</token>
          <token>sworn</token>
          <token>affidavit</token>
         </pattern>
         <message>This phrase is redundant. Consider using <suggestion>an <match no="3"/></suggestion></message>
         <url>http://wordinfo.info/unit/4246/page:21</url>
         <short>Redundant phrase</short>
         <example correction='An affidavit'><marker>A sworn affidavit</marker> is a written statement made by someone under oath to tell the truth about something.</example>
        </rule>
        <rule>
         <pattern>
          <token><exception>a</exception></token>
          <marker>
          <token>sworn</token>
          <token>affidavit</token>
          </marker>
         </pattern>
         <message>This phrase is redundant. Consider using <suggestion><match no="3"/></suggestion></message>
         <url>http://wordinfo.info/unit/4246/page:21</url>
         <short>Redundant phrase</short>
         <example correction='affidavit'>His <marker>sworn affidavit</marker> was deposited in the post office mailbox.</example>
        </rule>
        </rulegroup>
        <rule id="DIRECTLY_ANTITHETICAL" name="directly antithetical (antithetical)">
         <pattern>
          <token>directly</token>
          <token>antithetical</token>
         </pattern>
         <message>This phrase verges on redundancy. Consider writing <suggestion><match no="2"/></suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='antithetical'>The two events this week were <marker>directly antithetical</marker> to the University's values for these reasons.</example>
         <example>The two events this week were antithetical to the University's values for these reasons.</example>
        </rule>
        <rule id="APPROXIMATELY_ABOUT" name="approximately about">
         <pattern>
          <marker>
          <token>approximately</token>
          <token>about</token>
          </marker>
          <token postag='CD'></token>
         </pattern>
         <message>This phrase is redundant. Consider using <suggestion><match no="1"/></suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='approximately'>Americans feel full of energy and healthy <marker>approximately about</marker> 19 days per month.</example>
         <example>Americans feel full of energy and healthy approximately 19 days per month.</example>
         <example>In reasoning about a complex system, humans reason approximately about its behavior.</example>
        </rule>
        <rulegroup id="ASSOCIATE_TOGETHER" name="associate together (associate)">
        <rule>
         <pattern>
          <token inflected='yes'>associate</token>
          <token>together</token>
          <token>in</token>
          <token>groups</token>
         </pattern>
         <message>This phrase is redundant. Consider writing <suggestion><match no="1"/></suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='associate'>Hippos <marker>associate together in groups</marker>.</example>
        </rule>
        <rule>
         <pattern>
          <token inflected='yes'>associate</token>
          <token>together</token>
         </pattern>
         <message>This phrase is redundant. Consider writing <suggestion><match no="1"/></suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='associated'>Poets and choregi having been <marker>associated together</marker> in pairs, there still remained the selection and appointment of the actors.</example>
        </rule>
        </rulegroup>
        <rule id="SUFFICIENT_ENOUGH" name="sufficient enough → sufficient">
            <pattern>
                <token>sufficient</token>
                <token>enough</token>
            </pattern>
            <message>'Sufficient enough' is redundant. Consider using only <suggestion>sufficient</suggestion>.</message>
            <url>http://english.stackexchange.com/questions/139595/can-i-say-sufficient-enough-here</url>
            <short>Redundant phrase</short>
            <example correction='sufficient'>The money is <marker>sufficient enough</marker> to buy the pullover.</example>
        </rule>
        <rule id="OF_ANY_OF" name="of any of → of">
            <pattern>
                <token>of</token>
                <token>any</token>
                <token>of</token>
            </pattern>
            <message>Consider simply using <suggestion>of</suggestion> instead.</message>
            <url>https://s3.wp.wsu.edu/uploads/sites/1350/2017/05/errorsRTF.txt</url>
            <example correction='of'>He was the worst <marker>of any of</marker> the dancers</example>
        </rule>
        <rule id="USELESS_THAT" name="Possibly needless 'that'" default="off">
            <pattern>
                <token postag='JJ'><exception postag_regexp="yes" postag='VBN|RP'/><exception regexp='yes'>say|like|then|so|though|.*?ble</exception></token>
                <marker>
                    <token>that</token>
                </marker>
                <token><exception postag="SENT_END"/></token>
            </pattern>
            <message>"\2" may be unnecessary here.</message>
            <short>Possibly needless word</short>
            <example correction="">I am pretty sure <marker>that</marker> this is right.</example>
            <example>I am pretty sure this is right.</example>
            <example>It has grown way beyond that.</example>
        </rule>
        <rule id="SEND_AN_EMAIL" name="send an email to (email)">
            <pattern>
                <token>send</token>
                <token regexp="yes">an?</token>
                <token>email</token>
                <token>to</token>
            </pattern>
            <message>Consider using <suggestion>email</suggestion>.</message>
            <short>Redundant phrase</short>
            <example>He was going to <marker>email</marker> her.</example>
            <example correction="email">He was going to <marker>send an email to</marker> her.</example>
        </rule>
        <rule id="SENT_AN_EMAIL" name="sent an email to (email)">
            <pattern>
                <token>sent</token>
                <token regexp="yes">an?</token>
                <token>email</token>
                <token>to</token>
            </pattern>
            <message>Consider using <suggestion>emailed</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="emailed">He <marker>sent an email to</marker> her.</example>
            <example>He <marker>emailed</marker> her.</example>
        </rule>
        <rulegroup id="SEND_PRP_AN_EMAIL" name="send me an email (email me)"><!-- https://forum.languagetool.org/t/en-possible-new-rule-2019-07-19/4486 -->
            <short>Possibly redundant phrase</short>
            <rule><!-- email -->
                <pattern>
                    <token inflected="yes">send</token>
                    <token regexp="yes">me|you|him|her|us|them</token>
                    <token>an</token>
                    <token>email</token>
                </pattern>
                <message>In some texts, you can shorten this phrase. Consider using <suggestion><match no="1" postag="VB.*">email</match> \2</suggestion>.</message>
                <example correction="emailed me">Peter has <marker>sent me an email</marker>.</example>
                <example correction="email her">Jenny didn't <marker>send her an email</marker>.</example>
                <example correction="emailing him">I was <marker>sending him an email</marker> when he phoned me.</example>
                <example>Peter has <marker>emailed</marker> me.</example>
            </rule>
            <rule><!-- e-mail -->
                <pattern>
                    <token inflected="yes">send</token>
                    <token regexp="yes">me|you|him|her|us|them</token>
                    <token>an</token>
                    <token>e-mail</token>
                </pattern>
                <message>In some texts, you can shorten this phrase. Consider using <suggestion><match no="1" postag="VB.*">e-mail</match> \2</suggestion>.</message>
                <example correction="e-mailed me">Peter has <marker>sent me an e-mail</marker>.</example>
                <example correction="e-mail her">Jenny didn't <marker>send her an e-mail</marker>.</example>
                <example correction="e-mailing him">I was <marker>sending him an e-mail</marker> when he phoned me.</example>
                <example>Peter has <marker>e-mailed</marker> me.</example>
                <example type="triggers_error">Pierre <marker>sent me an E-mail</marker>, a rather scathing E-mail.</example>
            </rule>
        </rulegroup>
        <rule default="off" id="WORLD_AROUND_IT" name="the world around it (the world)">
            <pattern>
                <marker>
                    <token>the</token>
                    <token>world</token>
                    <token>around</token>
                    <token postag="PRP"/>
                </marker>
                <token><exception postag="NN.*|CC" postag_regexp="yes"/></token>
            </pattern>
            <message>Consider using <suggestion>the world</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="the world">He didn't like <marker>the world around him</marker>.</example>
            <example>He didn't like the world.</example>
        </rule>
        <rule id="BECAUSE_OF_THE_FACT_THAT" name="because of the fact that (because)">
            <pattern>
                <token>because</token>
                <token>of</token>
                <token>the</token>
                <token>fact</token>
                <token>that</token>
            </pattern>
            <message>This phrase is redundant. Consider using <suggestion>because</suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Grammar_and_Misc</url>
            <short>Redundant phrase</short>
            <example correction="because">Its crystals are usually hexagonal in shape, with flakiness and plating, usually <marker>because of the fact that</marker> it replaced a mineral.</example>
        </rule>
        <rulegroup id="VERY_SMALL_TINY" name="Wordiness: very small" default="off">
            <rule>
                <pattern>
                    <token postag="DT"></token>
                        <marker>
                            <token regexp="yes">extremely|very</token>
                            <token postag="JJ">small</token>
                        </marker>
                </pattern>
                <message>Consider replacing "\2 \3" with <suggestion>tiny</suggestion>, <suggestion>microscopic</suggestion>, or <suggestion>insignificant</suggestion>.</message>
                <short>Possible wordiness</short>
                <example correction="tiny|microscopic|insignificant">He came to a <marker>very small</marker> house.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ATM_MACHINE" name="ATM machine (ATM)">
            <rule>
                <pattern>
                    <token>ATM</token>
                    <token regexp="yes">machines?</token>
                </pattern>
                <message>This phrase is redundant ('M' stands for 'machine'). Use simply <suggestion>\1<match no="2" regexp_match="(?i)(machine)" regexp_replace=""/></suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="ATM"><marker>ATM Machine</marker> Comparison Guide</example>
                <example correction="ATMs">Criminals are stealing money from <marker>ATM machines</marker> by blowing them up.</example>
                <example>ATMs are quite common in the Netherlands,</example>
            </rule>
        </rulegroup>
        <rulegroup id="HIV_VIRUS" name="HIV virus (HIV)">
            <rule>
                <pattern>
                    <token>HIV</token>
                    <token>virus</token>
                </pattern>
                <message>This phrase is redundant ('V' stands for 'virus'). Use simply <suggestion>\1</suggestion>.</message>
                <url>https://www.poz.com/blog/hiv-virus-is-redunda</url>
                <short>Redundant phrase</short>
                <example correction="HIV">The <marker>HIV virus</marker> continues to spread.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PIN_NUMBER" name="PIN number / ISBN number (PIN / ISBN)">
            <rule>
                <pattern>
                    <token regexp="yes">IS[BS]N|PIN</token>
                    <token regexp="yes">numbers?</token>
                </pattern>
                <message>This phrase is redundant ('N' stands for 'number'). Consider using <suggestion>\1<match no="2" regexp_match="(?i)(number)" regexp_replace=""/></suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="PIN">Please input your <marker>PIN number</marker> to access.</example>
                <example correction="PINs">You can create multiple <marker>PIN numbers</marker> to enhance the security.</example>
                <example correction="ISBN">Could you let me know the <marker>ISBN number</marker> of the book?</example>
                <example correction="ISBNs"><marker>ISBN numbers</marker> are assigned to text-based monographic publications.</example>
            </rule>
        </rulegroup>
        <rulegroup id="LCD_DISPLAY" name="LCD display (LCD)">
            <rule>
                <pattern>
                    <token>LCD</token>
                    <token regexp="yes">displays?</token>
                </pattern>
                <message>This phrase is redundant ('D' stands for 'display'). Consider using <suggestion>\1<match no="2" regexp_match="(?i)(display)" regexp_replace=""/></suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="LCD">The result is printed on this <marker>LCD display</marker>.</example>
                <example correction="LCDs"><marker>LCD displays</marker> have sources of light behind the screens.</example>
            </rule>
        </rulegroup>
        <rule id="ADD_AN_ADDITIONAL" name="add an additional (add)">
            <pattern>
                <token inflected="yes">add</token>
                <token regexp="yes">an?</token>
                <token regexp="yes">additional|further</token>
                <token/>
            </pattern>
            <message>This phrase might be redundant. Consider either removing or replacing the adjective '<match no="3" case_conversion="alllower" />'.</message>
            <suggestion><match no="1"/> <match no="4" postag="+INDT"/></suggestion>
            <suggestion><match no="1"/> another <match no="4" /></suggestion>
            <short>Redundant phrase</short>
            <example correction="Add a page|Add another page">How to <marker>Add an additional page</marker> to a Full Flash Site</example>
            <example correction="add a clause|add another clause">How can I <marker>add an additional clause</marker> to the query to consider the number of transactions on the server?</example>
            <example correction="add a point|add another point">I'd <marker>add a further point</marker> and suggest that the events are manipulated to be harder.</example>
        </rule>
        <rulegroup id="AM_PM_OCLOCK" name="7 o'clock AM (7 o'clock)">
            <rule>
                <pattern>
                    <token postag="CD"/>
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>clock</token>
                    <token regexp="yes">[ap]</token>
                    <token>.</token>
                    <token>m</token>
                </pattern>
                <message>Redundant phrase. Consider using <suggestion>\1 \2\3\4</suggestion> or <suggestion>\1 \5\6\7</suggestion>.</message>
                <example correction="7 o'clock|7 a.m">It's <marker>7 o'clock a.m</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="CD"/>
                    <token>o</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>clock</token>
                    <token regexp="yes">[ap]m</token>
                </pattern>
                <message>Redundant phrase. Consider using <suggestion>\1 \2\3\4</suggestion> or <suggestion>\1 \5</suggestion>.</message>
                <example correction="7 o'clock|7 AM">It's <marker>7 o'clock AM</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AM_PM" name="12;30 a.m. (12:30 a.m.)">
            <rule>
                <pattern>
                    <marker>
                        <token postag="CD"/>
                        <token regexp="yes">.<exception>:</exception><exception>.</exception></token>
                        <token postag="CD"/>
                    </marker>
                    <token regexp="yes">[ap]</token>
                    <token>.</token>
                    <token>m</token>
                </pattern>
                <message>Did you mean <suggestion>\1:\3</suggestion>?</message>
                <example correction="7:30">It's <marker>7,30</marker> p.m.</example>
                <example>The asteroid will arrive first-class at 10.45 a.m.</example>
            </rule>
        </rulegroup>
        <rulegroup id="AM_IN_THE_MORNING" name="AM in the morning (AM)">
            <rule>
                <pattern case_sensitive="no">
                    <token><exception scope="previous">I</exception>AM</token>
                    <token>in</token>
                    <token>the</token>
                    <token>morning</token>
                </pattern>
                <message>This is redundant. Consider using <suggestion>\1</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="AM">It's 5 <marker>AM in the morning</marker>.</example>
                <example>He doesn't know where I am in the morning.</example>
            </rule>
            <rule>
                <pattern>
                <token regexp="yes">\d+</token>
                <marker>
                    <token>A</token>
                    <token>.</token>
                    <token>M</token>
                    <token>.</token>
                    <token>in</token>
                    <token>the</token>
                    <token>morning</token>
                </marker>
                </pattern>
                <message>This is redundant. Consider using <suggestion>\2.\4.</suggestion></message>
                <short>Redundant phrase</short>
                <example correction="A.M.">It's 5 <marker>A.M. in the morning</marker>.</example>
                <example>It's 5 A.M.</example>
            </rule>
        </rulegroup>
        <rulegroup id="PM_IN_THE_EVENING" name="PM in the evening (PM)">
            <rule>
                <pattern case_sensitive="no">
                    <token>PM</token>
                    <token>in</token>
                    <token>the</token>
                    <token regexp="yes">evening|afternoon</token>
                </pattern>
                <message>This is redundant. Consider using <suggestion>\1</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="PM">It's 5 <marker>PM in the evening</marker>.</example>
            </rule>
            <rule>
                <pattern case_sensitive="no">
                    <token>PM</token>
                    <token>at</token>
                    <token>night</token>
                </pattern>
                <message>This is redundant. Consider using <suggestion>\1</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="PM">It's 1 <marker>PM at night</marker>.</example>
                <example>It's 5 PM.</example>
            </rule>
            <rule>
                <pattern>
                <token regexp="yes">\d+</token>
                    <marker>
                    <token>P</token>
                    <token>.</token>
                    <token>M</token>
                    <token>.</token>
                    <token>in</token>
                    <token>the</token>
                    <token regexp="yes">evening|afternoon</token>
                    </marker>
                </pattern>
                <message>This is redundant. Consider using <suggestion>\2.\4.</suggestion></message>
                <short>Redundant phrase</short>
                <example correction="P.M.">It's 5 <marker>P.M. in the afternoon</marker>.</example>
                <example>It's 5 P.M.</example>
            </rule>
            <rule>
                <pattern>
                <token regexp="yes">1?\d</token>
                <marker>
                    <token>P</token>
                    <token>.</token>
                    <token>M</token>
                    <token>.</token>
                    <token>at</token>
                    <token>night</token>
                    <token min="0">.</token>
                </marker>
                </pattern>
                <message>This is redundant. Consider using <suggestion>P.M.</suggestion></message>
                <short>Redundant phrase</short>
                <example correction="P.M.">It's 1 <marker>P.M. at night.</marker></example>
                <example>It's 5 P.M.</example>
            </rule>
        </rulegroup>
        <rule default="off" id="AND_ALSO" name="and also (and/also)">
            <pattern>
                <token>and</token>
                <token>also</token>
            </pattern>
            <message>Consider using <suggestion>and</suggestion> or <suggestion>also</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="and|also">Typical English Food <marker>and also</marker> Welsh and Scottish too</example>
            <example>Typical English Food, and Welsh and Scottish too</example>
        </rule>
        <rule id="AND_ETC" name="and (etc)">
            <antipattern case_sensitive="yes">
                <token>and</token>
                <token>ETC</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>and</token>
                    <token>etc</token><!-- A full stop is not necessary: https://www.collinsdictionary.com/dictionary/english/etc -->
                </marker>
                <token>
                    <exception spacebefore="no">/</exception></token>
            </pattern>
            <message>Write the name of the item after '\1' or use only <suggestion>\2</suggestion>.</message>
            <url>https://www.lexico.com/definition/etc.</url>
            <short>Redundant phrase</short>
            <example correction="etc">… pens, pencils, rulers, paper clips, rulers, <marker>and etc</marker>.</example>
            <example correction="etc">E-Commerce <marker>and etc</marker> is usually...</example>
            <example>… pens, pencils, rulers, paper clips, rulers, <marker>etc</marker>.</example>
            <example>IEM member and ETC director John Brunsden said…</example>
            <example>… and etc/somepath/file.txt is also…</example>
        </rule>
        <rule id="ADEQUATE_ENOUGH" name="adequate enough (adequate)">
        <pattern>
        <token>adequate</token>
        <token>enough</token>
        </pattern>
        <message>This phrase might be redundant. Consider using <suggestion>\1</suggestion>.</message>
        <url>https://www.dailywritingtips.com/adequate-is-adequate/</url>
        <short>Redundant phrase</short>
        <example correction="adequate">The Allen test is not <marker>adequate enough</marker> for the screening of hand circulation.</example>
        </rule>
        <rule default="off" id="ARE_ABLE_TO" name="are able to (can)">
            <pattern>
                <token>are</token>
                <token>able</token>
                <token>to</token>
            </pattern>
            <message>This expression is wordy. Consider using <suggestion>can</suggestion>.</message>
            <url>http://www.whichenglish.com/Better-English-Grammar/Online-Usage-Letter-A.html</url>
            <example>Yes, there are some species of frogs that can throw up their entire stomach and wipe it off with their legs.</example>
            <example correction="can">Yes, there are some species of frogs that <marker>are able to</marker> throw up their entire stomach and wipe it off with their legs.</example>
        </rule>
        <rule id="ASK_THE_QUESTION" name="ask the question (ask)">
            <pattern>
                <marker>
                    <token inflected="yes">ask</token>
                    <token>the</token>
                    <token>question</token>
                </marker>
                <token><exception postag="SENT_END"/></token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion> instead.</message>
            <short>Redundant phrase</short>
            <example>He asked the question.</example>
            <example correction="asked">He <marker>asked the question</marker> whether it's OK to add some rules to LanguageTool.</example>
        </rule>
        <rule id="AS_OF_YET" name="as of yet (yet)">
            <pattern>
                <token>as</token>
                <token>of</token>
                <token>yet</token>
            </pattern>
            <message>Consider using <suggestion>yet</suggestion> or <suggestion>as yet</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="yet|as yet">The report remains unfinished <marker>as of yet</marker>.</example>
        </rule>
        <rule id="AUTOBIOGRAPHY_OF_A_LIFE" name="autobiography of a life (autobiography)">
            <pattern>
                <token>autobiography</token>
                <token>of</token>
                <token>a</token>
                <token>life</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion> or <suggestion>story \2 \3 \4</suggestion> instead.</message>
            <short>Redundant phrase</short>
            <example correction="autobiography|story of a life">In this <marker>autobiography of a life</marker> of courage and love, we get to share in the compelling story of a family’s struggles.</example>
            <example>In this story of a life of courage and love, we get to share in the compelling story of a family’s struggles</example>
        </rule>
        <rule id="BASIC_FUNDAMENTALS" name="basic fundamentals/necessities (fundamentals/necessities)">
            <pattern>
                <token><exception scope="previous">visual</exception>basic</token>
                <token regexp="yes">fundamentals|necessities</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example>Visual Basic Fundamentals</example>
            <example correction="fundamentals">Let’s get back to the <marker>basic fundamentals</marker>!</example>
        </rule>
        <rule id="BALD-HEADED" name="bald-headed (bald)">
            <pattern>
                <token>bald-headed</token>
            </pattern>
            <message>Consider using <suggestion>bald</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="bald">He is <marker>bald-headed</marker>.</example>
            <example>Kojak was bald.</example>
        </rule>
        <rule default="off" id="BEST_EVER" name="best ever (best)">
            <pattern>
                <token>best</token>
                <token>ever</token>
            </pattern>
            <message>This phrase might be redundant. Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="best">Top ten <marker>best ever</marker> beer names.</example>
            <example>Top ten best beer names.</example>
        </rule>
        <rule id="TEMPORARY_BIVOUAC_BIVOUAC" name="temporary bivouac (bivouac)">
         <pattern>
          <token>temporary</token>
          <token>bivouac</token>
         </pattern>
         <message>This phrase may be redundant. Consider writing <suggestion><match no="2"/></suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='bivouac'>In <marker>temporary bivouac</marker> areas (1 to 3 days), the straddle trench latrine is used unless more permanent facilities are provided for the unit.</example>
        </rule>
        <rule id="BIVOUAC_CAMP_BIVOUAC" name="bivouac camp (bivouac)">
         <pattern>
          <token>bivouac</token>
          <token>camp</token>
         </pattern>
         <message>This phrase is redundant. Consider writing <suggestion><match no="1"/></suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='bivouac'>A rock climber leaves a hanging <marker>bivouac camp</marker> on an Arctic cliff</example>
         <example>A rock climber leaves a hanging bivouac on an Arctic cliff</example>
        </rule>
        <rule id="ADJECTIVE_IN_ATTRIBUTE" name="Big in size, yellow in color, etc.">
            <antipattern><!-- they average in number -->
                <token postag="NNS|PRP_S.*" postag_regexp="yes" chunk_re=".-NP-plural" />
                <token postag="VB" />
                <token>in</token>
            </antipattern>
            <antipattern>
                <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
                <token>in</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token postag="VB" />
                <token>in</token>
            </antipattern>
            <pattern>
                <token postag_regexp="yes" postag="JJ|JJR|JJS">
                    <exception regexp="yes">up|down|on|out|over|through|(in)?sufficient|(in)?variable|modest|(ir)?regular|maximum|minimum|(un)?manageable|[bm]illion|trillion|near|off|now|\d+(rd|th|st|nd)|work|just|only|overall|sales|close|far|pleasing|building|(un)?matching|(un)?limited|(un)?even|similar|different|around|(un)?available|almost|other|one|similar|alone|religious|corresponding|(un|in)?equal|next|doubl(e|ing)|great|possible|autocratic|necessary|beautiful|rich|back|identical|more|less|much|second|(un|in)?comparable|characteristic|endless|familiar|handy|(in)?distinguishable|(in)?finite|intermediate|least|light|(dis)?proportional|regional|national|local|superior|inferior|then|.*first|.*second|.*third|.*fourth|.*fifth|.*sixth|.*seventh|.*eighth|.*ninth|.*tenth|.*eleventh|.*twelfth|.*teenth|.*hundredth|.*thousandth|.*millionth</exception>
                    <exception postag="VBN"/>
                </token>
                <token>in</token>
                <token regexp="yes">size|duration|colou?r|number|shape|length|[hw]eight</token>
            </pattern>
            <message>A more concise phrase may lose no meaning and sound more powerful.</message>
            <suggestion>\1</suggestion>
            <short>Possible redundancy</short>
            <example>He's absorbed in thought.</example>
            <example correction="big">The man is <marker>big in size</marker>.</example>
            <example correction="briefest">His speech was <marker>briefest in duration</marker>.</example>
            <example correction="redder">My car is <marker>redder in color</marker>.</example>
            <example correction="few">Her friends were <marker>few in number</marker>.</example>
            <example correction="round">An apple is <marker>round in shape</marker>.</example>
            <example>I really need to get back in shape.</example>
            <example>Get me one in size m please.</example>
            <example>Have a look at this webpage — now in color!</example>
            <example>Please print in color for me.</example>
            <example>Mr. Nillsen said Atle Ventures intends to triple in size over the next five years.</example>
            <example>Happiness makes up in height for what it lacks in length.</example>
            <example>Adults average in length; the largest recorded specimen weighed 2.65 kg (5.8 lb) with a length of from snout to vent.</example>
            <example>The river ranks 13th in length but 23rd in volume.</example>
        </rule>
        <rule id="BITTER_IN_TASTE" name="bitter in taste (bitter)">
            <pattern>
                <token>bitter</token>
                <token>in</token>
                <token>taste</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="bitter">This beer is <marker>bitter in taste</marker>.</example>
        </rule>
        <rule default="off" id="BLEND_TOGETHER" name="blend together (blend)">
            <pattern>
                <token inflected="yes" regexp="yes">attach|assemble|blend|co(mbine|llaborate|nfer|ngregate)|join|me(rge|sh)|mix
                  <!-- XXX remove |gather|meet|share https://forum.wordreference.com/threads/gather-together-redundant.232952/
                            https://www.quora.com/Is-it-correct-to-use-either-We-are-gathered-together-or-We-have-gathered-together-in-the-sentence-We-are-have-gathered-together-to-celebrate
                            https://www.merriam-webster.com/words-at-play/usage-exact-same --></token>
                <token>together</token>
            </pattern>
            <message>This phrase might be redundant. Consider using <suggestion>\1</suggestion>.</message>
            <url>https://grammarist.com/redundancies/</url>
            <short>Redundant phrase</short>
            <example correction="blend">Their voices <marker>blend together</marker> in lovely harmony.</example>
            <example>Their voices blend in lovely harmony.</example>
            <example>Mercy and truth are met together ; righteousness and peace ha...</example>
        </rule>
        <rule default="off" id="BRIEF_MOMENT" name="brief moment/summary (moment/summary)">
            <pattern>
                <token>brief</token>
                <token inflected="yes" regexp="yes">moment|summary|cameo</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="Moment">A <marker>Brief Moment</marker> of Compassion</example>
            <example>A Moment of Compassion</example>
        </rule>
        <rule id="BIOGRAPHY_OF_A_LIFE" name="biography of her life (biography)">
            <pattern>
                <token>biography</token>
                <token>of</token>
                <token regexp="yes">a|her|his|my|your</token>
                <token>life</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion> or <suggestion>story \2 \3 \4</suggestion> instead.</message>
            <short>Redundant phrase</short>
            <example correction="biography|story of her life">In this <marker>biography of her life</marker>, we get to share in the compelling story of a family’s struggles.</example>
            <example>In this story of a life of courage and love, we get to share in the compelling story of a family’s struggles</example>
        </rule>
        <rule id="CD_DISC" name="CD disc (CD)">
            <pattern>
                <token regexp="yes" case_sensitive="yes">CD|DVD</token>
                <token regexp="yes">dis[kc]</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="CD">I ordered a <marker>CD disk</marker> with their software.</example>
            <example correction="DVD">This <marker>DVD Disk</marker> is defective.</example>
            <example>I ordered a <marker>CD</marker> with their software.</example>
            <example>I ordered a <marker>DVD</marker> with their software.</example>
        </rule>
        <rule id="CDROM" name="CDROM (CD-ROM)">
            <pattern case_sensitive="yes">
                <token regexp="yes">CDROM|CDRom|Cdrom</token>
            </pattern>
            <message>Consider using <suggestion>CD-ROM</suggestion>.</message>
            <short>Possible typo</short>
            <example correction="CD-ROM">I ordered a <marker>Cdrom</marker> with their software.</example>
            <example>I ordered a <marker>CD-ROM</marker> with their software.</example>
        </rule>
        <rule id="ACCUSED_OF_A_CHARGE_CHARGED_WITH" name="accused of a charge (charged with)">
            <pattern>
                <token>accused</token>
                <token>of</token>
                <token>a</token>
                <token>charge</token>
                <token>of</token>
            </pattern>
            <message>This phrase may be redundant. Consider writing: <suggestion>charged with</suggestion> instead.</message>
            <short>Redundant phrase</short>
            <example correction='charged with'>The Magistrate's Court in Kuala Lumpur today decided that a former model <marker>accused of a charge of</marker> public indecency is fit to stand trial.</example>
        </rule>
        <rule id="CIRCUMSTANCES_SURROUNDING" name="circumstances surrounding (circumstances of)">
         <pattern>
          <token>circumstances</token>
          <token>surrounding</token>
         </pattern>
         <message>This phrase is redundant. Consider writing <suggestion><match no="1"/> of</suggestion>.</message>
         <short>Redundant phrase</short>
         <example correction='circumstances of'>Based upon this discussion, the OIG expanded the scope of its investigation to analyze the <marker>circumstances surrounding</marker> the settlement rejected by Judge Rakoff.</example>
        </rule>
        <rulegroup id="CLOSE_SCRUTINY" name="close scrutiny/proximity (scrutiny/proximity)">
        <rule>
        <pattern>
            <token>within</token>
            <token>close</token>
            <token>proximity</token>
            <token>to</token>
        </pattern>
        <message>This is verbose. Consider writing: <suggestion>close to</suggestion>.</message>
        <short>Redundant phrase</short>
        <example correction="close to">The majority of Jannali's enterprises are located <marker>within close proximity to</marker> the suburb's railway station.</example>
        </rule>
        <rule>
            <pattern>
                <token>close</token>
                <token regexp="yes">scrutiny|proximity</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="scrutiny">Their manifesto yesterday received the same <marker>close scrutiny</marker> as the other two big parties — and it was an uncomfortable experience.</example>
        </rule>
        </rulegroup>
        <rule id="COMBINE_TOGETHER" name="combine together (combine)"><!-- https://github.com/languagetool-org/languagetool/issues/1027 -->
            <pattern>
                <token inflected="yes">combine</token>
                <token>together</token>
            </pattern>
            <message>'<match no="1"/> <match no="2"/>' is redundant. Use <suggestion><match no="1"/></suggestion></message>
            <url>https://www.btb.termiumplus.gc.ca/tpv2guides/guides/wrtps/index-eng.html?lang=eng&amp;lettr=indx_catlog_c&amp;page=9xIUi4CtvHsc.html</url>
            <short>Redundant phrase</short>
            <example correction="combined">Two things are <marker>combined together</marker> in this application.</example>
            <example correction="combines">Each layer <marker>combines together</marker> for an absolute orchestra of flavors.</example>
            <example>Two things are <marker>combined</marker> in this application.</example>
        </rule>
        <rule id="COMFORTABLE_WITH_VBG" name="comfortable with doing (comfortable doing)">
            <pattern>
                <token>comfortable</token>
                <token>with</token>
                <token postag="VBG"/>
            </pattern>
            <message>Consider using <suggestion>\1 \3</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="comfortable dancing">I am not <marker>comfortable with dancing</marker> with strangers.</example>
        </rule>
        <rule id="COMMUTE_BACK_AND_FORTH" name="commute back and forth (commute)">
            <pattern>
                <token inflected="yes">commute</token>
                <token>back</token>
                <token>and</token>
                <token>forth</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="commute">She will <marker>commute back and forth</marker> between New Haven and her home in Southern California before relocating to the Elm City this summer.</example>
            <example>She will commute between New Haven and her home in Southern California before relocating to the Elm City this summer</example>
        </rule>
        <rule id="CONTINUE_TO_REMAIN" name="continue to remain (remain)">
            <pattern>
                <token inflected="yes">continue</token>
                <token>to</token>
                <token>remain</token>
            </pattern>
            <message>Consider using <suggestion><match no="1" postag=".*">remain</match></suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="remained">We <marker>continued to remain</marker> optimistic.</example>
            <example>We remain optimistic.</example>
        </rule>
        <rule id="DESCEND_DOWN" name="descend down (descend)">
            <pattern>
                <token inflected="yes" regexp="yes">descend|dive</token>
                <token>down</token>
            </pattern>
            <message>This phrase might be redundant. Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="descend">The Pentagon aides and journalists <marker>descend down</marker> the back stairs of the plane as is customary while Rumsfeld comes down the main stairs to meet his welcome party.</example>
        </rule>
        <rule id="EACH_AND_EVERY" name="each and every one (each one)">
            <pattern>
                <token>each</token>
                <token>and</token>
                <token>every</token>
                <token>one</token>
            </pattern>
            <message>Consider using <suggestion>\1 \4</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="each one">God bless <marker>each and every one</marker> of you!</example>
        </rule>
        <rulegroup default="off" id="NEGATE_MEANING" name="Suggest shorter ways to negate words (not common vs uncommon)">
            <rule>
                <!-- not correct (incorrect) -->
                <pattern>
                    <token regexp="yes">is|was</token>
                    <marker>
                        <token>not</token>
                        <token regexp="yes">efficient|correct|convenient|complete|secure|secured|sufficient|significant|visible|tolerable</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>in\3</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="incomplete">The list is <marker>not complete</marker>.</example>
                <example>The list is incomplete.</example>
            </rule>
            <rule>
                <!-- not healthy (unhealthy) -->
                <pattern>
                    <token regexp="yes">is|w(?:as|ere)</token>
                    <marker>
                        <token>not</token>
                        <token regexp="yes">able|affordable|contaminated|deserved|fashionable|acceptable|accompanied|altered|climbable|covered|drinkable|dressed|deniable|cluttered|expected|forgettable|desirable|fastened|happy|lucky|helpful|kind|natural|qualified|noticed|safe|suited|sweetened|skilled|thinkable|usable|zipped|willing|ripe|wanted|real|grateful|certain|healthy|common|controllable|comfortable|conscious|favorable|imaginable|important|pleasant|suitable|related|likely|usual|steady|sustainable|reliable|popular|necessary|fortunate|believable|beatable|aware|answered|breakable|productive|satisfied</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>un\3</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="unsteady">The rock is <marker>not steady</marker>.</example>
                <example>The rock is unsteady.</example>
            </rule>
            <rule>
                <!-- not perfect (imperfect) -->
                <pattern>
                    <token regexp="yes">is|w(?:as|ere)</token>
                    <marker>
                        <token>not</token>
                        <token regexp="yes">perfect|mature|movable|practical|possible|pure</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>im\3</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="imperfect">The paragraph is <marker>not perfect</marker>.</example>
                <example>The paragraph is imperfect.</example>
            </rule>
            <rule>
                <!-- not rational (irrational) -->
                <pattern>
                    <token regexp="yes">is|w(?:as|ere)</token>
                    <marker>
                        <token>not</token>
                        <token regexp="yes">rational|relevant</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>ir\3</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="irrational">The student was <marker>not rational</marker>.</example>
                <example>The student was irrational.</example>
            </rule>
            <rule>
                <!-- not fast enough (too slow) -->
                <pattern>
                    <token regexp="yes">is|w(?:as|ere)</token>
                    <marker>
                        <token>not</token>
                        <token>fast</token>
                        <token>enough</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>too slow</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="too slow">The car was <marker>not fast enough</marker> to win the race.</example>
                <example>The car was too slow to win the race.</example>
            </rule>
            <rule>
                <!-- not large enough (too small) -->
                <pattern>
                    <token regexp="yes">is|w(?:as|ere)</token>
                    <marker>
                        <token>not</token>
                        <token regexp="yes">large|big</token>
                        <token>enough</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>too small</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="too small">The car was <marker>not large enough</marker> for the tall man.</example>
                <example>The car was <marker>too small</marker> for the large man.</example>
            </rule>
            <rule>
                <!-- not small enough (too large) -->
                <pattern>
                    <token regexp="yes">is|w(?:as|ere)</token>
                    <marker>
                        <token>not</token>
                        <token>small</token>
                        <token>enough</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion>too large</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="too large">The car was <marker>not small enough</marker> to fit through the tunnel.</example>
                <example>The car was <marker>too large</marker> to fit through the tunnel.</example>
            </rule>
        </rulegroup>
        <rule id="ALL_OF_THE" name="all of the (all the)"><!-- TODO: "all of my xxx" -->
            <antipattern><!-- https://historynewsnetwork.org/article/161924. The antipattern does not ignore all possible quoted speech. -->
                <token skip="-1" regexp="yes">["“'`]</token>
                <token>all</token>
                <token>of</token>
                <token>the</token>
                <token>people</token>
                <token min="0">,</token>
                <token>all</token>
                <token>of</token>
                <token>the</token>
                <token skip="-1">time</token>
                <token regexp="yes">["”'’]</token>
            </antipattern>
            <antipattern>
                <token>all</token>
                <token>of</token>
                <token>the</token>
                <token>book</token>
            </antipattern>
            <pattern>
                <token negate="yes">or</token>
                <marker>
                    <token>all</token>
                    <token>of</token>
                    <token>the</token>
                </marker>
                <token negate="yes" regexp="yes">sudden|above|many</token> <!-- See ALL_OF_THE_SUDDEN rule -->
            </pattern>
            <message>Consider using <suggestion>\2 \4</suggestion>.</message>
            <url>https://jakubmarian.com/is-it-all-the-or-all-of-the-in-english/</url>
            <short>Redundant phrase</short>
            <example correction="all the">She is going to <marker>all of the</marker> parks.</example>
            <example correction="all the">I say you can't fool <marker>all of the</marker> people all the time.</example>
            <example>She is going some or all of the parks.</example>
            <example>Did Lincoln say "... but you can’t fool <marker>all of the people all of the time</marker>"?</example>
        </rule>
        <rule id="DROP_DOWN" name="drop down (drop)">
        <!-- Created by Tiago F. Santos 24-09-2019 -->
            <antipattern><!-- an additional drop down -->
                <token chunk_re="E-NP-(singular|plural)" regexp="yes">drops?</token>
            </antipattern>
            <antipattern><!-- a "drop down -->
                <token postag_regexp="yes" postag="DT|PRP\$"/>
                <token regexp="yes">['‘"“]</token>
                <token postag_regexp="yes" postag="NNS?" regexp="yes">drops?</token>
            </antipattern>
            <antipattern><!-- was dropped down -->
                <token inflected="yes" >be</token>
                <token min="0" max="3" postag="RB"/>
                <token>dropped</token>
            </antipattern>
            <antipattern><!-- began dropping down -->
                <token chunk="B-VP"/>
                <token min="0" max="3" postag="RB"/>
                <token>dropping</token>
            </antipattern>
            <antipattern><!-- Drop down and -->
                <token postag="SENT_START"/>
                <token>Drop</token>
                <token>down</token>
                <token postag="CC"/>
            </antipattern>
            <antipattern><!-- drop down is -->
                <token>drop</token>
                <token>down</token>
                <token regexp="yes">is|was</token>
            </antipattern>
            <antipattern><!-- Drop down ear/neck flaps -->
                <token postag="SENT_START"/>
                <token>Drop</token>
                <token>down</token>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token>/</token>
                <token postag_regexp="yes" postag="NN(:UN?)?"/>
                <token chunk="E-NP-plural" postag="NNS"/>
            </antipattern>
            <pattern>
                <marker>
                    <token inflected="yes">drop</token>
                    <token>down</token>
                </marker>
                <token>
                    <exception postag_regexp="yes" postag="NN.*" inflected="yes" regexp="yes">list|menu|option</exception><!-- MFU 2020-10-02 possibly redundant -->
                    </token>
            </pattern>
            <message>This phrase is redundant. Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="Drop"><marker>Drop down</marker> from the tree.</example>
            <example>Drop down menus</example>
            <example>Add an additional drop down that follows "Legal Contacts" that says "Historical Contacts".</example>
            <example>Also, you will be receiving on Thursday morning a copy of some of the more relevant documentation relating to the June 2000 drop down of the Corrugated...</example>
            <example>The shop traveler/work order also contains a "drop down," from which standard processes can be selected.</example>
            <example>The projectile with its integral propelling charge was dropped down the barrel from the muzzle to hit a fixed firing pin.</example>
            <example>The liquid was being carefully dropped down the funnel.</example>
            <example>After reaching no.1 for five weeks, "Rivers of Babylon" began dropping down the chart, at which point the B-side "Brown Girl in the Ring" was given extensive radio airplay.</example>
            <example>After that, the song started very quickly dropping down the charts.</example>
            <example>Drop down and see us.</example>
            <example>Also, FYI, the "See" drop down is our nickname for the name changes and mergers reference.</example>
            <example>Drop down ear/neck flaps.</example>
        </rule>
        <rule id="FIRST_OF_ALL" name="first of all (first)">
            <!-- Created by Tiago F. Santos 24-09-2019 -->
            <antipattern><!-- #3141 first of all the students -->
                <token chunk="B-NP-plural">all
                    <exception scope="next" regexp="yes">congrat(ulation)?s|thanks</exception>
                    <exception scope="next">many</exception><!-- many heartfelt thanks. If this exception causes a false positive, add an antipattern. -->
                    </token>
            </antipattern>
            <pattern>
                <marker>
                    <token>first</token>
                    <token>of</token>
                    <token>all</token>
                </marker>
                <token>
                    <exception postag="WP"/>
                    </token>
            </pattern>
            <message>Often, this adverbial phrase is redundant. Consider using <suggestion>first</suggestion>.</message>
            <url>https://www.lexico.com/en/definition/first_of_all</url><!-- The phrase is also used with the meaning of 'most importantly'. But, do not use this in the suggestion, because the rule is for redundancy. -->
            <short>Redundant phrase</short>
            <example correction="First"><marker>First of all</marker>, let us review what has been done.</example>
            <example correction="First"><marker>First of all</marker> congratulations on completing your degree.</example>
            <example correction="First">Hey Tori, <marker>First of all</marker> Congrats on the new job.</example>
            <example correction="first">... but <marker>first of all</marker> thanks for all your help.</example>
            <example correction="first">... but <marker>first of all</marker> many heartfelt thanks for all your help.</example>
            <example correction="first">German unity depends <marker>first of all</marker> on the German people.</example><!-- Lexico shows this example with the sense of 'most importantly', but the phrase can also be interpreted as an adverbial. -->
            <example correction="first">The advancement of science depends, <marker>first of all</marker>, on the free flow of information.</example>
            <example><marker>First</marker>, let us review what has been done.</example>
            <example>He was the first of all who participated.</example>
            <example>My son is the first of all the students at this school.</example><!-- #3141 -->
            <example>"A" is the first of all letters -- God is the first of everything in the ...</example><!-- #3141 -->
            <example>Illusion is the first of all pleasures.</example><!-- #3141 -->
            <example>First of all animals is the lion, which is the king of the jungle.</example>
            <example>... but first of all animals is the lion. Roar!</example>
        </rule>
        <rule id="FOCUS_IN" name="focus in (focus on)">
            <antipattern>
                <token skip="-1" inflected="yes">focus</token>
                <token>on</token>
            </antipattern>
            <antipattern>
                <token inflected="yes">focus</token>
                <token>in</token>
                <token regexp="yes">general|particular|[0-9]{2,30}</token>
            </antipattern>
            <antipattern><!-- collocations of "in" -->
                <token inflected="yes">focus</token>
                <token skip="3">in</token>
                <token regexp="yes">detail|future|return|regards?|particular|hurry|agreement|collaboration|faith|fact|time|part|appearance|sense|way|actuality|order|terms|course|contrast|advance|depth|afternoon|morning|evening|end|front|flash|addition|aid|anticipation|conclusion|conjunction|due|effect|favou?r|full|isolation|memory|mid-.*|moderation|words|preference|progress|preparation|principle|response|vain</token>
            </antipattern>
            <pattern>
                    <token inflected="yes" postag="V.*" postag_regexp="yes">focus
                        <exception scope="previous" postag="DT"/>
                    </token>
                <marker>
                    <token>in
                        <exception scope="next" regexp="yes">order|on</exception>
                    </token>
                </marker>
                    <token chunk_re="B-NP.*"/>
            </pattern>
        <message>In this context, 'focus' is usually used with the preposition <suggestion>on</suggestion>.</message>
        <short>Possibly wrong preposition</short>
        <example correction="on">Please, focus <marker>in</marker> the tip of the finger.</example>
        <example correction="on">They are really focussed <marker>in</marker> a specific target audience.</example>
        <example>...during the interview he showed a focus in a number of topics...</example>
        <example>We're going to shift focus in the south on the solar sector.</example>
        <example>This has to be your focus in general.</example>
        <example>We have to focus in 2022 if we want a bigger market share.</example>
        <example>Eyre focused in particular on the Radical Reformation.</example>
        </rule>
        <rule id="GATHER_UP" name="gather up (gather)">
        <!-- Created by Tiago F. Santos 24-09-2019 -->
        <antipattern>
        <token inflected='yes' regexp='yes'>gather|lift</token>
        <token>up</token>
        <token>to</token>
        <token postag='CD'/>
        </antipattern>
        <pattern>
        <token inflected='yes' regexp='yes'>gather|lift</token>
        <token>up</token>
        </pattern>
        <message>This phrase is redundant. Consider using <suggestion>\1</suggestion>.</message>
        <short>Redundant phrase</short>
        <example correction="gather">Please, <marker>gather up</marker> the documentation and let's go.</example>
        <example>You can gather up to 100 bonus points.</example>
        <example>He can lift up to 100 kilograms.</example>
        </rule>
        <rule id="INCREDIBLE_TO_BELIEVE" name="incredible to believe (incredible)">
        <!-- Created by Tiago F. Santos 24-09-2019 -->
        <pattern>
        <marker>
        <token>incredible</token>
        <token>to</token>
        <token>believe</token>
        </marker>
        <token>
          <exception>in</exception></token>
        </pattern>
        <message>This phrase is redundant. Consider using <suggestion>incredible</suggestion>.</message>
        <short>Redundant phrase</short>
        <example correction="incredible">It's <marker>incredible to believe</marker>.</example>
        <example>...during the interview he showed a focus in a number of topics...</example>
        </rule>
        <rule id="OUTSIDE_OF" name="outside of (outside)">
        <!-- Created by Tiago F. Santos 24-09-2019 -->
             <pattern>
                <token>
                  <exception postag='DT'/></token>
                <marker>
                <token regexp='yes'>inside|outside</token>
                <token>of</token>
                </marker>
                <token>
                  <exception postag_regexp='yes' postag='N.+'/></token><!-- XXX crippling but needed. See 3rd example -->
             </pattern>
             <message>This phrase is redundant. Consider using <suggestion>\2</suggestion>.</message>
             <short>Redundant phrase</short>
             <example correction="outside">Go <marker>outside of</marker> the building and you will find it.</example>
             <example>It is on the outside of the building.</example>
             <example>...ence in electric potential between the inside and outside of cells, known as the membrane potential.</example>
        </rule>
        <rule id="PRIVATE_INDUSTRY" name="private industry (industry)">
        <!-- Created by Tiago F. Santos 24-09-2019 -->
        <antipattern>
        <token>private</token>
        <token regexp='yes'>industr(?:y|ies)</token>
        <token regexp='yes'>sectors?</token>
        </antipattern>
        <pattern>
        <token>private</token>
        <token regexp='yes'>industr(?:y|ies)</token>
        </pattern>
        <message>This phrase is redundant. Consider using <suggestion>\2</suggestion>.</message>
        <short>Redundant phrase</short>
        <example correction="industry">This is our primary <marker>private industry</marker>.</example>
        <example>The private industry sector in the USSR was limited to say the least.</example>
        </rule>
        <rule id="RIGHT_OVER" name="right over (over)">
            <!-- Created by Tiago F. Santos 24-09-2019 -->
            <antipattern>
                <token postag='DT'/>
                <token postag="JJ" min="0" />
                <token>right</token>
                <token>over</token>
            </antipattern>
            <pattern>
                <token>right</token>
                <token>over</token>
            </pattern>
            <message>This phrase is redundant. Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="over">You find it <marker>right over</marker> there.</example>
            <example>Who has the right over a woman's property?</example>
        </rule>
        <rule id="SELF_ADMITTED" name="self-admitted (admitted)">
            <pattern>
                <token>self-admitted</token>
            </pattern>
            <message>This phrase is redundant. Consider using just <suggestion>admitted</suggestion>.</message>
            <url>http://www.oxfordreference.com/view/10.1093/acref/9780195135084.001.0001/acref-9780195135084-e-1937</url>
            <short>Redundant phrase</short>
            <example correction="admitted">Springfield police arrest 'very dangerous, <marker>self-admitted</marker> gang member.'</example>
        </rule>
        <rule id="SOME_OF_THE" name="some of the (some)">
            <antipattern>
                <token>some</token>
                <token>of</token>
                <token skip="4">the</token>
                <token postag="JJS"/>
            </antipattern>
            <antipattern>
                <token>some</token>
                <token>of</token>
                <token>the</token>
                <token/>
                <token>'s</token>
            </antipattern>
            <antipattern>
                <token>some</token>
                <token>of</token>
                <token>the</token>
                <token/>
                <token/>
                <token>'s</token>
            </antipattern>
            <antipattern><!-- www.goodreads.com/quotes/275126-you-can-fool-some-of-the-people-all-of-the -->
                <token>You</token>
                <token>can</token>
                <token>fool</token>
                <token>all</token>
                <token>the</token>
                <token>people</token>
                <token>some</token>
                <token>of</token>
                <token>the</token>
                <token>time</token>
                <token>,</token>
                <token>and</token>
                <token>some</token>
                <token>of</token>
                <token>the</token>
                <token>people</token>
                <token>all</token>
                <token>the</token>
                <token>time</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token>the</token>
                <token postag="JJ.*|NN|NN:UN?" postag_regexp="yes" min="0" chunk_re="I-NP.*" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token regexp="yes">I|you|they|we|s?he|it</token>
                <token postag="VB[DZP]" postag_regexp="yes" chunk_re=".-VP" />
            </antipattern>
            <antipattern>
                <token>of</token>
                <token>the</token>
                <token postag="JJ.*|NN|NN:UN?" postag_regexp="yes" min="0" chunk_re="I-NP.*" />
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
                <token regexp="yes">who|that|which</token>
            </antipattern>
            <antipattern>
                <token>here</token>
                <token>are</token>
                <token regexp="yes" min="0">only|just</token>
                <token>some</token>
            </antipattern>
            <pattern>
                <token negate="yes">or</token>
                <marker>
                    <token>some</token>
                    <token>of</token>
                    <token>the</token>
                </marker>
                <token><exception regexp="yes">mo(re|st)|same|first|le?ast|following|aforementioned|above|below|previously</exception></token>
            </pattern>
            <!-- -->
            <message>If the text is a generality, '\3 \4' is not necessary.</message>
            <suggestion>\2</suggestion>
            <url>https://www.englishcurrent.com/grammar/some-most-many-quantifiers-english-grammar/</url>
            <short>Possibly redundant phrase</short>
            <example correction="Some"><marker>Some of the</marker> people like rap music.</example>
            <example><marker>Some </marker> people like rap music.</example>
            <example>She is going to buy some parks.</example>
            <example>She is going to all or some of the parks.</example>
            <example>He is putting out <marker>some of the most</marker> inspired music of his life.</example>
            <example>They want to answer <marker>some of the universe’s deepest questions</marker>.</example>
            <example>"You can fool all the people some of the time, and some of the people all the time; but you cannot fool all the ..."</example>
            <example><marker>Some of the people I know</marker> like rap music.</example>
            <!-- TODO: Should trigger error: -->
            <example>I just wanted to touch base and let you know some of the projects I've been working on</example>
            <example>Here are some of the materials that contain plastic.</example>
            <example>... promoted the mystical and magical teachings of some of the same ethnic groups he attacked...</example><!-- MFU 2019-09-20. The suggestion 'some [same]' is not correct, but I am not sure whether to add an exception for 'the same'. -->
            <example>Some of the following words are wrong.</example>
            <example>Some of the aforementioned people have even been promoted.</example>
            <example>Some of the above examples are not convincing.</example>
            <example>I think that some of the previously discussed issues are too controversial.</example>
        </rule>
        <rule id="SUBJECT_MATTER" name="subject matter (subject)">
            <!-- Created by Tiago F. Santos 24-09-2019 -->
            <antipattern>
                <token inflected="yes" regexp="yes">do|will|shall|can</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ" min="0" />
                <token>subject</token>
                <token>matter</token>
            </antipattern>
            <antipattern>
                <token inflected="yes" regexp="yes">do|will|shall|can</token>
                <token>n't</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ" min="0" />
                <token>subject</token>
                <token>matter</token>
            </antipattern>
            <antipattern>
                <token>subject</token>
                <token>matter</token>
                <token skip="2">to</token>
                <token>?</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Subject-matter_expert -->
                <token>subject</token>
                <token>matter</token>
                <token regexp="yes">experts?</token>
            </antipattern>
            <pattern>
                <token>subject</token>
                <token>matter</token>
            </pattern>
            <message>This phrase is redundant. Consider using <suggestion>\1</suggestion> to avoid wordiness.</message>
            <short>Redundant phrase</short>
            <example correction="subject">What is the <marker>subject matter</marker> we will discuss today?</example>
            <example>Does the subject matter?</example>
            <example>Doesn't this subject matter to you?</example>
            <example>Do any comments on this subject matter to you?</example>
        </rule>
        <rule id="TRY_AND" name="try and (try to)" tags="picky">
            <antipattern>
                <token>try</token>
                <token>and</token>
                <token regexp="yes" inflected="yes">see|fail|harm|error|regret</token>
            </antipattern>
            <antipattern><!-- "try and catch" is common dev speech (https://www.w3schools.com/java/java_try_catch.asp) -->
                <token>try</token>
                <token>and</token>
                <token regexp="yes">catch|try</token>
            </antipattern>
            <antipattern>
                <token postag="DT" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>try</token>
            </antipattern>
            <pattern>
                <marker>
                    <token>try</token>
                    <token>
                        and
                    </token>
                </marker>
                <token postag="VBP?" postag_regexp="yes" />
            </pattern>
            <message>"Try and" is common in colloquial speech, but <suggestion>try to</suggestion> is recommended for writing.</message>
            <url>https://www.dailywritingtips.com/try-to-vs-try-and/</url>
            <short>Possibly bad style</short>
            <example correction="try to">She is going to <marker>try and</marker> go to the store.</example>
            <example>I would be happy if you could give it a second <marker>try and</marker> send me your feedback.</example>
            <example>Let's <marker>try and</marker> see!</example>
            <example>Potentially, we could try and fail.</example>
            <example>We have to try and try until it works.</example>
        </rule>
        <rule id="SO_AS_TO" name="so as to (to)">
            <pattern>
                <token>so</token>
                <token>as</token>
                <token>to</token>
            </pattern>
            <message>'So as to' expresses purpose and is used in formal texts. Consider using <suggestion>to</suggestion></message>
            <url>https://www.englishgrammar.org/order/</url>
            <short>Possible redundant phrase</short>
            <example correction="to">We worked hard <marker>so as to</marker> increase our sales.</example>
        </rule>
        <rule id="FEW_OCCASIONS" name="on a few occasions (occasionally)">
            <pattern>
                <token>on</token>
                <token>a</token>
                <token>few</token>
                <token>occasions</token>
            </pattern>
            <message>Consider using <suggestion>occasionally</suggestion></message>
            <short>Redundant phrase</short>
            <example correction="occasionally">The man drank <marker>on a few occasions</marker>.</example>
        </rule>
        <rule id="ALSO_OTHER" name="there are also other (also)">
            <pattern>
                <token>there</token>
                <token>are</token>
                <token>also</token>
                <token>other</token>
            </pattern>
            <message>Consider using <suggestion>there are other</suggestion> or <suggestion>there are also</suggestion></message>
            <short>Redundant phrase</short>
            <example correction="there are other|there are also">However, <marker>there are also other</marker> marbles in the jar.</example>
            <example>There are other marbles in the jar.</example>
        </rule>
        <rule id="LARGE_NUMBER_OF" name="a large number of (many)">
            <pattern>
                <token>a</token>
                <token>large</token>
                <token>number</token>
                <token>of</token>
            </pattern>
            <message>Specify a number, remove phrase, or simply use <suggestion>many</suggestion> or <suggestion>numerous</suggestion></message>
            <short>Redundant phrase</short>
            <example correction="Many|Numerous"><marker>A large number of</marker> people were in the parade.</example>
        </rule>
        <rule id="SMALL_NUMBER_OF" name="a small number of (a few)">
            <pattern>
                <token>a</token>
                <token>small</token>
                <token>number</token>
                <token>of</token>
            </pattern>
            <message>Specify a number, remove phrase, use <suggestion>a few</suggestion>, or use <suggestion>some</suggestion></message>
            <short>Redundant phrase</short>
            <example correction="A few|Some"><marker>A small number of</marker> people were in the store.</example>
            <example>Few people were in the store.</example>
        </rule>
        <rule id="SUBSEQUENT_TO" name="subsequent to (after)">
            <pattern>
                <token>subsequent</token>
                <token>to</token>
            </pattern>
            <message>Consider using <suggestion>after</suggestion></message>
            <short>Redundant phrase</short>
            <example correction="after">The roads needed repairs <marker>subsequent to</marker> the storm.</example>
        </rule>
        <rule id="WITH_THE_EXCEPTION_OF" name="with the exception of (except)">
            <pattern>
                <token>with</token>
                <token>the</token>
                <token>exception</token>
                <token>of</token>
            </pattern>
            <message>Consider using <suggestion>except</suggestion> or <suggestion>except for</suggestion></message>
            <short>Redundant phrase</short>
            <example correction="Except|Except for"><marker>With the exception of</marker> Bob, all of the children went running.</example>
        </rule>
        <rule id="EVERY_NOW_AND_THEN" name="every now and then (now and then)">
            <pattern>
                <token>every</token>
                <token>now</token>
                <token>and</token>
                <token>then</token>
            </pattern>
            <message>Consider an alternative to strengthen your wording.</message>
            <suggestion>sometimes</suggestion>
            <suggestion>occasionally</suggestion>
            <suggestion>sporadically</suggestion>
            <suggestion>\2 \3 \4</suggestion>
            <url>https://www.collinsdictionary.com/dictionary/english/now-and-then</url>
            <short>Possible redundant phrase</short>
            <example correction="Sometimes|Occasionally|Sporadically|Now and then"><marker>Every now and then</marker> the faucet drips.</example>
        </rule>
        <rule id="ESTABLISHED_FACT" name="established fact (fact)">
            <pattern>
                <token>an</token>
                <token>established</token>
                <token>fact</token>
            </pattern>
            <message>Consider using <suggestion><match no="3" postag="+INDT"/></suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="a fact">This is <marker>an established fact</marker>.</example>
        </rule>
        <rulegroup default="off" id="EXACT_SAME" name="exact same/identical (same/identical)">
            <rule>
                <pattern>
                    <token regexp="yes">exact|precise</token>
                    <token regexp="yes">same|identical</token>
                </pattern>
                <message>Consider using <suggestion>\2</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="same">This is the <marker>exact same</marker> situation.</example>
                <example>This is the same situation.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">exactly|precisely</token>
                    <token>the</token>
                    <token regexp="yes">same|identical</token>
                </pattern>
                <message>Consider using <suggestion>\2 \3</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="the same">This shoe is <marker>exactly the same</marker>.</example>
                <example>This shoe is the same.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SUMMER_TIME" name="summertime (summer)">
            <rule>
                <pattern>
                    <token regexp="yes">summertime|summer-time</token>
                </pattern>
                <message>Consider using <suggestion>summer</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="summer">It is warm during the <marker>summertime</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token>British</token>
                    <token>Summer</token>
                    <token>Time</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token>Western</token>
                    <token>European</token>
                    <token>Summer</token>
                    <token>Time</token>
                </antipattern>
                <pattern>
                    <token>summer</token>
                    <token>time</token>
                </pattern>
                <message>Consider using <suggestion>summer</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="summer">It is warm during the <marker>summer time</marker>.</example>
                <example>It is warm during the <marker>summer</marker>.</example>
                <example>For information about <marker>British Summer Time</marker> (BST), refer to https://en.wikipedia.org/wiki/British_Summer_Time.</example>
                <example>For information about <marker>Western European Summer Time</marker>, refer to https://en.wikipedia.org/wiki/Western_European_Summer_Time.</example>
            </rule>
        </rulegroup>
        <rule id="THE_FALL_SEASON" name="fall season (fall)">
            <pattern>
                <token>the</token>
                <token regexp="yes">fall|winter|spring|summer|autumn</token>
                <token>season</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="fall">The leaves turn red and gold in <marker>the fall season</marker>.</example>
        </rule>
        <rule id="FAMOUS_CELEBRITY" name="famous celebrity (celebrity)">
            <pattern>
                <token>famous</token>
                <token inflected="yes">celebrity</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="celebrity">I'm told that he's a <marker>famous celebrity</marker> now.</example>
        </rule>
        <rule id="SALSA_SAUCE" name="salsa sauce (salsa)">
            <pattern>
                <token>salsa</token>
                <token>sauce</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="salsa">I enjoy eating <marker>salsa sauce</marker>.</example>
        </rule>
        <rule id="GENERAL_XX" name="general public (public)">
            <antipattern>
                <token>General</token>
                <token>Public</token>
                <token>License</token>
            </antipattern>
            <pattern>
                <token>general</token>
                <token regexp="yes">public|consensus</token>
            </pattern>
            <message>Consider using only <suggestion>\2</suggestion> to avoid wordiness.</message>
            <short>Redundant phrase</short>
            <example correction="public">We should show this to the <marker>general public</marker>.</example>
        </rule>
        <rulegroup id="OVER_EXAGGERATED" name="over exaggerated (exaggerated)">
            <rule>
                <pattern>
                    <token>over</token>
                    <token inflected="yes">exaggerate</token>
                </pattern>
                <message>Consider using <suggestion>\2</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="exaggerating">I enjoy <marker>over exaggerating</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">over-exaggerat(ed?|ing)</token>
                </pattern>
                <message>Consider using <suggestion><match no="1" regexp_match="over-(.*)" regexp_replace="$1"/></suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="exaggerating">I enjoy <marker>over-exaggerating</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="ORIGINALLY_BORN_IN" name="originally born in (born in)">
            <pattern>
                <token>originally</token>
                <token>born</token>
                <token>in</token>
            </pattern>
            <message>Consider using <suggestion>\2 \3</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="born in">I was <marker>originally born in</marker> Texas.</example>
        </rule>
        <rule id="RETURN_BACK" name="return back (return)">
            <antipattern>
                <token postag="DT" />
                <token regexp="yes">repl(y|ies)|returns?</token>
                <token>back</token>
            </antipattern>
            <pattern>
                <token inflected="yes" regexp="yes">
                    re(turn|ply|vert)
                </token>
                <token>back</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="returned">We <marker>returned back</marker> home.</example>
            <example>Please send the return back to to them.</example>
        </rule>
        <rule id="REPEAT_AGAIN" name="repeat again (repeat)">
            <pattern>
                <token inflected="yes">repeat</token>
                <token>again</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="repeat">We made the song <marker>repeat again</marker>.</example>
        </rule>
        <rulegroup id="REPEATED_CURRENCY" name="$500 (dollars)">
            <url>https://btr.michaelkwan.com/2012/06/22/grammar-101-redundant-numbers-and-terms/</url>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">(&currency_symbols;)\d+</token>
                    </marker>
                    <token spacebefore="yes" regexp="yes">dollars|euros?|Yens?</token>
                </pattern>
                <message>Consider using <suggestion><match no="1" regexp_match="[$€£¥฿]" regexp_replace=""/></suggestion> only; there is no need for the currency symbol because '\2' follows</message>
                <url>https://btr.michaelkwan.com/2012/06/22/grammar-101-redundant-numbers-and-terms/</url>
                <short>Redundant phrase</short>
                <example correction="55">She bought it for <marker>$55</marker> dollars.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">US[$D]</token>
                    <marker>
                        <token spacebefore="yes" regexp="yes">\d+</token>
                        <token spacebefore="yes">dollars</token>
                    </marker>
                </pattern>
                <message>Consider using <suggestion><match no="2"/></suggestion> only; there is no need for the currency symbol because '\3' follows.</message>
                <short>Redundant phrase</short>
                <example correction="55">She bought it for US$ <marker>55 dollars</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="MIGHT_PERHAPS" name="might perhaps (might)">
            <pattern>
                <token inflected="yes" regexp="yes">may|might</token>
                <token regexp="yes">perhaps|possibly</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>, <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="might|possibly">We <marker>might possibly</marker> go fishing.</example>
        </rule>
        <rulegroup id="AGREE_WITH_THE_FACT" name="disagree with the fact that (disagree that)">
            <rule>
                <pattern>
                    <token regexp="yes">disagree|agree</token>
                    <token>with</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Consider using <suggestion>\1 that</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="agree that">I <marker>agree with the fact that</marker> the sky is blue.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token>not</token>
                    <token regexp="yes">disagree|agree</token>
                    <token>with</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Consider using <suggestion>\1 disagree that</suggestion> or <suggestion>\1 agree that</suggestion>.</message>
                <short>Redundant phrase</short>
                <example correction="did disagree that|did agree that">We <marker>did not disagree with the fact that</marker> the sky is blue.</example>
            </rule>
        </rulegroup>
        <rule id="WILL_IN_THE_FUTURE" name="will in the future (will)">
            <pattern>
                <token>will</token>
                <token>in</token>
                <token>the</token>
                <token>future</token>
            </pattern>
            <message>Consider using <suggestion>will</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="will">I <marker>will in the future</marker> work hard.</example>
        </rule>
        <rule id="WORK_COLLEAGUE" name="work colleague (colleague)">
            <pattern>
                <token>work</token>
                <token>colleague</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="colleague">I will talk to a <marker>work colleague</marker>.</example>
        </rule>
        <rule id="NUMEROUS_DIFFERENT" name="numerous different (numerous)">
            <pattern>
                <token regexp="yes">numerous|several|many</token>
                <token regexp="yes">different|separate</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="many">I will read <marker>many different</marker> books</example>
            <example>I will read many books.</example>
        </rule>
        <rule id="WHOLE_LOT" name="whole lot (lot)">
            <pattern>
                <token>whole</token>
                <token regexp="yes">lot|bunch</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="lot">I will read a <marker>whole lot</marker> of books</example>
            <example>I will read a lot of books.</example>
        </rule>
        <rule id="FELLOW_CLASSMATE" name="fellow classmates/co-workers/comrades (classmates/co-workers/comrades)">
            <pattern>
                <token>fellow</token>
                <token inflected="yes" regexp="yes">classmate|co(-worker|worker|mrade|lleague)</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="classmates">I would enjoy a reunion with my <marker>fellow classmates</marker>.</example>
        </rule>
        <rule id="FOREIGN_IMPORT" name="foreign import (import)">
            <pattern>
                <token>foreign</token>
                <token inflected="yes">import</token>
            </pattern>
            <message>This phrase is redundant. Use simply <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="imports">The rise in <marker>foreign imports</marker>, the argument goes, is forcing some Americans to accept lower pay to remain competitive with, say, Mexican and Chinese workers.</example>
        </rule>
        <rule tags="picky" id="HONEST_TRUTH" name="honest truth (truth)">
            <pattern>
                <token>honest</token>
                <token>truth</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="truth">That is the <marker>honest truth</marker> of the matter.</example>
            <example>That is the truth of the matter.</example>
        </rule>
        <rule default="off" id="IN_ORDER_TO" name="in order to (to)">
            <pattern>
                <token>in</token>
                <token>order</token>
                <token>to</token>
            </pattern>
            <message>This phrase might be considered redundant. Consider using <suggestion>\3</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="to">We opened the door <marker>in order to</marker> enter.</example>
            <example>We opened the door to enter.</example>
        </rule>
        <rule id="INTRODUCE_FOR_THE_FIRST_TIME" name="introduce for the first time (introduce)">
            <pattern>
                <token inflected="yes">introduce</token>
                <token>for</token>
                <token>the</token>
                <token>first</token>
                <token>time</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="introduced">We were <marker>introduced for the first time</marker> a week ago.</example>
        </rule>
        <rule id="NOUN_AROUND_IT" name="the noun around it (surrounding noun)">
            <pattern>
                <marker>
                    <token>the</token>
                    <!-- See WORLD_AROUND_IT rule -->
                    <token postag="NN.*" postag_regexp="yes"><exception regexp="yes">people|world</exception></token>
                    <token>around</token>
                    <token postag="PRP"/>
                </marker>
                <token><exception postag="NN.*|CC" postag_regexp="yes"/></token>
            </pattern>
            <message>Consider using <suggestion>the surrounding \2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="the surrounding protesters">He didn't like <marker>the protesters around him</marker>.</example>
            <example>Sometimes I feel like a burden on the people around me.</example>  <!-- 'people around X' usually means X's inner circle (family, friends, etc.), not people physically surrounding X. -->
            <example>The people around us need to know that we are real people in the process of maturing.</example>    <!-- Matomo deactivation contexts would agree -->
        </rule>
        <rule id="PAST_EXPERIENCE_MEMORY" name="past experience/memory (experience/memory)">
            <pattern>
                <token>past</token>
                <token inflected="yes" regexp="yes">experience|memory</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="experience">We know from <marker>past experience</marker> that weakness breeds contempt.</example>
        </rule>
        <rule id="POINT_BEING_IS_THAT" name="point being is that (point is that/point being that)">
            <pattern>
                <token>point</token>
                <token>being</token>
                <token>is</token>
                <token>that</token>
            </pattern>
            <message>Consider using <suggestion>\1 \3 \4</suggestion> or <suggestion>\1 \2 \4</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="point is that|point being that">The <marker>point being is that</marker> Russia and Japan weren't even at war.</example>
            <example>The point is that Russia and Japan weren't even at war</example>
        </rule>
        <rule tags="picky" id="REASON_WHY" name="reason why (reason)">
            <pattern>
                <token>the</token>
                <marker>
                    <token>reason</token>
                    <token>why</token>
                </marker>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="reason">The <marker>reason why</marker> I did that is simple.</example>
            <example>The reason I did that is simple.</example>
        </rule>
        <rule id="SO_THEREFORE" name="so therefore (therefore)">
            <pattern>
                <token>so</token>
                <token>therefore</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion> or <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="so|therefore">I am me, the only me, <marker>so therefore</marker> I am unique, which in turn makes me special :)</example>
        </rule>
        <rule id="THERAPEUTIC_TREATMENT" name="therapeutic treatment (treatment)">
            <pattern>
                <token>therapeutic</token>
                <token>treatment</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="treatment">My swelled knee required special <marker>therapeutic treatment</marker>.</example>
        </rule>
        <rule id="RUSTIC_COUNTRY" name="rustic country (rustic)">
            <pattern>
                <token>rustic</token>
                <token>country</token>
            </pattern>
            <message>Consider using <suggestion>\1</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="rustic">She loved her <marker>rustic country</marker> kitchen.</example>
        </rule>
        <rule id="VERY_UNIQUE" name="very unique (unique)">
            <pattern>
                <token regexp="yes">very|strikingly|most|really|totally|somewhat</token>
                <token>unique</token>
            </pattern>
            <message>Consider using <suggestion>\2</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="unique">Walk until you see the <marker>very unique</marker> building on your right.</example>
            <example>Walk until you see a unique building on your right.</example>
        </rule>
        <rulegroup id="WHETHER" name="the question whether (whether) etc.">
            <rule>
                <pattern>
                    <token>the</token>
                    <token>question</token>
                    <token>as</token>
                    <token>to</token>
                    <token>whether</token>
                    <token>or</token>
                    <token>not</token>
                </pattern>
                <message>Wordiness: Consider shortening this phrase.</message>
                <suggestion>\5</suggestion>
                <suggestion>\5 \6 \7</suggestion>
                <suggestion>\3 \4 \5</suggestion>
                <suggestion>\1 \2 \5</suggestion>
                <suggestion>\3 \4 \5 \6 \7</suggestion>
                <short>Wordiness</short>
                <example correction="Whether|Whether or not|As to whether|The question whether|As to whether or not"><marker>The question as to whether or not</marker> it is difficult is not our concern.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>the</token>
                        <token>question</token>
                        <token>as</token>
                        <token>to</token>
                        <token>whether</token>
                    </marker>
                    <token><exception>or</exception></token>
                </pattern>
                <message>Wordiness: Consider shortening this phrase.</message>
                <suggestion>\5</suggestion>
                <suggestion>\1 \2 \5</suggestion>
                <short>Wordiness</short>
                <example correction="Whether|The question whether"><marker>The question as to whether</marker> it is difficult is not our concern.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token>question</token>
                    <token>of</token>
                    <token>whether</token>
                </pattern>
                <message>Wordiness: Consider shortening this phrase.</message>
                <suggestion>\4</suggestion>
                <suggestion>\1 \2 \4</suggestion>
                <short>Wordiness</short>
                <example correction="Whether|The question whether"><marker>The question of whether</marker> it is difficult is not our concern.</example>
            </rule>
            <rule>
                <pattern>
                    <token>as</token>
                    <token>to</token>
                    <token>whether</token>
                    <token>or</token>
                    <token>not</token>
                </pattern>
                <message>Wordiness: Consider shortening this phrase.</message>
                <suggestion>\3</suggestion>
                <suggestion>\3 \4 \5</suggestion>
                <suggestion>\1 \2 \3</suggestion>
                <short>Wordiness</short>
                <example correction="whether|whether or not|as to whether">We are not concern <marker>as to whether or not</marker> it is difficult.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token>question</token>
                    <token>whether</token>
                </pattern>
                <message>Consider shortening this phrase to just <suggestion>\3</suggestion>, or rephrase the sentence to avoid "\1 \2".</message>
                <short>Possible wordiness</short>
                <example correction="Whether"><marker>The question whether</marker> it is difficult is not our concern.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>as</token>
                        <token>to</token>
                        <token>whether</token>
                    </marker>
                    <token><exception>or</exception></token>
                </pattern>
                <message>Consider shortening this phrase to just <suggestion>\3</suggestion>, or rephrase the sentence to avoid "\1 \2".</message>
                <short>Possible wordiness</short>
                <example correction="Whether"><marker>As to whether</marker> it is difficult, we are not concern.</example>
                <example>Whether it is difficult is not our concern.</example>
                <example>We are not concern whether it is difficult.</example>
            </rule>
            <rule>
                <pattern>
                    <token>whether<exception scope="previous" regexp="yes">to|question</exception></token>
                    <token>or</token>
                    <token>not</token>
                </pattern>
                <message>Consider shortening this phrase to just <suggestion>\1</suggestion>. It is correct though if you mean 'regardless of whether'.</message>
                <short>Possible wordiness</short>
                <example correction="whether">What the government decides to do depends on <marker>whether or not</marker> the bill passes.</example>
            </rule>
        </rulegroup>
        <rule id="FEMALE_ACTOR" name="female actor (actress)">
            <pattern>
                <token regexp="yes">female|wom[ae]n</token>
                <token regexp="yes">actor|actress</token>
            </pattern>
            <message>Consider using <suggestion>actress</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="actress">She was the first <marker>female actor</marker>.</example>
        </rule>
        <rule id="FEMALE_WAITER" name="female waiter (waitress)">
            <pattern>
                <token regexp="yes">female|wom[ae]n</token>
                <token regexp="yes">waiter|waitress</token>
            </pattern>
            <message>Consider using <suggestion>waitress</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="waitress">She was the first <marker>female waiter</marker>.</example>
        </rule>
        <rule id="FIRST_WOMAN_NOUN" name="first woman president (female president)">
            <pattern>
                <token regexp="yes">first|second|third</token>
                <marker>
                    <token regexp="yes">wom[ae]n</token>
                </marker>
                <token regexp="yes">officer|commander|minister|player|graduate|engineer|doctor|dentist|teacher|professor|speaker|president|senator|representative|employee|athlete|instructor|nominee|judge</token>
            </pattern>
            <message>Use <suggestion>female</suggestion>.</message>
            <short>Incorrect phrase</short>
            <example correction="female">She was the first <marker>woman</marker> president.</example>
        </rule>
        <rule id="FIRST_MAN_NOUN" name="first man president (male president)">
            <pattern>
                <token regexp="yes">first|second|third</token>
                <marker>
                    <token>man</token>
                </marker>
                <token regexp="yes">officer|commander|minister|player|graduate|engineer|doctor|dentist|teacher|professor|speaker|president|senator|representative|employee|athlete|instructor|nominee|judge</token>
            </pattern>
            <message>Use <suggestion>male</suggestion>.</message>
            <short>Incorrect phrase</short>
            <example correction="male">He was the first <marker>man</marker> employee of the company.</example>
            <example>He was the first man Sarah ever kissed.</example>
        </rule>
        <rule id="LITTLE_BIT" name="little bit">
            <pattern>
                <token>little</token>
                <token>bit</token>
            </pattern>
            <message>Reduce redundancy by using <suggestion>little</suggestion> or <suggestion>bit</suggestion>.</message>
            <short>Redundant phrase</short>
            <example correction="little|bit">He was a <marker>little bit</marker> late.</example>
            <example correction="little|bit">Every <marker>little bit</marker> will help.</example>
            <example>He was a <marker>little</marker> late.</example>
            <example type="triggers_error">These bits are too large. This <marker>little bit</marker> will fit the pony's mouth perfectly.</example>
        </rule>
        <rule id="FREE_GIFT" name="free gift">
            <pattern>
                <token>free</token>
                <token regexp="yes">gifts?|give-aways?</token>
            </pattern>
            <message>This phrase is redundant. Consider using <suggestion><match no="2"/></suggestion>.</message>
            <url>https://en.wikipedia.org/wiki/Pleonasm</url>
            <short>Redundant phrase</short>
            <example correction="gift">Receive a <marker>free gift</marker> with every purchase.</example>
            <example correction="gifts">Compare the best phone deals with <marker>free gifts</marker>, from tablets and TVs to …</example>
            <example correction="Gifts"><marker>Free gifts</marker> for you to keep!</example>
            <example>Receive a <marker>gift</marker> with every purchase.</example>
        </rule>
        <rule id="RIO_GRANDE" name="Rio Grande (river)">
            <pattern>
                <token>rio</token>
                <token regexp="yes">bravo|grande</token>
                <token>river</token>
            </pattern>
            <message>'\1' means river. Simply use <suggestion>\1 \2</suggestion>.</message>
            <url>https://brians.wsu.edu/2016/05/26/rio-grande-river-rio-grande/</url>
            <example correction="Rio Grande">The <marker>Rio Grande river</marker> is one of the principal rivers in the southwest United States and northern Mexico.</example>
        </rule>
        <rule id="MOUNT_FUJIYAMA" name="Mount Fuji">
            <pattern>
                <token>Mount</token>
                <token>Fujiyama</token>
            </pattern>
            <message>As “Yama” means “mountain” in Japanese, better write <suggestion>Mount Fuji</suggestion>?</message>
            <example correction="Mount Fuji"><marker>Mount Fujiyama</marker> is the highest mountain in Japan.</example>
        </rule>
        <rule id="HELP_TO_FIND" name="help to find (help find)">
            <pattern>
                <token inflected="yes">help</token>
                <token postag="PRP"/>
                <token>to</token>
                <token>find</token>
            </pattern>
            <message>In informal texts, 'to' is not necessary. Do you mean <suggestion>\1 \2 \4</suggestion>?</message>
            <url>http://www.bbc.co.uk/worldservice/learningenglish/grammar/learnit/learnitv226.shtml</url>
            <short>Possible redundancy</short>
            <example correction="help me find">Can any guru <marker>help me to find</marker> the reason?</example>
        </rule>
    </category>

    <!-- ====================================================================== -->
    <!-- Style -->
    <!-- ====================================================================== -->
    <category id="STYLE" name="Style" type="style">
        <rulegroup id="MORE_EASY_N_CLEAR" name="more easy (easier, less difficult), more clear (clearer, apparent, obvious, evident) to">
            <rule>  <!-- more easy -->
                <antipattern>   <!-- more easy and flexible / more easy, more fascinating -->
                    <token skip="1">more</token>
                    <token regexp="yes">and|,</token>
                </antipattern>
                <pattern>
                    <token><exception>a</exception></token>
                    <marker>
                        <token>more</token>
                        <token>easy</token>
                    </marker>
                    <token><exception postag="N.*" postag_regexp="yes" /></token>
                </pattern>
                <message>The phrasing 'more easy' can sound awkward and informal. Consider using a comparative adjective or other alternative.</message>
                <suggestion>easier</suggestion>
                <suggestion>less difficult</suggestion>
                <example correction="easier|less difficult">Doing it this way is <marker>more easy</marker> than the previous method.</example>
                <example correction="easier|less difficult">Maybe I didn't explain correctly, but hopefully the code will be <marker>more easy</marker> to understand.</example>
                <example correction="easier|less difficult">I would prefer installation such as the Python agent, as it seems to be much <marker>more easy</marker>.</example>
                <example correction="easier|less difficult">But it would be much <marker>more easy</marker> for us if there would be some document describing in details all aspects.</example>
                <example correction="easier|less difficult">I don't know if this makes creating an ST device type any <marker>more easy</marker> or not, but it's a positive sign at least.</example>
                <example>I think, we should make linking with existing photo-managing-sites more easy and flexible.</example>
                <example>I do not know any reading more easy, more fascinating, more delightful than a catalogue.</example>
                <example>Having a hotkey to paste and send my introductory message makes this process more easy, efficient, and lucrative for me.</example>
                <example>I'm wondering if it's possible to name an http transaction to distinguish them from one another in a more easy fahsion in our SOA setup.</example>
                <example>We need more easy options.</example>
            </rule>
            <rule>  <!-- more clear to -->
                <antipattern>
                    <token>never</token>
                    <token>been</token>
                    <token>more</token>
                </antipattern>
                <pattern>
                    <token><exception>much</exception></token>
                    <marker>
                        <token>more</token>
                        <token>clear</token>
                    </marker>
                    <token>to</token>   <!-- only if followed by 'to', other contexts didn't make sense -->
                </pattern>
                <message>Consider using a comparative adjective or other alternative here.</message>
                <suggestion>clearer</suggestion>
                <suggestion>apparent</suggestion>
                <suggestion>obvious</suggestion>
                <suggestion>evident</suggestion>
                <example correction="clearer|apparent|obvious|evident">It became <marker>more clear</marker> to me that she didn't know what she was talking about.</example>
                <example>It's never been more clear to me that if our world is a fascinating book, those who don't travel never turn a page.</example>
                <example>This should be made much more clear to end users and should allow you to add the devices or exclude them, instead they opted to add them all automatically.</example>
            </rule>
        </rulegroup>
        <rule id="FASTLY" name="fastly (quickly)">
            <antipattern><!-- Fastly is also a company name -->
                <token postag="IN|TO" postag_regexp="yes" />
                <token>fastly</token>
            </antipattern>
            <antipattern><!-- Fastly is also a company name -->
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token chunk_re="I-NP.*">fastly</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">[#_@]</token>
                <token>fastly</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no">fastly</token>
            </antipattern>
            <antipattern>
                <token>fastly</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">.*[a-z].*</token>
            </antipattern>
            <antipattern><!-- Fastly is also a company name -->
                <token inflected="yes">use</token>
                <token>fastly</token>
            </antipattern>
            <antipattern>
                <token>fastly</token>
                <token regexp="yes">accounts?|servers?|infrastructure|'s</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">fastly</token>
            </pattern>
            <message>The adverb "fastly" is considered archaic. Consider an alternative.</message>
            <suggestion>quickly</suggestion>
            <suggestion>fast</suggestion>
            <suggestion>swiftly</suggestion>
            <example correction="quickly|fast|swiftly">He ran <marker>fastly</marker>.</example>
        </rule>
        <rulegroup id="REPEATED_PLEASE" name="'please' twice in a sentence">
            <antipattern>
                <token>please</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token skip="1">please</token>
                <token regexp="yes">,|…|–</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token skip="1">please</token>
                <token>.</token>
                <token>.</token>
                <token min="0">.</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token min="0">,</token>
                <token regexp="yes">pretty|oh</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token>,</token>
                <token min="0" />
                <token />
                <token regexp="yes">[,;]</token>
                <token>please</token>
            </antipattern>
            <antipattern>
                <token skip="-1">please</token>
                <token case_sensitive="yes" regexp="yes">Please|PLEASE</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token postag="RB" min="0" />
                <token skip="-1" postag="VB" />
                <token>please</token>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token skip="-1">please</token>
                <token skip="10">
                    (
                    <exception scope="next">)</exception>
                </token>
                <token skip="10">please</token>
            </antipattern>
            <antipattern>
                <token>please</token>
                <token min="0">,</token>
                <token>help</token>
                <token regexp="yes">us|me</token>
                <token>,</token>
                <token>please</token>
            </antipattern>
            <rule>
                <pattern>
                    <token skip="14">
                        please
                        <exception scope="next" regexp="yes">&quote;</exception>
                    </token>
                    <marker>
                        <token>,</token>
                        <token>please</token>
                        <token postag="SENT_END" regexp="yes">[.!?\)]</token>
                    </marker>
                </pattern>
                <message>This sentence already contains the word "please". Consider removing one of them.</message>
                <suggestion>\4</suggestion>
                <example correction="?">Please could have a look at this<marker>, please?</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token skip="14">
                        please
                        <exception scope="next" regexp="yes">&quote;</exception>
                    </token>
                    <marker>
                        <token>please</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>This sentence already contains the adverb "please". Consider removing one of them or using a synonym.</message>
                <suggestion />
                <suggestion>kindly</suggestion>
                <example correction="|kindly">Please would you <marker>please</marker> provide a name</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token skip="14">
                        please
                        <exception scope="next" regexp="yes">&quote;</exception>
                    </token>
                    <marker>
                        <token>please</token>
                    </marker>
                </pattern>
                <message>This sentence already contains the adverb "please". Consider removing one of them.</message>
                <suggestion />
                <example correction="">Please could you have a look at this <marker>please</marker>?</example>
                <example correction="">Please send over both files <marker>please</marker>.</example>
                <example correction="">Please would you <marker>please</marker> provide a name</example>
                <example>Please… please go to the hospital.</example>
                <example>Please respond directly to Rod Hayslett (copy me, please).</example>
            </rule>
        </rulegroup>
        <rulegroup id="TOO_TO_EITHER" name="I'm not very experienced too (either)">
            <rule tags="picky">
                <antipattern>
                    <token>say</token>
                    <token>not</token>
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token regexp="yes">able|limited</token>
                    <token>too</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">shame|why</token>
                    <token postag="PRP|NNPS?" postag_regexp="yes"/>
                    <token postag="MD|V.*" postag_regexp="yes" />
                    <token inflected="yes">not</token>
                    <token postag="VBP?" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token regexp="yes" inflected="yes">have|&verbs_followed_by_infin;</token>
                    <token>too</token>
                    <token postag="\.|\?|\!" postag_regexp="yes" />
                </antipattern>
                <antipattern>
                    <token>not</token>
                    <token postag="VBG" />
                    <token>too</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes" skip="-1">&quote;</token>
                    <token skip="-1">too</token>
                    <token regexp="yes">&quote;</token>
                </antipattern>
                <pattern>
                    <token inflected="yes">not</token>
                    <token min="0" postag="RB" />
                    <token postag="V.*|JJ" postag_regexp="yes" />
                    <token min="0" postag="RB" />
                    <token min="0" postag="PCT" />
                    <marker>
                        <token>too</token>
                    </marker>
                    <token postag="\.|\?|\!" postag_regexp="yes" />
                </pattern>
                <message>'Either' may be more appropriate here.</message>
                <suggestion>either</suggestion>
                <example correction="either">I'm not very experienced <marker>too</marker>.</example>
                <example correction="either">He really isn't mad <marker>too</marker>.</example>
                <example correction="either">She wasn't upset <marker>too</marker>.</example>
                <example correction="either">The updates aren't truly ready <marker>too</marker>.</example>
                <example correction="either">She isn't coming later <marker>too</marker>.</example>
                <example>Louise Please say not soon too.</example>
                <example>I've got the first round to include but not limited too...</example>
                <example>I don't see any reason why I can't go, too.</example>
                <example>I also got criticism for living with my mom and not paying rent even though i couldn't afford too.</example>
                <example>I am not able too.</example>
                <example>You don't have too.</example>
                <example>He doesn't have too.</example>
                <example>I hate not wanting too.</example>
                <example>I'm not supposed too.</example>
                <example>We didn't need too.</example>
                <example>"You're not one, too."</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token inflected="yes">not</token>
                    <token regexp="yes">have|&verbs_followed_by_infin;</token>
                    <marker>
                        <token>too</token>
                    </marker>
                    <token postag="SENT_END" />
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">You don't have <marker>too</marker>.</example>
                <example correction="to">He doesn't have <marker>too</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">be</token>
                    <token inflected="yes">not</token>
                    <token>able</token>
                    <marker>
                        <token>too</token>
                    </marker>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">I am not able <marker>too</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">not</token>
                    <token regexp="yes" inflected="yes" postag="VBG">have|&verbs_followed_by_infin;</token>
                    <marker>
                        <token>too</token>
                    </marker>
                    <token>
                        <exception postag="JJ" />
                        <exception>much</exception>
                    </token>
                </pattern>
                <message>Did you mean <suggestion>to</suggestion>?</message>
                <example correction="to">I hate not having <marker>too</marker>.</example>
                <example correction="to">I hate not wanting <marker>too</marker>.</example>
                <example>He isn't trying too hard.</example>
            </rule>
        </rulegroup>
        <rule id="ANYWAYS" name="anyways (anyway)"><!--  #394 -->
            <pattern>
                <token>anyways</token>
            </pattern>
            <message>The word '\1' is informal American English. Did you mean <suggestion>anyway</suggestion>?</message><!-- Text languages British, South African, and New Zealand also give a spelling error. -->
            <url>https://www.merriam-webster.com/dictionary/anyways</url>
            <short>Nonstandard phrase</short>
            <example correction="Anyway"><marker>Anyways</marker>, I don't like it.</example>
        </rule>
        <rule id="PPL" name="abbreviation 'ppl'" tags="picky">
            <pattern>
                <token case_sensitive="yes" regexp="yes">[Pp]pl</token>
            </pattern>
            <message>The abbreviation for <suggestion>people</suggestion> can be considered informal.</message>
            <suggestion>people</suggestion>
            <suggestion>individuals</suggestion>
            <example correction="people|individuals">Many <marker>ppl</marker> use LanguageTool.</example>
        </rule>
        <rule id="SUBJECT_DROP" name="I saw it and I (0) should have said something to you">
            <antipattern>
                <token skip="-1" postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" postag="PCT" />
                <token>and</token>
            </antipattern>
            <antipattern>
                <token skip="-1" postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" chunk_re="B-SBAR|B-PP" />
                <token>and</token>
            </antipattern>
            <antipattern>
                <token skip="-1" postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1">so</token>
                <token>and</token>
            </antipattern>
            <antipattern>
                <token postag="NNPS?|PRP_S.*|UNKNOWN" postag_regexp="yes">
                    <exception>it</exception>
                </token>
                <token>and</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token chunk_re="E-NP.*" />
                <token chunk="B-VP" />
                <token skip="-1" chunk_re="B-NP.*">
                    <exception scope="next">and</exception>
                </token>
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" postag="MD" />
                <token>and</token>
                <token><match no="0" /></token>
                <token><match no="1" /></token>
            </antipattern>
            <antipattern>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" chunk="B-VP" />
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" chunk="B-VP" />
                <token>and</token>
            </antipattern>
            <antipattern>
                <token skip="2" postag="W.*" postag_regexp="yes" />
                <token postag="PRP_S.*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>there</token>
                <token skip="-1">is</token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" chunk="B-VP" />
                <token>and</token>
            </antipattern>
            <antipattern>
                <token>of</token>
                <token skip="-1" chunk_re="B-NP.*" />
                <token postag="PRP_S.*" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token><exception>that</exception></token>
                <token postag="PRP_S.*" postag_regexp="yes" />
                <token skip="-1" chunk="B-VP">
                    <exception inflected="yes">say</exception>
                </token>
                <token>and</token>
                <marker>
                    <token><match no="1" /></token>
                    <token postag="MD">
                        <exception regexp="yes">will|'..?</exception>
                    </token>
                </marker>
                <token><exception>n't</exception></token>
            </pattern>
            <message>Reusing '\2' could be redundant. Try omitting the pronoun.</message>
            <suggestion><match no="6" case_conversion="alllower" /></suggestion>
            <url>https://languagetool.org/insights/post/dropping-the-subject/</url>
            <example correction="should">Well I saw it and <marker>I should</marker> have said something to you.</example>
            <example>I have a lengthy series of depositions that are underway, but let me know if you want to get together on Calpine or want me to take action, and I'll make time in the schedule for it.</example>
            <example>I have paid for this already so you can reimburse me on the 19th and I can promptly blow all of that money on gambling.</example>
            <example>I know there were several items that you were checking with your people and I would note those.</example>
            <example>I suppose Tom and I could try to find Mary ourselves.</example>
            <example>I know our paths will cross again and I cannot wait.</example>
            <example>With this telescope, you can see stars and you can see dreams.</example>
            <example>Also if you wouldnt mind being a reference for me it would be greatly appreciated and you can email me your information.</example>
            <example>Why don't you call Tom Briggs here first and you can conference in with Connie.</example>
            <example>There is a special reason I need and I shall explain it to you in person.</example>
            <example>John Chapman of the Daily News termed it "one of the finest musical plays I have ever seen and I shall remember it always".</example>
        </rule>
        <rule id="PREVENT_FROM" name="It's supposed to prevent it (from) spilling over" tags="picky">
            <antipattern>
                <token inflected="yes">prevent</token>
                <token chunk_re="[BI]-NP.*" />
                <token chunk_re="[IE]-NP.*" />
            </antipattern>
            <antipattern>
                <token postag="VBG" />
                <token regexp="yes">&quote;</token>
            </antipattern>
            <antipattern>
                <token postag="VBG" />
                <token postag="RB">
                    <exception postag="IN|RP|TO" postag_regexp="yes" />
                </token>
            </antipattern>
            <antipattern>
                <token skip="3" postag="VBG" />
                <token>from</token>
            </antipattern>
            <antipattern>
                <token postag="VBG" />
                <token>by</token>
                <token postag="N.*" postag_regexp="yes" />
           </antipattern>
           <antipattern>
                <token>title</token>
                <token>passing</token>
           </antipattern>
            <pattern>
                <token inflected="yes">prevent</token>
                <token postag="N.*|PRP_.*" postag_regexp="yes">
                    <exception postag="IN|RP" postag_regexp="yes" />
                </token>
                <marker>
                    <token postag="VBG">
                        <exception regexp="yes">reporting|smuggling</exception>
                    </token>
                </marker>
            </pattern>
            <message>Try inserting 'from' here.</message>
            <suggestion>from \3</suggestion>
            <example correction="from spilling">It's supposed to prevent it <marker>spilling</marker>.</example>
            <example>Thus greenhouses work primarily by preventing convective cooling.</example>
            <example>If in my comment I add a tag that you judge inappropriate, putting your mouse on it could make appear a small option saying “prevent tag referencing”.</example>
            <example>I am all for anything that prevents cheating having recently had a player join my guild and subsequently banned for botting.</example>
            <example>To prevent information identifying the Oscar winners from leaking ahead of the ceremony, Oscar statuettes presented at the ceremony have blank baseplates.</example>
            <example>An alternate currency, denominated in labour time, would prevent profit taking by middlemen.</example>
            <example>There is therefore a risk that an event could occur in the interim which prevents title passing back to MCC.</example>
        </rule>
        <rule id="USED_FOR_VBG" name="They were used to hunt (for hunting) partridges" default="off">
            <antipattern>
                <token postag="VB" />
                <token min="0" postag="CC" />
                <token min="0">to</token>
                <token min="0" postag="RB" />
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token postag="VB" />
                <token>/</token>
                <token postag="VB" />
            </antipattern>
            <antipattern>
                <token postag="VB" />
                <token>.</token>
            </antipattern>
            <antipattern>
                <token postag="VB" />
                <token regexp="yes">for|to|with</token>
            </antipattern>
            <antipattern>
                <token>as</token>
                <token postag="PRP" />
                <token inflected="yes">be</token>
                <token>used</token>
            </antipattern>
            <antipattern>
                <token postag="VB" />
                <token postag="RB" />
            </antipattern>
            <pattern>
                <token chunk_re="E-NP.*">
                    <exception postag="NNP|NNPS" postag_regexp="yes" />
                    <exception regexp="yes">I|you|he|she|we|who|Serkis</exception>
                </token>
                <token inflected="yes">be</token>
                <token regexp="yes">bred|used</token>
                <marker>
                    <token>to</token>
                    <token postag="VB">
                        <exception regexp="yes">&infinitive_verbs;</exception>
                    </token>
                </marker>
            </pattern>
            <message>Try using 'for' + the -ing form of the verb.</message>
            <suggestion>for <match no="5" postag="VBG" /></suggestion>
            <example correction="for hunting">They are used <marker>to hunt</marker> partridges.</example>
            <example>When fighting, they are used to attack and defend, and to protect the trunk.</example>
            <example>It is used to prevent and to treat anemia.</example>
            <example>Computational technologies are used to accelerate or fully automate the processing.</example>
            <example>Learn is used to include/exclude the Minimote to/from ST.</example>
            <example>An alphabet is a standard set of letters (basic written symbols or graphemes) that represent the phonemes (basic significant sounds) of any spoken language it is used to write.</example>
            <example>I need to get this fixed as soon as possible, since it is used to assist with our trading activities.</example>
            <example>It is used to probe for and detonate tripwire initiated mines and booby traps at up to 50 meters.</example>
            <example>The output work W here is the movement of the piston as it is used to turn a crank-arm.</example>
            <example>For the 2005 remake of King Kong, actor Andy Serkis was used to help designers pinpoint the gorilla's prime location in the shots.</example>
        </rule>
        <rulegroup tags="picky" name="Warn when the serial comma is not used" id="SERIAL_COMMA_ON">
              <url>https://languagetool.org/insights/post/oxford-comma/</url>
              <short>Style: serial comma is missing</short>
              <rule>
                <antipattern>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="VBG"/></token>
                    <token>,</token>
                    <token postag="VBG"/>
                    <token regexp="yes">and|or</token>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern>
                    <token>By</token>
                    <token>the</token>
                    <token>way</token>
                    <token>,</token>
                </antipattern>
                <antipattern>
                    <token postag="RB[RS]" postag_regexp="yes"/>
                    <token>,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP"/>
                    <token>and</token>
                    <token postag="NNP" skip="-1"/>
                    <token>(</token>
                    <token>editors</token>
                    <token>)</token>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token skip="-1" regexp="yes">in|at|and</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token>,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="NNP"/></token>
                    <token>,</token>
                    <token postag="NNP"/>
                    <token regexp="yes">and|or</token>
                    <token postag="NNP"/>
                </antipattern>
                <antipattern>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="JJ"/></token>
                    <token>,</token>
                    <token postag="JJ"/>
                    <token regexp="yes">and|or</token>
                    <token postag="JJ"/>
                </antipattern>
                <antipattern>
                    <token postag="NN:UN"><exception postag="VB.*" postag_regexp="yes"/><exception scope="previous">,</exception></token>
                    <token>,</token>
                    <token postag="VB.*" postag_regexp="yes"><exception postag="NN:UN|NNS" postag_regexp="yes"/></token>
                    <token regexp="yes">and|or</token>
                    <token postag="VB.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token postag="NNP"/>
                    <token regexp="yes">,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="NNPS?" postag_regexp="yes"></exception></token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token>on</token>
                    <token>the</token>
                    <token>other</token>
                    <token>hand</token>
                    <token>,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes" max="-1"/>
                    <token regexp="yes">and|or</token>
                    <token postag="NN.*" postag_regexp="yes" max="-1"/>
                    <token>,</token>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes" max="-1"/>
                    <token regexp="yes">and|or</token>
                    <token postag="NN.*" postag_regexp="yes" max="-1"/>
                    <token min="0">,</token>
                    <token>for</token>
                    <token regexp="yes">example|instance</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|or</token>
                    <token min="0" regexp="yes">the|an?</token>
                    <token postag="NN.*" postag_regexp="yes" max="-1"/>
                    <token>,</token>
                    <token min="0" regexp="yes">the|an?</token>
                    <token postag="NN.*" postag_regexp="yes" max="-1"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token>,</token>
                    <token>rain</token>
                    <token>or</token>
                    <token>shine</token>
                </antipattern>
                 <antipattern>
                    <token>,</token>
                    <token>ladies</token>
                    <token>and</token>
                    <token>gentlemen</token>
                </antipattern>
                 <antipattern>
                    <token>,</token>
                    <token>now</token>
                    <token>and</token>
                    <token>forever</token>
                </antipattern>
                <antipattern>
                    <token postag="NNS"><exception postag_regexp="yes" postag="NN:UN|NN"/></token>
                    <token>,</token>
                    <token regexp="yes">an?</token>
                    <token postag="NN"/>
                    <token regexp="yes">and|or</token>
                    <token regexp="yes">an?</token>
                    <token postag="NN"/>
                </antipattern>
                <antipattern>
                    <token>for</token>
                    <token regexp="yes">example|instance</token>
                    <token min="0">,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="VBG"/>
                    <token>,</token>
                    <token regexp="yes" negate="yes">[a-z]+ing</token>
                    <token regexp="yes">and|or</token>
                    <token regexp="yes" negate="yes">[a-z]+ing</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes">Next|Last</token>
                    <token/>
                    <token>,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token regexp="yes" skip="-1">While|Since|After|With|In|Here|Although|Despite|Contrary|Meanwhile|Who|Which|What|Whenever|Where|When|But|Thanks</token>
                    <token>,</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token postag="CC|DT|SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">on|since|before|after|untill?|till?</token>
                    <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                    <token>,</token>
                    <token>
                        <exception regexp="yes">&weekdays;|&abbrevWeekdays;</exception><!-- still suggest comma if it's a serial list of days -->
                    </token>
                </antipattern>
                <antipattern>
                    <token postag="CC|DT|SENT_START|PCT" postag_regexp="yes" />
                    <token regexp="yes">on|since|before|after|untill?|till?</token>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                    <token>,</token>
                    <token>
                        <exception regexp="yes">&months;|&abbrevMonths;</exception><!-- still suggest comma if it's a serial list of months -->
                    </token>
                </antipattern>
                <antipattern><!-- Look guys, the window and even the kitchen door have both been left open! -->
                    <token>look</token>
                    <token regexp="yes">guys|girls|boys|folks</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">and|or</token>
                    <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                    <token chunk_re=".-(VP|ADVP|SBAR|PRT|PP)">
                        <exception>even</exception>
                    </token>
                </antipattern>
                <antipattern><!-- in the case of an infant, the parents and sponsor(s) (godparent(s)) -->
                    <token skip="1">in</token>
                    <token>case</token>
                    <token>of</token>
                    <token postag="JJ.*|DT|PRP\$" postag_regexp="yes" min="0" />
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>,</token>
                </antipattern>
                <antipattern><!-- Following a productive dialogue, Apple and the plaintiffs in the ...  -->
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="IN" />
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*|B-ADJ.*"/>
                </antipattern>
                <antipattern><!-- Following his defeat in the 1900 election, Tupper and his wife settled with their daughter Emma in Bexleyheath in southeast London. -->
                    <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
                    <token postag="IN" />
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token postag="IN" />
                    <token postag="DT|PRP\$" postag_regexp="yes" />
                    <token chunk_re="I-NP.*" min="0" />
                    <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*|B-ADJ.*"/>
                </antipattern>
                <pattern>
                      <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*|B-ADJ.*"><exception regexp="yes">yes|no|today|yesterday|tomorrow</exception><exception scope="previous" regexp="yes">/|:|other|both|and|or|two|must|can|way|be</exception></token>
                      <token>,</token>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <marker>
                          <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*|B-ADJ.*"/>
                          <token regexp="yes">and|or</token>
                      </marker>
                      <token min="0" regexp="yes">even|also</token>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <token postag="NN.*" postag_regexp="yes" />
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>\4, \5</suggestion>
                <example correction="German, and">She speaks Spanish, <marker>German and</marker> French.</example>
                <example correction="president, and">She took a photograph of her parents, the <marker>president and</marker> the vice president.</example>
                <example correction="water, or">Would you like tea, coffee, <marker>water or</marker> wine?</example>
                <example correction="car, or"><!--How will you go to the city? -->Will you use my car, your <marker>car or</marker> the train?</example>
                <example correction="performances, and">Art is used in rituals, <marker>performances and</marker> dances as a decoration or symbol.</example>
                <example correction="dancing, and">He likes singing, <marker>dancing and</marker> playing.</example>
                <example correction="Europe, and">Internet traffic systems currently run faster in Australia, <marker>Europe and</marker> even South America.</example>
                <example correction="Thursday, and">On Wednesday, <marker>Thursday and</marker> Friday Lindy Donoho will be available.</example>
                <!-- TODO: (chunking) -->
                <!-- <example correction="YouTube, and">Facebook, Twitter, <marker>YouTube and</marker> Blogger are threatening our life.</example> -->
                <!-- <example correction="Amazon, and">It has one of only four genuine Internet "brands," the others being Yahoo, <marker>Amazon and</marker> AOL.</example> -->
                <!-- <example>There was a ferry link to Catania, Sicily and Genoa in Italy.</example> -->
                <example correction="France, and">The first identified case was in Japan in 1996, and strains have since been found in hospitals in England, <marker>France and</marker> the US.</example>
                <example correction="diesel, and">Cement clinker, coal, wheat, <marker>diesel and</marker> LPG.</example>
                <example correction="house, and">Decorate your table, your <marker>house and</marker> even yourself with ideas from Kid's Domain.</example>
                <example>She speaks Spanish, <marker>German, and</marker> French.</example>
                <example>Irina, a <marker>singer and</marker> actress, was born in Poland.</example>
                <example>Zone 5 starts in Madison, Georgia and ends in Fairgax, Virginia.</example>
                <example>Also, Dan and Bob want to pow wow on the questions and the policy early next week.</example>
                <example>Yeah, mom and dad got back over the weekend.</example>
                <example>Following a productive dialogue, Apple and the plaintiffs in the Cameron et al. v. Apple Inc. developer suit reached an agreement that identifies seven key priorities</example>
                <example>Now, EPA and others are wanting 2 ppm, again based on vague data.</example>
                <example>Later he was with GC&amp;CS; in the Heliopolis Museum, Cairo and then in the Villa Laurens, Alexandria.</example>
                <example>They became polarised into two camps, with <marker>Marx and</marker> Bakunin as their respective figureheads.</example>
                <example>The International Time Bureau began a time scale, <marker>Tm or</marker> AM, in July 1955, using both local caesium clocks and ...</example>
                <example>Generally who visits their parents the most, <marker>sons or</marker> daughters?</example>
                <example>While he was growing up, his <marker>father and</marker> Nick Bollettieri trained him in this way.</example>
                <example>Since being introduced by Portuguese in the 16th century, <marker>maize and</marker> manioc have replaced traditional African...</example>
                <example>Which do you like better, <marker>summer or</marker> winter?</example>
                <example>With the rise of space tourism, <marker>NASA and</marker> the Russian Federal Space Agency agreed to use...</example>
                <example>On the other hand, <marker>consonants and</marker> vowels are written as independent letters.</example>
                <example>In spite of their various differences, <marker>Joan and</marker> Ann are friends.</example>
                <example>In addition to buses, <marker>Calgary and Edmonton</marker> operate light rail transit systems.</example>
                <example>It was Branchus, <marker>son or</marker> lover of Apollo.</example>
                <example>His father was Hermann Einstein, a <marker>salesman and</marker> engineer.</example>
                <example>Recorded by Ptolemy, the <marker>geographer and</marker> astronomer from Alexandria</example>
                <example>... and according to Alberta Economic Development, <marker>Calgary and</marker> Edmonton both host over four million visitors.</example>
                <example>According to Alberta Economic Development, <marker>Calgary and</marker> Edmonton both host over four million visitors.</example>
                <example>I like both chips and <marker>eggs and</marker> pie and peas.</example><!-- TODO. False negative -->
                <example>Gulf Air, Air Arabia, Air India, <marker>PIA and</marker> others also provide services to Afghanistan.</example><!-- TODO. False negative -->
                <example>Legislative power is vested in the President, the government and parliament.</example><!-- TODO. False negative -->
                <example>This music focuses on themes in love, <marker>religious and</marker> epic.</example>
                <example>But in some jurisdictions, the <marker>state or</marker> prosecution may appeal "as of right" from a trial.</example>
                <example>Likewise, in some jurisdictions, the <marker>state or</marker> prosecution may appeal an issue of law "by leave".</example>
                <example>Meanwhile, <marker>plains and</marker> foothills are characterized by high solar radiation.</example>
                <example>Chapter 2: Albedo, a <marker>whitening or</marker> leucosis</example>
                <example>Barnett, <marker>William and</marker> John Hoopes (editors).</example>
                <example>Today, <marker>separation and</marker> divorce are not as frowned upon.</example>
                <example>... breeding site, the males usually arriving first, <marker>calling and</marker> setting up territories.</example>
                <example type="triggers_error">Carl Jung, <marker>Man and</marker> His Symbols.</example>
                <example>... his first visit to Paris as a gift to his hosts, <marker>Robert and</marker> Mabel Schirmer.</example>
                <example>Whenever an army is raised for common defense, <marker>colonels and</marker> military ranks below colonel will be named by the...</example>
                <example>Which is the capital of the United States, <marker>Washington or</marker> New York?</example>
                <example>Which would you like to have with your bread, <marker>butter or</marker> cheese?</example>
                <example>... yields are around 2 t/ha, African under 1 t/ha, <marker>Egypt and</marker> Arabia up to 3.5 to 4 t/ha with irrigation.</example>
                <example>While air, <marker>water and</marker> food are necessary for life, we cannot so easily categorize the prerequisites of happiness.</example>
                <example>Since rice, <marker>maize and</marker> manioc have replaced traditional African foods, the ...</example>
                <example>With cats, <marker>dogs and</marker> rabbits as the most popular pets for children, we find that ...</example>
                <example>In Art, <marker>Music and</marker> Literature, these themes are common.</example>
                <example>In addition to buses, <marker>trams and</marker> taxis, popular modes of transport are ...</example>
                <example>Thanks to television, <marker>boys and</marker> girls are apt to neglect reading books.</example>
                <example>When I was little, <marker>grandpa and</marker> grandma would come to baby-sit.</example>
                <example>I like animals, for example, <marker>cats and</marker> dogs.</example>
                <example>The mermaids, <marker>wood and</marker> house goblins, werewolves, nix, and different kinds of ...</example>
                <example>There are two doctors in his circle of friends, a <marker>surgeon and</marker> an ophthalmologist.</example>
                <example>The town in ruins, burning, <marker>people and</marker> children being killed.</example>
                <example correction="taste, and">Humans have five senses: sight, hearing, touch, <marker>taste and</marker> smell.</example>
                <example>Massage well into damp hair, <marker>lather and</marker> rinse.</example>
                <example>Yesterday, <marker>Peter and</marker> I went to the zoo.</example>
                <example>I saw a wolf, a <marker>fox, and</marker> a rabbit.</example>
                <example>On Wednesday, Dabhol and the board are due for the second time to meet a committee set up by the state government to negotiate a solution.</example>
                <example>Look guys, the window and even the kitchen door have both been left open!</example>
                <example>To each question, the catechumen, or, in the case of an infant, the parents and sponsor(s) (godparent(s)) in his or her place, answers "I do."</example>
                <example type="triggers_error">The Royal Antigua and Barbuda Defence Force has around 260 members dispersed between the line infantry regiment, service and support unit and coast guard.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="SENT_START"/>
                    <token>In</token>
                    <token regexp="yes">theory|principle|practice|essence|general|addition|particular|contrast</token>
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">in|after|before|since</token>
                    <token regexp="yes">&months;|&abbrevMonths;|winter|summer|spring|autum|fall</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[A-Z].*</token>
                    <token>,</token>
                    <token regexp="yes">[a-z].*</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">[a-z].*</token>
                    <token>,</token>
                    <token regexp="yes">[A-Z].*</token>
                    <token regexp="yes">and|or</token>
                </antipattern>
                <pattern>
                      <token postag="SENT_START"/>
                      <token regexp="yes">While|When|After|Since|Although|With|In|Here|Despite|Meanwhile|Whenever|Where|But</token>
                      <token postag="NN.*" postag_regexp="yes">
                        <exception regexp="yes">\d+|then|now|today|yesterday|tonight</exception>
                        <exception postag="VBG" />
                      </token>
                      <token>,</token>
                      <marker>
                          <token postag="NN.*" postag_regexp="yes"></token>
                          <token regexp="yes">and|or</token>
                      </marker>
                      <token postag="NN.*" postag_regexp="yes"></token>
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>\5, \6</suggestion>
                <example correction="water, and">While air, <marker>water and</marker> food are necessary for life, we cannot so easily categorize the prerequisites of happiness.</example>
                <example correction="maize, and">Since rice, <marker>maize and</marker> manioc have replaced traditional African foods, the ...</example>
                <example correction="dogs, and">With cats, <marker>dogs and</marker> rabbits as the most popular pets for children, we find that ...</example>
                <example correction="Music, and">In Art, <marker>Music and</marker> Literature, these themes are common.</example>
                <example>She speaks Spanish, <marker>German and</marker> French.</example>
                <example>In addition, Continental and Delta are counting double miles earned through November 15 toward elite status.</example>
                <example>But today, commerce and security is COMPLETELY DEPENDENT on those systems.</example>
                <example>In particular, Bosnia and Herzegovina were among the stronger players with a growth of 20%.</example>
                <example>In Europe, lesbian and gay evangelical Christians have a European forum.</example>
                <example>In one, Carley and Erin look like sisters.</example>
                <example>She took a photograph of her parents, the <marker>president and</marker> the vice president.</example>
                <example>Would you like tea, coffee, <marker>water or</marker> wine?</example>
                <example>How will you go to the city? Will you use my car, your <marker>car or</marker> the train?</example>
                <example>She speaks Spanish, <marker>German, and</marker> French.</example>
                <example>Irina, a <marker>singer and</marker> actress, was born in Poland.</example>
                <example>They became polarised into two camps, with <marker>Marx and</marker> Bakunin as their respective figureheads.</example>
                <example>The International Time Bureau began a time scale, <marker>Tm or</marker> AM, in July 1955, using both local caesium clocks and ...</example>
                <example>Generally who visits their parents the most, <marker>sons or</marker> daughters?</example>
                <example>While he was growing up, his <marker>father and</marker> Nick Bollettieri trained him in this way.</example>
                <example>Since being introduced by Portuguese in the 16th century, <marker>maize and</marker> manioc have replaced traditional African...</example>
                <example>Which do you like better, <marker>summer or</marker> winter?</example>
                <example>Since then, investors and analysts have been calling with increasing vehemence for the company to divulge full details of its business dealings with other related entities.</example>
                <example>With the rise of space tourism, <marker>NASA and</marker> the Russian Federal Space Agency agreed to use...</example>
                <example>On the other hand, <marker>consonants and</marker> vowels are written as independent letters.</example>
                <example>In spite of their various differences, <marker>Joan and</marker> Ann are friends.</example>
                <example>In addition to buses, <marker>Calgary and Edmonton</marker> operate light rail transit systems.</example>
                <example>It was Branchus, <marker>son or</marker> lover of Apollo.</example>
                <example>His father was Hermann Einstein, a <marker>salesman and</marker> engineer.</example>
                <example>Recorded by Ptolemy, the <marker>geographer and</marker> astronomer from Alexandria</example>
                <example>... and according to Alberta Economic Development, <marker>Calgary and</marker> Edmonton both host over four million visitors.</example>
                <example>According to Alberta Economic Development, <marker>Calgary and</marker> Edmonton both host over four million visitors.</example>
                <example>I like both chips and <marker>eggs and</marker> pie and peas.</example><!-- TODO. False negative -->
                <example>Art, <marker>literature and</marker> film.</example><!-- TODO. False negative -->
                <example>Gulf Air, Air Arabia, Air India, <marker>PIA and</marker> others also provide services to Afghanistan.</example><!-- TODO. False negative -->
                <example>Art is used in rituals, <marker>performances and</marker> dances as a decoration or symbol.</example>
                <example>Legislative power is vested in the President, the government and parliament.</example><!-- TODO. False negative -->
                <example>This music focuses on themes in love, <marker>religious and</marker> epic.</example>
                <example>But in some jurisdictions, the <marker>state or</marker> prosecution may appeal "as of right" from a trial.</example>
                <example>Likewise, in some jurisdictions, the <marker>state or</marker> prosecution may appeal an issue of law "by leave".</example>
                <example>Meanwhile, <marker>plains and</marker> foothills are characterized by high solar radiation.</example>
                <example>Chapter 2: Albedo, a <marker>whitening or</marker> leucosis</example>
                <example>Barnett, <marker>William and</marker> John Hoopes (editors).</example>
                <example>In 2008, Peter and Jill visited Europe.</example>
                <example>... breeding site, the males usually arriving first, <marker>calling and</marker> setting up territories.</example>
                <example>Carl Jung, <marker>Man and</marker> His Symbols.</example>
                <example>... his first visit to Paris as a gift to his hosts, <marker>Robert and</marker> Mabel Schirmer.</example>
                <example>Whenever an army is raised for common defense, <marker>colonels and</marker> military ranks below colonel will be named by the...</example>
                <example>Which is the capital of the United States, <marker>Washington or</marker> New York?</example>
                <example>Which would you like to have with your bread, <marker>butter or</marker> cheese?</example>
                <example>... yields are around 2 t/ha, African under 1 t/ha, <marker>Egypt and</marker> Arabia up to 3.5 to 4 t/ha with irrigation.</example>
                <example>In the temple courts he found men selling cattle, sheep and doves, and others sitting at tables.</example>
                <example>Which would you like to have with your bread, butter or cheese?</example>
                <example>In the drought, many people and animals starved to death.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="JJ"/></token>
                    <token>,</token>
                    <token postag="JJ"/>
                    <token regexp="yes">and|or</token>
                    <token postag="JJ"/>
                </antipattern>
                <pattern>
                      <token>(</token>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <token postag="NN.*" postag_regexp="yes"></token>
                      <token>,</token>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <marker>
                          <token postag="NN.*" postag_regexp="yes"><exception scope="previous">and</exception></token>
                          <token regexp="yes">and|or</token>
                      </marker>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <token postag="NN.*" postag_regexp="yes"></token>
                      <token><exception>,</exception></token>
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>\6, \7</suggestion>
               <example correction="Culture, and">Stocking, George, Jr. (Race, <marker>Culture and</marker> Evolution).</example>
               <example>Аля (Alia, <marker>male and</marker> feminine)</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="NNP"/></token>
                    <token>,</token>
                    <token postag="NNP"/>
                    <token regexp="yes">and|or</token>
                    <token postag="NNP"/>
                </antipattern>
                <antipattern>
                    <token>the</token>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="NNP"/></token>
                    <token>,</token>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="NNP"/></token>
                    <token regexp="yes">and|or</token>
                    <token postag="NN.*" postag_regexp="yes"><exception postag="NNP"/></token>
                </antipattern>
                <pattern>
                      <token>in</token>
                      <token>addition</token>
                      <token>to</token>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <token postag="NN.*" postag_regexp="yes"></token>
                      <token>,</token>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <marker>
                          <token postag="NN.*" postag_regexp="yes"><exception scope="previous">and</exception></token>
                          <token regexp="yes">and|or</token>
                      </marker>
                      <token regexp="yes" min="0">my|your|his|her|our|the(ir)?|an?|th[eo]se|some|many|most</token>
                      <token postag="NN.*" postag_regexp="yes"></token>
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>\8, \9</suggestion>
                <url>https://en.wikipedia.org/wiki/Serial_comma</url>
                <short>Style: serial comma is missing</short>
                <example correction="trams, and">In addition to buses, <marker>trams and</marker> taxis, popular modes of transport are ...</example>
                <example>In addition to buses, <marker>Calgary and</marker> Edmonton operate light rail transit systems.</example>
                <example>In addition to the weather, <marker>pilots and</marker> organizers must also consider local airspace restrictions.</example>
                <example>She speaks Spanish, <marker>German and</marker> French.</example>
                <example>She took a photograph of her parents, the <marker>president and</marker> the vice president.</example>
                <example>Would you like tea, coffee, <marker>water or</marker> wine?</example>
                <example>How will you go to the city? Will you use my car, your <marker>car or</marker> the train?</example>
                <example>She speaks Spanish, <marker>German, and</marker> French.</example>
                <example>Irina, a <marker>singer and</marker> actress, was born in Poland.</example>
                <example>They became polarised into two camps, with <marker>Marx and</marker> Bakunin as their respective figureheads.</example>
                <example>The International Time Bureau began a time scale, <marker>Tm or</marker> AM, in July 1955, using both local caesium clocks and ...</example>
                <example>Generally who visits their parents the most, <marker>sons or</marker> daughters?</example>
                <example>While he was growing up, his <marker>father and</marker> Nick Bollettieri trained him in this way.</example>
                <example>Since being introduced by Portuguese in the 16th century, <marker>maize and</marker> manioc have replaced traditional African...</example>
                <example>Which do you like better, <marker>summer or</marker> winter?</example>
                <example>With the rise of space tourism, <marker>NASA and</marker> the Russian Federal Space Agency agreed to use...</example>
                <example>On the other hand, <marker>consonants and</marker> vowels are written as independent letters.</example>
                <example>In spite of their various differences, <marker>Joan and</marker> Ann are friends.</example>
                <example>In addition to buses, <marker>Calgary and Edmonton</marker> operate light rail transit systems.</example>
                <example>It was Branchus, <marker>son or</marker> lover of Apollo.</example>
                <example>His father was Hermann Einstein, a <marker>salesman and</marker> engineer.</example>
                <example>Recorded by Ptolemy, the <marker>geographer and</marker> astronomer from Alexandria</example>
                <example>... and according to Alberta Economic Development, <marker>Calgary and</marker> Edmonton both host over four million visitors.</example>
                <example>According to Alberta Economic Development, <marker>Calgary and</marker> Edmonton both host over four million visitors.</example>
                <example>I like both chips and <marker>eggs and</marker> pie and peas.</example><!-- TODO. False negative -->
                <example>Art, <marker>literature and</marker> film.</example><!-- TODO. False negative -->
                <example>Gulf Air, Air Arabia, Air India, <marker>PIA and</marker> others also provide services to Afghanistan.</example><!-- TODO. False negative -->
                <example>Art is used in rituals, <marker>performances and</marker> dances as a decoration or symbol.</example>
                <example>Legislative power is vested in the President, the government and parliament.</example><!-- TODO. False negative -->
                <example>This music focuses on themes in love, <marker>religious and</marker> epic.</example>
                <example>But in some jurisdictions, the <marker>state or</marker> prosecution may appeal "as of right" from a trial.</example>
                <example>Likewise, in some jurisdictions, the <marker>state or</marker> prosecution may appeal an issue of law "by leave".</example>
                <example>Meanwhile, <marker>plains and</marker> foothills are characterized by high solar radiation.</example>
                <example>Chapter 2: Albedo, a <marker>whitening or</marker> leucosis</example>
                <example>Barnett, <marker>William and</marker> John Hoopes (editors).</example>
                <example>... breeding site, the males usually arriving first, <marker>calling and</marker> setting up territories.</example>
                <example>Carl Jung, <marker>Man and</marker> His Symbols.</example>
                <example>... his first visit to Paris as a gift to his hosts, <marker>Robert and</marker> Mabel Schirmer.</example>
                <example>Whenever an army is raised for common defense, <marker>colonels and</marker> military ranks below colonel will be named by the...</example>
                <example>Which is the capital of the United States, <marker>Washington or</marker> New York?</example>
                <example>Which would you like to have with your bread, <marker>butter or</marker> cheese?</example>
                <example>... yields are around 2 t/ha, African under 1 t/ha, <marker>Egypt and</marker> Arabia up to 3.5 to 4 t/ha with irrigation.</example>
            </rule>
            <rule><!-- 3 adjectives -->
                <pattern>
                    <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" />
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-ADJP" />
                    <token>,</token>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-ADJP" />
                    <marker>
                        <token regexp="yes">and|or</token>
                    </marker>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-ADJP" />
                    <token postag="PCT|IN|TO|CC" postag_regexp="yes" />
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>, \7</suggestion>
                <example correction=", and">The car is special, fast<marker> and</marker> nice to look at.</example>
                <example correction=", or">For instance, icebergs containing impurities can appear brown, grey<marker> or</marker> green.</example>
                <example correction=", and">It, along with the anti psychotic, makes me feel dumb, dull<marker> and</marker> stupid.</example>
                <example correction=", and">It is wireless, portable<marker> and</marker> rechargeable, up to 3 hours.</example>
                <example correction=", and">Her face was small, white<marker> and</marker> thin, also much freckled.</example>
                <example correction=", and">This order is arbitrary, capricious<marker> and</marker> unlawful.</example>
                <example correction=", or">Just got this Legendary, however, I have no clue if he is good, great<marker> or</marker> average?</example>
            </rule>
            <rule><!-- 3 adjectives, same as above, only that B-VP does not match contractions -->
                <antipattern case_sensitive="yes"><!-- They quarreled as to which was easier, French or German. -->
                    <token postag="JJ.*" postag_regexp="yes" regexp="yes">[a-z].+</token>
                    <token>,</token>
                    <token postag="JJ.*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem|appear|look</token>
                    <token postag="RB" min="0" max="2" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">and|or</token>
                    </marker>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception>most</exception>
                    </token>
                    <token postag="PCT|IN|TO|CC" postag_regexp="yes" />
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>, \7</suggestion>
                <example correction=", and">It's wireless, portable<marker> and</marker> rechargeable, up to 3 hours.</example>
                <example correction=", and">For other people, however, trusts are unnecessary, complicated<marker> and</marker> expensive.</example>
                <example correction=", or">If the products are expensive, large<marker> or</marker> fragile, it refers to safety issues.</example>
                <example>They quarreled as to which was easier, French or German.</example>
            </rule>
            <rule><!-- 4 adjectives -->
                <antipattern case_sensitive="yes"><!-- They quarreled as to which was easier, French or German. -->
                    <token postag="JJ.*" postag_regexp="yes" regexp="yes">[a-z].+</token>
                    <token>,</token>
                    <token postag="JJ.*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                </antipattern>
                <pattern>
                    <token inflected="yes" regexp="yes">be|seem|appear|look</token>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <token>,</token>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes" />
                    <marker>
                        <token regexp="yes">and|or</token>
                    </marker>
                    <token postag="RB" min="0" chunk_re=".-AD.*" />
                    <token postag="JJ.*" postag_regexp="yes">
                        <exception>most</exception>
                    </token>
                    <token postag="PCT|IN|TO|CC" postag_regexp="yes" />
                </pattern>
                <message>The serial comma (Oxford comma, Harvard comma) is missing.</message>
                <suggestion>, \10</suggestion>
                <example correction=", and">It's too expensive, inefficient, slow<marker> and</marker> difficult to roll out and transport.</example>
            </rule>
            <!-- TODO: I am an attractive, charming, and beautiful girl. -->
        </rulegroup>
        <rule id="WILL_ALLOW" name="This will allow (allows) them to bloom..." tags="picky">
            <antipattern>
                <token chunk="E-NP-plural" />
                <token>that</token>
                <token>will</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="-1">future|upcoming</token>
                <token>allow</token>
            </antipattern>
            <antipattern>
                <token skip="-1">allow</token>
                <token regexp="yes">future|will</token>
            </antipattern>
            <antipattern>
                <token skip="1">and</token>
                <token min="0">–</token>
                <token>will</token>
            </antipattern>
            <antipattern>
                <token postag="CD" />
                <token>will</token>
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural" />
                <token min="0" chunk="B-PP" />
                <token min="0" skip="-1" chunk="B-NP-singular" />
                <token min="0" chunk="B-PP" />
                <token skip="-1" chunk="B-NP-singular" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token postag="NNS" />
                <token regexp="yes">&quote;</token>
                <token skip="-1" chunk="B-NP-singular" />
                <token chunk="B-VP" />
            </antipattern>
            <antipattern>
                <token postag="NNP|NNPS" postag_regexp="yes" />
                <token skip="-1" chunk="B-VP" />
                <token chunk="B-SBAR" />
                <token>it</token>
                <token>will</token>
                <token>allow</token>
            </antipattern>
            <pattern>
                <token chunk="E-NP-singular">
                    <exception postag="NNP" />
                    <exception regexp="yes" case_sensitive="yes">A380|Browser|Choice|CIG|Commission|CustomEntity|DTH|Dynegydirect|Exchange|GlobalCashExchange|HPL|Intermediate|ISO|Legislature|Lott|Messenger|Module|MySportsCenter|NRQL|PNG|Professional|Shop|SMETS2|STSC|TNPC|TNRCC|TPs|UBS|USSSA|VAR</exception>
                    <exception regexp="yes">I|you|he|she|we|they|these|those|administration|court|government|psychiatrist|some|\)</exception>
                </token>
                <token>will</token>
                <token>allow</token>
            </pattern>
            <message>Future tense may not be necessary in this context.</message>
            <suggestion><match no="1" /> allows</suggestion>
            <example correction="This allows"><marker>This will allow</marker> them to bloom in the spring.</example>
            <example>Are there any third party apps that will allow this?</example>
            <example>An upcoming improvement to the integration will allow us to support groups.</example>
            <example>That will allow my hours to become somewhat more normal in the near future.</example>
            <example>Scientific, Abbott Labs, and Biotronik – will allow patients to order tests without a cosign from their doctor.</example>
            <example>I would like to know what event in 2002 will allow us to create that income.</example>
            <example>Some will allow you to log your time.</example>
            <example>The Clinton administration will allow legal appeals to proceed expeditiously.</example>
            <example>After the last overbid, the court will allow Hilcorp the opportunity to overbid by an additional $50,000.</example>
            <example>Analysts said the only bright spot may be that the government will allow companies to start adjusting tariffs.</example>
            <example>Your efforts that day will allow all ENA employees to return to the office.</example>
            <example>Longer term, we believe numerous positive factors as highlighted in this note will allow shares to outperform.</example>
            <example>Davis is trying to manufacture a succession of conflicts with the White House that will allow him to run in 2002.</example>
            <example>On terminals and other electronic output devices, there are often software (or hardware) configuration choices which will allow a destruct backspace.</example>
            <example>However, he did indicate that they will be working on some additional "milestones" which will allow us to increase flows once they are met.</example>
            <example>In fact, analysts say Beijing has reassured that it will allow market forces to set the yuan only gradually.</example>
        </rule>
        <rule id="FINAL_ADVERB_COMMA" name="comma before ending sentence with adverb">
            <antipattern>
                <token postag="SENT_START|CC" postag_regexp="yes"/>
                <token postag="RB" />
                <token postag="SENT_END|\." postag_regexp="yes"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">&quote;</token>
                <token chunk="B-ADVP" />
                <token regexp="yes">&quote;</token>
            </antipattern>
            <antipattern>
                <token skip="1" regexp="yes">\p{P}|\.\.\.</token>
                <token chunk_re="[BI]-ADVP" />
            </antipattern>
            <antipattern>
                <token regexp="yes">a|as|behave|big|is|least|mean|most|none|say|said|smiled|so|than|think|to|up|why|□|></token>
                <token postag="RB" />
            </antipattern>
            <antipattern>
                <token postag="SENT_START" />
                <token postag="RB" />
                <token min="2">.</token>
            </antipattern>
            <antipattern>
                <token>maybe</token>
                <token>.</token>
                <token postag="PCT|CD" postag_regexp="yes"/>
            </antipattern>
            <antipattern>
                <token skip="-1" regexp="yes" inflected="yes">answer|tell|run|say</token>
                <token>honestly</token>
            </antipattern>
            <antipattern>
                <token min="0" regexp="yes">no|on</token>
                <token regexp="yes">complete|one|purpose</token>
                <token regexp="yes">certainly|apparently|obviously</token>
            </antipattern>
            <antipattern>
                <token postag="VBG" />
                <token>probably</token>
            </antipattern>
            <antipattern>
                <token>always</token>
                <token>be</token>
                <token>my</token>
                <token>maybe</token>
            </antipattern>
            <antipattern>
                <token case_sensitive="yes">Love</token>
                <token case_sensitive="yes">Actually</token>
            </antipattern>
            <pattern>
                <token><exception regexp="yes">\p{P}</exception></token>
                <marker>
                    <token regexp="yes">actually|allegedly|apparently|certainly|fortunately|honestly|hopefully|however|maybe|obviously|perchance|perhaps|probably|surely|unfortunately</token>
                </marker>
                <token postag="\.|\?|\!" postag_regexp="yes" />
            </pattern>
            <message>Consider inserting a comma before '\2'.</message>
            <suggestion>, <match no="2" /></suggestion>
            <example correction=", maybe">It could work<marker> maybe</marker>.</example>
            <example>Maybe?</example>
            <example>But not comfortable to pull the trigger until I'm more certain than “maybe”</example>
            <example>Not likely, prorated maybe.</example>
            <example>Thursday definitely no...friday maybe.</example>
            <example>The answer is maybe.</example>
            <example>...but everything shows up on the classic app as well so maybe .</example>
            <example>Do you want to be my girlfriend? □ Yes. □ No. □ Maybe. </example>
            <example>Honestly...</example>
            <example>Fortunately...the day is over for me.</example>
            <example>2018 was reasonable and maybe .25 seconds between bulbs.</example>
            <example>Tell me honestly.</example>
            <example>so that's a maybe.</example>
            <example>No one here can answer that with complete certainly.</example>
            <example>Oddly enough, no one apparently.</example>
            <example>...after his performance in Always Be My Maybe.</example>
            <example>I'm guessing probably.</example>
            <example>That sounds more than probably.</example>
            <example>.. obviously.. it runs everytime.</example>
            <example>Actually.. funny enough..</example>
            <example>You get too close to actually.</example>
            <example>Unfortunately.. they were not updated.</example>
            <example>It will keep you down just as surely..</example>
            <example>They will descend into civil war most surely.</example>
            <example>The majority of gambling sites are run honestly.</example>
            <example>Why certainly..</example>
            <example>You didn't send this to SoCalGas, on purpose obviously.</example>
            <example>Dad > would look at me > hopefully.</example>
            <example>Noah looked up hopefully.</example>
            <example>Probably."</example>
            <example>You always say maybe.</example>
            <example>He played a malicious mall Santa Claus in 2003's Bad Santa, a black comedy that performed well at the box office and established Thornton as a leading comic actor, and in the same year, portrayed a womanizing President of the United States in the British romantic comedy Love Actually.</example>
        </rule>
        <rulegroup default="off" name="Warn when the serial comma is used (incomplete)" id="SERIAL_COMMA_OFF">
            <rule>
                <!-- This rule detects the simplest case:
                   Noun, Noun, and Noun -->
                <pattern>
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token>,</token>
                    <marker>
                        <token postag_regexp="yes" postag="NN.*"/>
                        <token>,</token>
                        <token regexp="yes">and|or</token>
                    </marker>
                    <token postag_regexp="yes" postag="NN.*"/>
                </pattern>
                <message>Remove the serial comma.</message>
                <suggestion>\3 \5</suggestion>
                <example>The pen, <marker>pencil and</marker> book are on the desk.</example>
                <example correction="pencil and">The pen, <marker>pencil, and</marker> book are on the desk.</example>
            </rule>
        </rulegroup>
        <rule id="WHOLE_OTHER" name="a whole other (entirely different) issue" tags="picky">
            <pattern>
                <token>a</token>
                <token>whole</token>
                <token>other</token>
                <token regexp="yes">conversation|discussion|history|issue|matter|setup|situation|story|subject|topic</token>
            </pattern>
            <message>The expression 'a whole other' can seem colloquial. Consider replacing it with a more formal alternative.</message>
            <suggestion>an entirely different <match no="4" /></suggestion>
            <example correction="an entirely different issue">That brings up <marker>a whole other issue</marker>, but I'll stop here.</example>
            <example>Wifi is a whole other animal requiring work to write to many different device APIs...</example>
        </rule>
        <rule id="WEEK_END_HYPHEN" name="week-end (weekend)">
            <pattern>
                <token regexp="yes">week-ends?</token>
            </pattern>
            <message>This word might seem dated. Consider spelling it without a hyphen.</message>
            <suggestion><match no="1" regexp_match="(?i)-e" regexp_replace="e" /></suggestion>
            <url>https://en.wiktionary.org/wiki/week-end</url>
            <example correction="weekend">Let's meet on the <marker>week-end</marker> to play some tennis.</example>
        </rule>
        <rule id="THERE_RE_CONTRACTION_UNCOMMON" name="there're → there are">
            <!-- see also THERE_S_MANY, THERE_RE_MANY -->
            <!-- 'there're' appears ~1,000 times less frequently than 'there are' in writing:
            https://books.google.com/ngrams/graph?content=there+are%2Fthere%27re%2Chere+are%2Fhere%27re%2Cwhere+are%2Fwhere%27re&year_start=1900&year_end=2019&corpus=26&smoothing=3
            and the ratio 1,640:1 is even larger in iWeb (which is more informal than Google Books). -->
            <pattern>
                <token regexp="yes">[tw]?here</token>
                <token>'re</token>
            </pattern>
            <!-- <url>https://english.stackexchange.com/questions/12865/is-therere-similar-to-theres-a-correct-contraction</url> -->
            <message>The contraction '\1\2' is uncommon in written English.</message>
            <suggestion>\1 are</suggestion>
            <example correction="There are"><marker>There're</marker> problems in Iraq.</example>
            <example correction="Here are"><marker>Here’re</marker> some references:</example>
            <example correction="Where are"><marker>Where're</marker> you going?</example>
        </rule>
        <rulegroup id="SENT_START_ARE_NOT_ARENT_FORMAL" name="Are not (formal) → Aren't">
            <!-- See also ORDER_OF_WORDS_WITH_NOT -->
            <antipattern>
                <token>not</token>
                <token min="0" max="2" postag="RB" />
                <token postag_regexp="yes" postag="VB.*" />
            </antipattern>
            <antipattern><!-- prefer UPPERCASE_SENTENCE_START rule first -->
                <token postag="SENT_START" />
                <token case_sensitive="yes" regexp="yes">[a-z].*</token>
            </antipattern>
            <rule>
                <pattern>
                    <!-- TODO: extend to PCT|CC as well -->
                    <token postag="SENT_START" />
                    <marker>
                        <token inflected="yes" regexp="yes">have|be|will|do|can|could|should|would|might|must
                            <exception regexp="yes">am|can</exception><!-- next sub-rules handle special contractions: aren't, can't -->
                            <exception postag="VBG" />
                        </token>
                        <token skip="-1" case_sensitive="yes">not</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Questions beginning with '\2 \3' can sound very formal.</message>
                <suggestion><match no="2" regexp_match="(?i)(w)ill" regexp_replace="$1o" />n't</suggestion>
                <example correction="Aren't"><marker>Are not</marker> you the cause of this for me?</example>
                <example correction="Aren't"><marker>Are not</marker> you ashamed of yourself?</example>
                <example correction="Isn't"><marker>Is not</marker> this the word that we spoke to thee in Egypt, saying: Depart from us, that we may serve the Egyptians? for it was much better to serve them, than to die in the wilderness.</example>
                <example correction="Isn't"><marker>Is not</marker> philosophy, after all, pretending to ignore what is known, and to know what is not known?</example>
                <example correction="Isn't"><marker>Is not</marker> a helping life ten times magnified?</example>
                <example correction="Isn't"><marker>Is not</marker> that the reason why you spent so much time in Rome last year?</example>
                <example correction="Wouldn't"><marker>Would not</marker> you reckon the alchymist for a god, that could add ten years to the sum of your life, and call back advanced age to the vigour of youth?</example>
                <example correction="Wouldn't"><marker>Would not</marker> something similar be possible on Steam?</example>
                <example correction="Don't"><marker>Do not</marker> you get annoyed?</example>
                <example correction="Shouldn't"><marker>Should not</marker> it be a string of numbers?</example>
                <example correction="Won't"><marker>Will not</marker> the price to be paid for the things to be lost, be too high?</example>
                <example>Do not come back, OK?</example>
                <example>Do not simply come back, OK?</example>
                <example>Having not read it, you are saying it was a provocateur, right?</example>
                <example>Is not helping someone a crime?</example>
                <example>Is not a coincidence that all the stores closed earlier today.</example>
                <example>Has not received regulatory approval</example>
                <example>Have not heard from him.</example>
                <example>Are Not Yet Available for Greenville, KY.</example>
                <!-- next sub-rules handle special contractions: aren't, can't -->
                <example>Am not I lucky?</example>
                <example>Can not you get it?</example>
                <!-- sentence is not a question -->
                <example>Will not be in this morning as I am having eye surgery (lasik) later today.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC" />
                    <marker>
                        <token>am</token>
                        <token skip="-1" case_sensitive="yes">not</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Questions beginning with '\2 \3' can sound very formal.</message>
                <suggestion><match no="2" regexp_match="(?i)(a)m" regexp_replace="$1re" />n't</suggestion>
                <example correction="Aren't"><marker>Am not</marker> I lucky?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC" />
                    <marker>
                        <token>can</token>
                        <token skip="-1" case_sensitive="yes">not</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Questions beginning with '\2 \3' can sound very formal.</message>
                <suggestion><match no="2" regexp_match="(?i)(ca)n" regexp_replace="$1" />n't</suggestion>
                <example correction="Can't"><marker>Can not</marker> you get it?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC" />
                    <token min="0">then</token>
                    <token postag="WRB" />
                    <marker>
                        <token inflected="yes" regexp="yes">have|be|will|do|can|could|should|would|might|must
                            <exception>am</exception><!-- next sub-rule handles special contractions: aren't, can't -->
                            <exception postag="VBG" />
                        </token>
                        <token skip="-1" case_sensitive="yes">not</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Questions with '\4 \5' can sound very formal.</message>
                <suggestion><match no="4" regexp_match="(?i)(w)ill" regexp_replace="$1o" />n't</suggestion>
                <!-- TODO: consider suggesting both ["aren't you", "are you not"] for "are not you" -->
                <example correction="wouldn't">Why <marker>would not</marker> that work?</example>
                <example correction="doesn't">Why <marker>does not</marker> anyone translate the phrases I send to this site?</example>
                <example correction="don't">Now why <marker>do not</marker> you teach her how to properly wear them?</example>
                <example correction="shouldn't">But why <marker>should not</marker> I wear pink ribbons?</example>
                <example correction="don't">If we believe that, why <marker>do not</marker> we have it?</example>
                <example correction="don't">While trying to shake off love, why <marker>do not</marker> you give yourself a little time to think?</example>
                <!-- Note: interrogative words below are WP, not WRP; this is for future-proofing -->
                <example>the production of food for priests and warriors who do not themselves produce</example>
                <example>Which are not the same?</example>
                <example>Who was not here?</example>
                <example>Who is not unwell?</example>
                <example>Who is not a native Berber speaker here?</example>
                <example>That is not what you want?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC" />
                    <token min="0">then</token>
                    <token postag="WRB" />
                    <marker>
                        <token>am</token>
                        <token skip="-1" case_sensitive="yes">not</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Questions with '\4 \5' can sound very formal.</message>
                <suggestion><match no="4" regexp_match="(?i)(a)m" regexp_replace="$1re" />n't</suggestion>
                <example correction="aren't">Why <marker>am not</marker> I enough for you?</example>
            </rule>
            <rule>
                <pattern>
                    <token postag_regexp="yes" postag="SENT_START|PCT|CC" />
                    <token min="0">then</token>
                    <token postag="WRB" />
                    <marker>
                        <token>can</token>
                        <token skip="-1" case_sensitive="yes">not</token>
                    </marker>
                    <token postag="SENT_END">?</token>
                </pattern>
                <message>Questions with '\4 \5' can sound very formal.</message>
                <suggestion><match no="4" regexp_match="(?i)(ca)n" regexp_replace="$1" />n't</suggestion>
                <example correction="can't">Why <marker>can not</marker> I share a regular binary file?</example>
                <example correction="can't">If that is so, why <marker>can not</marker> we have it?</example>
                <example correction="can't">If he serves others, then why <marker>can not</marker> we?</example>
            </rule>
        </rulegroup>
        <rulegroup id="NOT_SURE_IT_WORKS" name="Not sure (if) it works">
            <antipattern>
                <token>sure</token>
                <token>that</token>
                <token chunk_re=".-NP.*" />
            </antipattern>
            <antipattern>
                <token>I</token>
                <token>suppose</token>
            </antipattern>
            <antipattern>
                <token>sure</token>
                <token>that</token>
                <token regexp="yes">there|then|before|after</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>not</token>
                    <token min="0" regexp="yes">very|so|really|quite|entirely|fully</token>
                    <marker>
                        <token>sure</token>
                        <token regexp="yes">it|this|th[eo]se|s?he|they|we|I|you|the|there</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="VB.*|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                    </token>
                </pattern>
                <message>Consider adding a conjunction to make this sound more formal.</message>
                <suggestion>\3 if \4</suggestion>
                <suggestion>\3 that \4</suggestion>
                <suggestion>\3 whether \4</suggestion>
                <suggestion>\3, \4</suggestion>
                <example correction="sure if it|sure that it|sure whether it|sure, it">Not <marker>sure it</marker> works like this.</example>
                <example>Not sure that separate comments would get us any additional value.</example>
                <example>Not so elegant I suppose...</example>
                <example>He is not so foolish that even he can't see the reason.</example>
            </rule>
            <rule>
                <pattern>
                    <token>not</token>
                    <token min="0" regexp="yes">very|so|really|quite|entirely|fully</token>
                    <marker>
                        <token>sure</token>
                        <token>that</token>
                    </marker>
                    <token postag="RB" min="0" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="VB.*|MD" postag_regexp="yes">
                        <exception regexp="yes">&uncommon_verbs;</exception>
                        <exception postag="VBG" />
                    </token>
                </pattern>
                <message>Consider adding a conjunction to make this sound more formal.</message>
                <suggestion>\3 if \4</suggestion>
                <suggestion>\3 whether \4</suggestion>
                <suggestion>\3, \4</suggestion>
                <example correction="sure if that|sure whether that|sure, that">Not <marker>sure that</marker> will work like this.</example>
                <example>I’m not sure that allowing the user to back up to another pod is a good idea.</example>
                <example>I’m not sure that there is a clean way to accomplish what you need.</example>
                <example>I am not sure that setting a transaction URL will help.</example>
                <example>We think it does, but we are not sure that there will be a material improvement.</example>
                <example>Second, I’m not sure that tent is the perfect answer to that.</example>
            </rule>
        </rulegroup>
        <rule id="THANK_YOU_MUCH" name="Thank you much">
            <antipattern>
                <token>much</token>
                <token>appreciated</token>
            </antipattern>
            <pattern>
                <token>thank</token>
                <token>you</token>
                <token>much</token>
            </pattern>
            <message>This phrase is non-standard. Consider replacing it.</message>
            <suggestion>\1 \2 so \3</suggestion>
            <suggestion>\1 \2 very \3</suggestion>
            <example correction="Thank you so much|Thank you very much"><marker>Thank you much</marker>.</example>
        </rule>
        <rule id="TIFLIS" name="Tiflis">
            <antipattern>
                <token skip="5">Tiflis</token>
                <token>Tbilisi</token>
            </antipattern>
            <antipattern>
                <token skip="5">Tbilisi</token>
                <token>Tiflis</token>
            </antipattern>
            <pattern>
                <token case_sensitive="yes">Tiflis</token>
            </pattern>
            <message>The capital city of Georgia is today known under the name <suggestion>Tbilisi</suggestion>.</message>
            <example correction="Tbilisi">The capital city of Georgia is <marker>Tiflis</marker>.</example>
            <example>The dialect of the Ararat plateau provided the primary elements of Eastern Armenian, centered in Tiflis (Tbilisi, Georgia).</example>
        </rule>
        <rule id="USED_TO_COULD" name="used to could (be able to)">
            <pattern>
                <token>used</token>
                <token>to</token>
                <marker><token>could</token></marker>
            </pattern>
            <message>Did you mean <suggestion>be able to</suggestion>?</message>
            <url>https://brians.wsu.edu/2016/05/19/used-to-could//</url>
            <example correction="be able to">I used to <marker>could</marker> do that.</example>
        </rule>
        <rulegroup id="MISSING_COMMA_WITH_TOO" name="Missing vocative comma">
            <rule>
                <pattern>
                    <token postag="SENT_START"/>
                    <token min='0' regexp='yes'>["«»“”]|but|and</token>
                    <marker>
                        <token postag="PRP"><exception postag="PRP$"/></token>
                        <token>too</token>
                    </marker>
                    <token postag="VB.?|MD" postag_regexp="yes"></token>
                </pattern>
                <message>Consider setting off 'too' with commas if you want to emphasize an abrupt change of thought.</message>
                <suggestion>\3, too,</suggestion>
                <url>https://www.dailywritingtips.com/comma-before-too/</url>
                <short>Missing comma</short>
                <example correction="I, too,"><marker>I too</marker> love cheese cake.</example>
            </rule>
        </rulegroup>
        <rulegroup id="INDIAN_ENGLISH" name="Indian English replacements">
            <url>https://en.wikipedia.org/wiki/Indian_English#Vocabulary</url>
            <rule>
                <pattern>
                    <token regexp="yes">redressals?</token>
                </pattern>
                <message>The word "\1" is Indian English. Consider a term that is more suited for an international audience.</message>
                <suggestion>reparation<match no="1" regexp_match="(?i)redressal" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>compensation<match no="1" regexp_match="(?i)redressal" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>correction<match no="1" regexp_match="(?i)redressal" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>reaction<match no="1" regexp_match="(?i)redressal" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>redress</suggestion><!-- TODO: convert this to plural -->
                <url>https://www.lexico.com/definition/redressal</url>
                <example correction="reparation|compensation|correction|reaction|redress">Thanks for your speedy <marker>redressal</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">upgradations?</token>
                </pattern>
                <message>The word "\1" is Indian English. Consider a term that is more suited for an international audience.</message>
                <suggestion>upgrade<match no="1" regexp_match="(?i)upgradation" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>enhancement<match no="1" regexp_match="(?i)upgradation" regexp_replace="" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/definition/upgradation</url>
                <example correction="upgrade|enhancement">I got an <marker>upgradation</marker> to premium economy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">freeships?</token>
                </pattern>
                <message>The word "\1" is Indian English. Consider a term that is more suited for an international audience.</message>
                <suggestion>free studentship<match no="1" regexp_match="(?i)freeship" regexp_replace="" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/definition/freeship</url>
                <example correction="free studentship">He was granted a <marker>freeship</marker> from the state.</example>
            </rule>
            <rule>
                <pattern>
                    <token>press</token>
                    <token regexp="yes">persons?</token>
                </pattern>
                <message>The term "\1 \2" is Indian English. Consider a term that is more suited for an international audience.</message>
                <suggestion>journalist<match no="2" regexp_match="(?i)person" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>reporter<match no="2" regexp_match="(?i)person" regexp_replace="" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/definition/press_person</url>
                <example correction="journalist|reporter">The <marker>press person</marker> interviewed the victim.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">press\-?persons?</token>
                </pattern>
                <message>The term "\1" is Indian English. Consider a term that is more suited for an international audience.</message>
                <suggestion>journalist<match no="1" regexp_match="(?i)pressperson" regexp_replace="" case_conversion="alllower" /></suggestion>
                <suggestion>reporter<match no="1" regexp_match="(?i)pressperson" regexp_replace="" case_conversion="alllower" /></suggestion>
                <url>https://www.lexico.com/definition/press_person</url>
                <example correction="journalist|reporter">The <marker>pressperson</marker> interviewed the victim.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">prepone</token>
                </pattern>
                <message>The term "\1" is Indian English. Consider a term that is more suited for an international audience.</message>
                <suggestion><match no="1" regexp_match="(?i)prepon" regexp_replace="advanc" /></suggestion>
                <url>https://www.lexico.com/definition/prepone</url>
                <example correction="advance">The government might <marker>prepone</marker> these elections so we'd better be prepared.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">do</token>
                    <token>the</token>
                    <token>needful</token>
                </pattern>
                <message>This expression is chiefly Indian English or dated British English. Consider an alternative that is more suited for an international audience.</message>
                <suggestion>\1 what is necessary</suggestion>
                <suggestion>\1 what is required</suggestion>
                <url>https://en.wiktionary.org/wiki/do_the_needful</url>
                <example correction="do what is necessary|do what is required">We need to <marker>do the needful</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">rowdy\-sheeters?</token>
                </pattern>
                <message>This expression is chiefly Indian English. Consider an alternative that is more suited for an international audience.</message>
                <suggestion><match no="1" regexp_match="(?i)rowdy\-sheeter" regexp_replace="criminal" case_conversion="alllower" /></suggestion>
                <suggestion><match no="1" regexp_match="(?i)rowdy\-sheeter" regexp_replace="lawbreaker" case_conversion="alllower" /></suggestion>
                <example correction="criminal|lawbreaker">He is a <marker>rowdy-sheeter</marker> because he has stolen.</example>
            </rule>
            <rule>
                <pattern>
                    <token>annexure</token>
                </pattern>
                <message>This word is chiefly Indian English. Consider an alternative that is more suited for an international audience.</message>
                <suggestion>appendix</suggestion>
                <suggestion>attachment</suggestion>
                <suggestion>supplement</suggestion>
                <url>https://www.lexico.com/definition/annexure</url>
                <example correction="appendix|attachment|supplement">The <marker>annexure</marker> of the technical proposal.</example>
            </rule>
            <rule>
                <pattern>
                    <token>annexures</token>
                </pattern>
                <message>This word is chiefly Indian English. Consider an alternative that is more suited for an international audience.</message>
                <suggestion>appendixes</suggestion>
                <suggestion>attachments</suggestion>
                <suggestion>supplements</suggestion>
                <url>https://www.lexico.com/definition/annexure</url>
                <example correction="appendixes|attachments|supplements">The <marker>annexures</marker> of the technical proposal.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">updations?</token>
                </pattern>
                <message>This word is chiefly Indian English. Consider an alternative that is more suited for an international audience.</message>
                <suggestion><match no="1" regexp_match="(?i)pdation" regexp_replace="pdate" /></suggestion>
                <url>https://www.lexico.com/en/definition/updation</url>
                <example correction="update">Something went wrong during the <marker>updation</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">Jeff(rey)?</token>
                    <token>Skilling</token>
                </antipattern>
                <antipattern>
                    <token>Keith</token>
                    <token>Skilling</token>
                </antipattern>
                <antipattern>
                    <token>K</token>
                    <token min="0">.</token>
                    <token>Skilling</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">Mrs?|Dr|Prof</token>
                    <token min="0">.</token>
                    <token>skilling</token>
                </antipattern>
                <antipattern>
                    <token postag="NNP" />
                    <token case_sensitive="yes">Skilling</token>
                </antipattern>
                <pattern>
                    <token>skilling</token>
                </pattern>
                <message>This word is chiefly South Asian English. Consider an alternative that is more suited for an international audience.</message>
                <suggestion>training</suggestion>
                <url>https://www.lexico.com/en/definition/skilling</url>
                <example correction="training">He did a <marker>skilling</marker> to learn more about computers.</example>
            </rule>
            <!-- <rule>
                <pattern>
                    <token regexp="yes">sub-inspectors?</token>
                </pattern>
                <message>This expression is chiefly Indian English. Consider an alternative that is more suited for an international audience.</message>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">timepass</token>
                </pattern>
                <message>This expression is chiefly Indian English or dated British English. Consider an alternative that is more suited for an international audience.</message>
            </rule> -->
            <!-- TODO https://blogs.wsj.com/indiarealtime/2013/09/04/for-timepass-a-guide-to-indian-english/ -->
        </rulegroup>
        <rulegroup id="RECOMMENDED_COMPOUNDS" name="Recommended compounds (smartphone, website, …)">
            <rule>
                <pattern>
                    <token>smart</token>
                    <token regexp="yes">phones?</token>
                </pattern>
                <message>Nowadays, it's more common to write this as one word.</message>
                <suggestion>smart<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/smart%20phone</url>
                <example correction="smartphone">He is using a <marker>smart phone</marker> to communicate with his friends.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>world</token>
                    <token>wide</token>
                    <token>web</token>
                </antipattern>
                <pattern>
                    <token>web</token>
                    <token regexp="yes">sites?</token>
                </pattern>
                <message>Nowadays, it's more common to write this as one word.</message>
                <suggestion>web<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/web%20site</url>
                <example correction="website">He published a new blog post on his <marker>web site</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">(coffee|tea)makers?</token>
                </pattern>
                <message>It's more common to write this as two words.</message>
                <suggestion><match no="1" regexp_match="(?i)(ee|ea)(ma)" regexp_replace="$1 $2" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/coffeemaker</url>
                <example correction="coffee maker">Not everyone wants or needs a fancy <marker>coffeemaker</marker>, and that’s totally fine.</example>
            </rule>
            <rule>
                <pattern>
                    <token>back</token>
                    <token regexp="yes">yards?</token>
                </pattern>
                <message>It's more common to write this as one word.</message>
                <suggestion>back<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/backyard</url>
                <example correction="backyard">He is having a party in his <marker>back yard</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>end</token>
                    <token>user</token>
                </antipattern>
                <pattern>
                    <token>user</token>
                    <token regexp="yes">names?</token>
                </pattern>
                <message>It's more common nowadays to write this noun as one word.</message>
                <suggestion>user<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/username</url>
                <example correction="username">I have set a <marker>user name</marker> for my online profile.</example>
            </rule>
            <rule>
                <pattern>
                    <token>land</token>
                    <token regexp="yes">lines?</token>
                </pattern>
                <message>It's more common nowadays to write this noun as one word.</message>
                <suggestion>land<match no="2" case_conversion="alllower" /></suggestion>
                <url>https://www.merriam-webster.com/dictionary/landline</url>
                <example correction="landline">I don't own a mobile phone, I only have a <marker>land line</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="MOST_OF_OUR_TIMES" name="Most of our times (time)">
            <pattern>
                <token inflected="yes" regexp="yes" skip="2">spend|invest|enjoy</token>
                <marker>
                    <token>most</token>
                    <token>of</token>
                    <token regexp="yes">y?our|my|his|her|their|its</token>
                    <token>times</token>
                </marker>
            </pattern>
            <message>Did you mean the more common phrase <suggestion>\2 \3 \4 <match no="5" regexp_match="(?i)s" regexp_replace="" /></suggestion>?</message>
            <example correction="most of our time">We spend <marker>most of our times</marker> here.</example>
        </rule>
        <rulegroup id="REASON_IS_BECAUSE" name="'the reason... is because'">
            <antipattern>
                <token regexp="yes" skip="1">that|,</token>
                <token>is</token>
                <token>because</token>
            </antipattern>
            <antipattern>
                <token>because</token>
                <token regexp="yes">of|that|\p{P}</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJ" min="0" />
                    <token skip="6">reason</token>
                    <marker>
                        <token>is</token>
                        <token>because</token>
                    </marker>
                </pattern>
                <!--  or &lt;suggestion&gt;because&lt;/suggestion&gt; -->
                <message>The word "because" means "for the reason that" and thus introduces redundancy.</message>
                <suggestion>is that</suggestion>
                <url>https://onlinewritingtraining.com.au/the-reason-is-that-or-the-reason-is-because/</url>
                <example correction="is that">The reason we were late <marker>is because</marker> there was an accident.</example>
                <example>The root reason of his failure is because of his arrogance.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJ" min="0" />
                    <token skip="5">reason</token>
                    <token skip="4">is</token>
                    <marker>
                        <token>is</token>
                        <token>because</token>
                    </marker>
                </pattern>
                <!--  or &lt;suggestion&gt;because&lt;/suggestion&gt; -->
                <message>The word "because" means "for the reason that" and thus introduces redundancy.</message>
                <suggestion>is that</suggestion>
                <url>https://onlinewritingtraining.com.au/the-reason-is-that-or-the-reason-is-because/</url>
                <example correction="is that">The reason that Tom isn't here <marker>is because</marker> he's sick.</example>
                <example>The root reason of his failure is because of his arrogance.</example>
            </rule>
        </rulegroup>
        <rulegroup id="ALINE" name="aline vs. align">
            <url>https://www.merriam-webster.com/dictionary/aline</url>
            <rule>
                <pattern>
                    <token case_sensitive="yes">aline</token>
                </pattern>
                <message>This word is a less commonly used variant of the verb 'align'. Did you mean <suggestion><match no="1" regexp_match="(?i)line" regexp_replace="lign" /></suggestion>, <suggestion><match no="1" regexp_match="(?i)line" regexp_replace="irline" /></suggestion>, <suggestion>a line</suggestion> or the name <suggestion>Aline</suggestion>?</message>
                <example correction="align|airline|a line|Aline">They <marker>aline</marker> to the recently announced changes.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes">alines</token>
                </pattern>
                <message>This word is a less commonly used variant of the verb 'align'. Did you mean <suggestion><match no="1" regexp_match="(?i)line" regexp_replace="lign" /></suggestion>, <suggestion><match no="1" regexp_match="(?i)line" regexp_replace="irline" /></suggestion> or the name <suggestion>Aline's</suggestion>?</message>
                <example correction="aligns|airlines|Aline's">He <marker>alines</marker> to the recently announced changes.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">alin(ed|ing)</token>
                </pattern>
                <message>This word is a less commonly used variant of the verb 'align'. Did you mean <suggestion><match no="1" regexp_match="(?i)lin" regexp_replace="lign" /></suggestion>?</message>
                <example correction="aligning">He is <marker>alining</marker> to the recently announced changes.</example>
            </rule>
        </rulegroup>
        <rule id="BESTEST" name="bestest (best)">
            <pattern>
                <token>bestest</token>
            </pattern>
            <message>The word "\1" is informal.</message>
            <suggestion>best</suggestion>
            <url>https://www.merriam-webster.com/dictionary/bestest</url>
            <example correction="best">He is my <marker>bestest</marker> friend.</example>
        </rule>
        <rule id="BORED_OF" name="bored of (with)">
            <pattern>
                <token>bored</token>
                <token>of</token>
            </pattern>
            <message>In standard English it's more accepted to use <suggestion>bored with</suggestion> or <suggestion>bored by</suggestion>.</message>
            <url>https://www.lexico.com/grammar/bored-by-of-or-with</url>
            <example correction="bored with|bored by">I always get <marker>bored of</marker> people who talk about themselves.</example>
        </rule>
        <rule id="THEMSELF" name="'themself'">
            <antipattern>
                <token regexp="yes">"|„|‘|“</token>
                <token spacebefore="no">themself</token>
                <token regexp="yes" spacebefore="no">"|“|’|”</token>
            </antipattern>
            <pattern>
                <token>themself</token>
            </pattern>
            <message>The term is non-standard and not widely accepted.</message>
            <suggestion>themselves</suggestion>
            <suggestion>himself</suggestion>
            <suggestion>herself</suggestion>
            <url>https://www.lexico.com/definition/themself</url>
            <example correction="themselves|himself|herself">The casual observer might easily think <marker>themself</marker> back in 1945.</example>
        </rule>
        <rule id="OURSELF" name="'ourself'">
            <antipattern>
                <token regexp="yes">"|„|‘|“</token>
                <token spacebefore="no">ourself</token>
                <token regexp="yes" spacebefore="no">"|“|’|”</token>
            </antipattern>
            <pattern>
                <token>ourself</token>
            </pattern>
            <message>The term is non-standard and not widely accepted.</message>
            <suggestion>ourselves</suggestion>
            <url>https://www.lexico.com/definition/ourself</url>
            <example correction="ourselves">We witnessed <marker>ourself</marker> at Southampton this thirteenth day of October.</example>
        </rule>
        <rule id="MERCHANDIZE" name="'merchandize' vs. 'merchandise'">
            <pattern>
                <token inflected="yes">merchandize</token>
            </pattern>
            <message>Consider using the more commonly used <suggestion><match no="1" regexp_match="iz" regexp_replace="is" /></suggestion>.</message>
            <url>https://languagetool.org/insights/post/ise-ize/</url>
            <example correction="merchandised">He <marker>merchandized</marker> eighteen years, owning mills and blacksmith shops.</example>
            <example correction="merchandise">The <marker>merchandize</marker> will arrive by truck at midnight.</example>
        </rule>
        <rulegroup id="SUPER_BOWL" name="Super Bowl (roman literals)">
            <rule>
                <pattern>
                    <token>Super</token>
                    <token>Bowl</token>
                    <token regexp="yes">#?53</token>
                </pattern>
                <message>Do you want to use the official name including roman numerals <suggestion>Super Bowl LIII</suggestion>?</message>
                <example correction="Super Bowl LIII">The <marker>Super Bowl 53</marker> is happening in February 2018.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">53(th)?</token>
                    <token>Super</token>
                    <token>Bowl</token>
                </pattern>
                <message>Do you want to use the official name including roman numerals <suggestion>Super Bowl LIII</suggestion>?</message>
                <example correction="Super Bowl LIII">The <marker>53th Super Bowl</marker> is happening in February 2018.</example>
            </rule>
            <rule>
                <pattern>
                    <token>Super</token>
                    <token>Bowl</token>
                    <token regexp="yes">#?54</token>
                </pattern>
                <message>Do you want to use the official name including roman numerals <suggestion>Super Bowl LIV</suggestion>?</message>
                <example correction="Super Bowl LIV">The <marker>Super Bowl 54</marker> is happening in February 2020.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">54(th)?</token>
                    <token>Super</token>
                    <token>Bowl</token>
                </pattern>
                <message>Do you want to use the official name including roman numerals <suggestion>Super Bowl LIV</suggestion>?</message>
                <example correction="Super Bowl LIV">The <marker>54th Super Bowl</marker> is happening in February 2020.</example>
            </rule>
            <rule>
                <pattern>
                    <token>Super</token>
                    <token>Bowl</token>
                    <token regexp="yes">#?55</token>
                </pattern>
                <message>Do you want to use the official name including roman numerals <suggestion>Super Bowl LV</suggestion>?</message>
                <example correction="Super Bowl LV">The <marker>Super Bowl 55</marker> is happening in February 2021.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">55(th)?</token>
                    <token>Super</token>
                    <token>Bowl</token>
                </pattern>
                <message>Do you want to use the official name including roman numerals <suggestion>Super Bowl LV</suggestion>?</message>
                <example correction="Super Bowl LV">The <marker>55th Super Bowl</marker> is happening in February 2021.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GOTTA" name="informal 'gotta'">
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>gotta</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion>I've to</suggestion>
                <suggestion>I've got to</suggestion>
                <suggestion>I got a</suggestion>
                <example correction="I've to|I've got to|I got a"><marker>Gotta</marker> go.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|we|they|you</token>
                    <marker>
                        <token>gotta</token>
                    </marker>
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion>have to</suggestion>
                <suggestion>have got to</suggestion>
                <suggestion>got a</suggestion>
                <example correction="have to|have got to|got a">I <marker>gotta</marker> go.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <marker>
                        <token>gotta</token>
                    </marker>
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion>has to</suggestion>
                <suggestion>has got to</suggestion>
                <suggestion>got a</suggestion>
                <example correction="has to|has got to|got a">He <marker>gotta</marker> go.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">have|has</token>
                    <token>gotta</token>
                    <token>be</token>
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion>must be</suggestion>
                <example correction="must be">You <marker>have gotta be</marker> kidding me.</example>
            </rule>
            <rule>
                <pattern>
                    <token>'ve</token>
                    <token>gotta</token>
                    <token>be</token>
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion> must be</suggestion>
                <example correction=" must be">You<marker>'ve gotta be</marker> kidding me.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">have|has</token>
                    <marker>
                        <token>gotta</token>
                    </marker>
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion>got a</suggestion>
                <example correction="got a">I have <marker>gotta</marker> new car.</example>
            </rule>
            <rule>
                <pattern>
                    <token>'ve</token>
                    <token>gotta</token>
                </pattern>
                <message>The word 'gotta' is informal.</message>
                <suggestion> got a</suggestion>
                <example correction=" got a">You<marker>'ve gotta</marker> new car.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GONNA_TEMP" name="gonna (going to)" default="temp_off">
            <antipattern>
                <token negate_pos="yes" postag="SENT_START" />
                <token case_sensitive="yes">Gunna</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">are|r</token>
                    <token>u</token>
                    <token regexp="yes">g[ou]n?na|finna</token>
                </pattern>
                <message>The phrase '\1 \2 \3' is informal.</message>
                <suggestion>are you going to</suggestion>
                <suggestion>will you</suggestion>
                <example correction="Are you going to|Will you"><marker>Are u gonna</marker> ignore me?</example>
            </rule>
            <rule>
                <pattern>
                    <token>u</token>
                    <token regexp="yes">g[ou]n?na|finna</token>
                </pattern>
                <message>The phrase '\1 \2' is informal.</message>
                <suggestion>you're going to</suggestion>
                <suggestion>you are going to</suggestion>
                <suggestion>you will</suggestion>
                <example correction="you're going to|you are going to|you will">And now <marker>u gonna</marker> ignore me.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">g[ou]n?na|finna</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word '\1' is informal.</message>
                <suggestion>going to</suggestion>
                <example correction="Going to"><marker>Gonna</marker> be there.</example>
                <example correction="going to">I'm <marker>gonna</marker> let you finish.</example>
                <example correction="Going to"><marker>Gunna</marker> try it again today.</example>
                <example correction="going to">i am not <marker>gona</marker> fly if</example>
                <example correction="going to">I'm <marker>finna</marker> get a updated gaming console</example>
                <example>They call me Gonna.</example>
                <example>These allegations concerning Gunna have no basis in reality.</example>
            </rule>
        </rulegroup>
        <rulegroup id="GONNA" name="gonna (going to)">
            <rule>
                <pattern>
                    <token regexp="yes">are|r</token>
                    <token>u</token>
                    <token>gonna</token>
                </pattern>
                <message>The phrase '\1 u gonna' is informal.</message>
                <suggestion>are you going to</suggestion>
                <suggestion>will you</suggestion>
                <example correction="Are you going to|Will you"><marker>Are u gonna</marker> ignore me?</example>
            </rule>
            <rule>
                <pattern>
                    <token>u</token>
                    <token>gonna</token>
                </pattern>
                <message>The phrase 'u gonna' is informal.</message>
                <suggestion>you're going to</suggestion>
                <suggestion>you are going to</suggestion>
                <suggestion>you will</suggestion>
                <example correction="you're going to|you are going to|you will">And now <marker>u gonna</marker> ignore me.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>gonna</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word 'gonna' is informal.</message>
                <suggestion>going to</suggestion>
                <example correction="Going to"><marker>Gonna</marker> be there.</example>
                <example correction="going to">I'm <marker>gonna</marker> let you finish.</example>
                <example>They call me Gonna.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TRYNA" name="tryna → trying to" default="temp_off">
            <rule>
                <pattern>
                    <token regexp="yes">tryi?n?na</token>
                </pattern>
                <message>The word '\1' is informal.</message>
                <suggestion>trying to</suggestion>
                <example correction="trying to">Thanks for <marker>tryna</marker> help.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">tryi?n?</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>na</token>
                </pattern>
                <message>The word '\1\2\3' is informal.</message>
                <suggestion>trying to</suggestion>
                <example correction="trying to">Who you <marker>try'na</marker> call?</example>
            </rule>
        </rulegroup>
        <rulegroup id="Y_ALL" name="y'all (you all)">
            <rule>
                <pattern>
                    <token>all</token>
                    <token>of</token>
                    <token regexp="yes">ya?|you</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token>all</token>
                </pattern>
                <message>The word "all" is repeated. Consider just using <suggestion>\1 \2 \3ou</suggestion>.</message>
                <example correction="all of you">I will send an update to <marker>all of y'all</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>y</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token>all</token>
                </pattern>
                <message>The phrase '\1\2\3' is informal.</message>
                <suggestion>you all</suggestion>
                <suggestion>all of you</suggestion>
                <example correction="You all|All of you"><marker>Y'all</marker> don't know what I'm talking about.</example>
                <example correction="you all|all of you">I'd like to correct the error I made in my last message to <marker>y'all</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DONTCHA" name="dontcha (don't you)">
            <rule>
                <pattern>
                    <token regexp="yes">dont?cha</token>
                </pattern>
                <message>The word '\1' is informal.</message>
                <suggestion>don't you</suggestion>
                <example correction="Don't you"><marker>Dontcha</marker> think this could be done easier?</example>
            </rule>
            <rule>
                <pattern>
                    <token>don</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">t?cha</token>
                </pattern>
                <message>The word '\1\2\3' is informal.</message>
                <suggestion>don't you</suggestion>
                <example correction="Don't you"><marker>Don'tcha</marker> think this could be done easier?</example>
            </rule>
        </rulegroup>
        <rulegroup id="WHATCHA" name="whatcha (what are you)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">wh?atcha</token>
                    </marker>
                    <token postag="VBG" />
                </pattern>
                <message>The word '\1' is informal.</message>
                <suggestion>what are you</suggestion>
                <example correction="What are you"><marker>Whatcha</marker> doing?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">wh?atcha</token>
                    </marker>
                    <token postag="VBG" negate_pos="yes" />
                </pattern>
                <message>The word '\1' is informal.</message>
                <suggestion>what do you</suggestion>
                <suggestion>what are you</suggestion>
                <example correction="What do you|What are you"><marker>Whatcha</marker> have?</example>
            </rule>
        </rulegroup>
        <rule id="OUTTA" name="outta (out of)">
            <pattern>
                <token>outta</token>
            </pattern>
            <message>The word '\1' is informal.</message>
            <suggestion>out of</suggestion>
            <example correction="out of">I'm <marker>outta</marker> here.</example>
        </rule>
        <rule id="LEMME" name="lemme (let me)">
            <pattern>
                <token>lemme</token>
            </pattern>
            <message>The word '\1' is informal.</message>
            <suggestion>let me</suggestion>
            <example correction="Let me"><marker>Lemme</marker> see if I can help you.</example>
        </rule>
        <rulegroup id="BOUT_TO" name="I'm bout (about) to">
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token min="0">'s</token>
                    <token>bout</token>
                    <token>to</token>
                </pattern>
                <message>The phrase '\3 \4' is informal.</message>
                <suggestion>\1's about \5</suggestion>
                <example correction="He's about to"><marker>He bout to</marker> go crazy.</example>
                <example correction="He's about to"><marker>He's bout to</marker> go crazy.</example>
            </rule>
            <rule>
                <pattern>
                    <token>I</token>
                    <token min="0">'m</token>
                    <token>bout</token>
                    <token>to</token>
                </pattern>
                <message>The phrase '\3 \4' is informal.</message>
                <suggestion>\1'm about \5</suggestion>
                <example correction="I'm about to"><marker>I bout to</marker> go crazy.</example>
                <example correction="I'm about to"><marker>I'm bout to</marker> go crazy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">we|they|you</token>
                    <token min="0">'re</token>
                    <token>bout</token>
                    <token>to</token>
                </pattern>
                <message>The phrase '\3 \4' is informal.</message>
                <suggestion>\1're about \5</suggestion>
                <example correction="They're about to"><marker>They bout to</marker> go crazy.</example>
                <example correction="They're about to"><marker>They're bout to</marker> go crazy.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|u|ya|ur</token>
                    <token regexp="yes" min="0">r|are</token>
                    <token>bout</token>
                    <token>to</token>
                </pattern>
                <message>The phrase '\3 \4' is informal.</message>
                <suggestion>You're about \4</suggestion>
                <example correction="You're about to"><marker>U r bout to</marker> go crazy.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <marker>
                        <token>bout</token>
                        <token>to</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>The phrase '\2 \3' is informal.</message>
                <suggestion>I'm about \3</suggestion>
                <example correction="I'm about to"><marker>Bout to</marker> jam it!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">am|are|is</token>
                    <marker>
                        <token>bout</token>
                        <token>to</token>
                    </marker>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message>The phrase '\2 \3' is informal.</message>
                <suggestion>about \3</suggestion>
                <example correction="about to">It is <marker>bout to</marker> go down.</example>
            </rule>
        </rulegroup>
        <rule id="LUV" name="luv (love)">
            <pattern>
                <token regexp="yes">luvs?</token>
            </pattern>
            <message>The word '\1' is informal and non-standard.</message>
            <suggestion><match no="1" regexp_match="(?i)luv" regexp_replace="love" /></suggestion>
            <url>https://www.lexico.com/en/definition/luv</url>
            <example correction="loves">He <marker>luvs</marker> you</example>
        </rule>
        <rule id="DAT" name="dat (that)">
            <antipattern>
                <token skip="2">dat</token>
                <token regexp="yes">.*motor.*|cars?|auto.*|internali.ation|transporter|formats?|files?|recorders?|nguyen</token>
            </antipattern>
            <antipattern>
                <token>.</token>
                <token spacebefore="no">dat</token>
            </antipattern>
            <antipattern>
                <token>Dat</token>
                <token postag="UNKNOWN" />
            </antipattern>
            <antipattern>
                <token>Dat</token>
                <token>,</token>
            </antipattern>
            <pattern>
                <token postag="SENT_START|VB.*" postag_regexp="yes" />
                <marker>
                    <token case_sensitive="yes" regexp="yes">
                        [Dd]at
                    </token>
                </marker>
            </pattern>
            <message>Did you mean <suggestion>that</suggestion> or <suggestion>date</suggestion>?</message>
            <example correction="that|date">We can do <marker>dat</marker>.</example>
            <example>Bill, it appears that all is well with updating the DAT files to CSV</example>
            <example>list.dat</example>
        </rule>
        <rule id="DIS" name="dis (this)">
            <antipattern>
                <token>(</token>
                <token>dis</token>
                <token>)</token>
            </antipattern>
            <antipattern>
                <token>magnis</token>
                <token>dis</token>
            </antipattern>
            <antipattern><!-- dis can be used as a noun (rare) -->
                <token regexp="yes">the|an?|my|her|his|y?our|their|its|s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token>dis</token>
            </antipattern>
            <antipattern><!-- dis can be used as a verb (rare) -->
                <token regexp="yes">can|will|to|[cw]ould|should</token>
                <token postag="RB" min="0" />
                <token>dis</token>
                <token postag="PRP.*|NNP" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token>dis</token>
                <token regexp="yes">/|-|tracks?|songs?|vids?|videos?</token>
            </antipattern>
            <antipattern>
                <token>dis</token>
                <token postag="UNKNOWN" />
            </antipattern>
            <antipattern>
                <token skip="2" regexp="yes">city|ruins?</token>
                <token>dis</token>
            </antipattern>
            <antipattern case_sensitive="yes">
                <token regexp="yes">[a-z].+</token>
                <token>Dis</token>
            </antipattern>
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Dd]is</token>
            </pattern>
            <message>Did you mean <suggestion>this</suggestion>?</message>
            <example correction="This"><marker>Dis</marker> is my favourite food.</example>
            <example>Ideally, Diaspora should be equally easy to use for people with all levels of (dis)ability and on all devices.</example>
            <example>The dis track was part released on his recent studio album.</example>
            <example>The rapper WRONG_PRP_AT_SENT_START to dis his opponent.</example>
            <example>Punished within Dis are those whose lives were marked by active (rather than passive) sins.</example>
        </rule>
        <rule id="GIMME" name="gimme (give me)">
            <pattern>
                <marker>
                    <token regexp="yes">gimmi?e</token>
                </marker>
                <token regexp="yes">my|y?our|his|her|its|their|the|an?|this|that|th[eo]se|many|much|any|some|more|less|what|back|(any|some)(thing|one)|dat|dis</token>
            </pattern>
            <message>The word "\1" is informal.</message>
            <suggestion>give me</suggestion>
            <example correction="Give me"><marker>Gimme</marker> my money.</example>
            <example>Clearly, both the stock and bond market view Enron as being in dire straits," said independent research firm Gimme Credit analyst Carol Levenson.</example>
        </rule>
        <rule id="GOTCHA" name="gotcha (got you)">
            <pattern>
                <token regexp="yes">I|we|s?he|it|they</token>
                <token postag="RB" min="0" />
                <marker>
                    <token>gotcha</token>
                </marker>
            </pattern>
            <message>The word "\1" is informal.</message>
            <suggestion>got you</suggestion>
            <example correction="got you">Hah, I <marker>gotcha</marker>!</example>
        </rule>
        <rulegroup id="WANNA" name="wanna (want to)">
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">are|r</token>
                        <token>u</token>
                        <token>wanna</token>
                    </marker>
                </pattern>
                <message>The phrase '\1 u wanna' is informal.</message>
                <suggestion>are you want to</suggestion>
                <example correction="Are you want to"><marker>Are u wanna</marker> publish your paper?</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>u</token>
                        <token>wanna</token>
                    </marker>
                </pattern>
                <message>The phrase 'u wanna' is informal.</message>
                <suggestion>you want to</suggestion>
                <example correction="you want to">Do <marker>u wanna</marker> play?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>wanna</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word 'wanna' is informal.</message>
                <suggestion>wants to</suggestion>
                <example correction="wants to">He <marker>wanna</marker> be there.</example>
                <example correction="wants to">He only <marker>wanna</marker> stay if I give him money.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token>wanna</token>
                    </marker>
                    <token postag="VB" />
                </pattern>
                <message>The word 'wanna' is informal.</message>
                <suggestion>want to</suggestion>
                <example correction="Want to"><marker>Wanna</marker> be there.</example>
                <example correction="want to">I'm <marker>wanna</marker> let you finish.</example>
                <example correction="want to">I <marker>wanna</marker> have a big party on my birthday.</example>
                <example>They call me Wanna.</example>
            </rule>
        </rulegroup>
        <rulegroup id="DUNNO" name="dunno (don't know)">
            <rule>
                <pattern>
                    <token>u</token>
                    <token>dunno</token>
                </pattern>
                <message>The phrase 'u dunno' is informal.</message>
                <suggestion>you don't know</suggestion>
                <example correction="you don't know">Really, <marker>u dunno</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">I|you|s?he|it|we|they</token>
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dunno</token>
                    </marker>
                </pattern>
                <message>The word 'dunno' is informal.</message>
                <suggestion>don't know</suggestion>
                <example correction="don't know">I really <marker>dunno</marker> what you're talking about.</example>
                <example>They call me Dunno</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="SENT_START" />
                    <token postag="RB" min="0" />
                    <marker>
                        <token>dunno</token>
                    </marker>
                    <token postag="SENT_END|WP|WRB" postag_regexp="yes" />
                </pattern>
                <message>The word 'dunno' is informal.</message>
                <suggestion>don't know</suggestion>
                <example correction="Don't know"><marker>Dunno</marker> what you mean.</example>
                <example correction="don't know">Really <marker>dunno</marker> what you are talking about.</example>
                <example>Dunno is my name.</example>
            </rule>
        </rulegroup>
        <rulegroup id="EXTREME_ADJECTIVES" name="Extreme adjectives">
            <!--      Created by Tiago F. Santos, 2018-07-20      -->
            <url>https://languagetool.org/insights/post/really-very/</url>
            <short>Use an extreme adjective instead.</short>
            <antipattern><!-- "He is significantly better than Tom" cannot be converted to "He is fantastic than Tom" -->
                <token regexp="yes">&extreme_qualifiers;</token>
                <token postag="JJR" />
            </antipattern>
            <antipattern><!-- Are they really angry? -->
                <token skip="3">be</token>
                <token skip="-1">really</token>
                <token>?</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">angry</token>
                </pattern>
                <message>Consider using an extreme adjective for 'angry'.</message>
                <suggestion><match no="2">furious</match></suggestion>
                <example correction="furious">He is <marker>extremely angry</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">bad</token>
                </pattern>
                <message>Consider using an extreme adjective for 'bad'.</message>
                <suggestion><match no="2">awful</match></suggestion>
                <suggestion><match no="2">terrible</match></suggestion>
                <suggestion><match no="2">evil</match></suggestion>
                <suggestion><match no="2">horrible</match></suggestion>
                <example correction="awful|terrible|evil|horrible">This is <marker>extremely bad</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">big</token>
                </pattern>
                <message>Consider using an extreme adjective for 'big'.</message>
                <suggestion><match no="2">huge</match></suggestion>
                <suggestion><match no="2">massive</match></suggestion>
                <suggestion><match no="2">colossal</match></suggestion>
                <suggestion><match no="2">gigantic</match></suggestion>
                <suggestion><match no="2">giant</match></suggestion>
                <example correction="huge|massive|colossal|gigantic|giant">That diamond is <marker>extremely big</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>clean</token>
                    <token>code</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">clean</token>
                </pattern>
                <message>Consider using an extreme adjective for 'clean'.</message>
                <suggestion><match no="2">spotless</match></suggestion>
                <example correction="spotless">This room is <marker>extremely clean</marker>.</example>
                <example>He has written really clean code.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>cold</token>
                    <token chunk_re="I-NP.*" min="0" />
                    <token regexp="yes" chunk_re="E-NP.*">lady|dead|.*(m[ae]n)|.*(wom[ae]n)|colou?r|person|people|humans?|eyes?|hearts?|manners?|ways?</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">cold</token>
                </pattern>
                <message>Consider using an extreme adjective for 'cold'.</message>
                <suggestion><match no="2">freezing</match></suggestion>
                <suggestion><match no="2">icy</match></suggestion>
                <example correction="freezing|icy">My hotel room is <marker>extremely cold</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">crowded</token>
                </pattern>
                <message>Consider using an extreme adjective for 'crowded'.</message>
                <suggestion><match no="2">packed</match></suggestion>
                <example correction="packed">This place is <marker>extremely crowded</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">dirty</token>
                </pattern>
                <message>Consider using an extreme adjective for 'dirty'.</message>
                <suggestion><match no="2">filthy</match></suggestion>
                <example correction="filthy">My hotel room is <marker>extremely dirty</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">funny</token>
                </pattern>
                <message>Consider using an extreme adjective for 'funny'.</message>
                <suggestion><match no="2">hilarious</match></suggestion>
                <example correction="hilarious">Her jokes are <marker>extremely funny</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">good</token>
                </pattern>
                <message>Consider using an extreme adjective for 'good'.</message>
                <suggestion><match no="2">perfect</match></suggestion>
                <suggestion><match no="2">excellent</match></suggestion>
                <suggestion><match no="2">superb</match></suggestion>
                <suggestion><match no="2">wonderful</match></suggestion>
                <suggestion><match no="2">fantastic</match></suggestion>
                <example correction="perfect|excellent|superb|wonderful|fantastic">Your proposal is <marker>extremely good</marker>.</example>
            </rule>
            <!-- <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">hot</token>
                </pattern>
                <message>The extreme adjective for hot is <suggestion><match no="2">boiling</match></suggestion>.</message>
                <example correction="boiling">This is <marker>extremely hot</marker>.</example>
                <example>Megan Fox is <marker>really hot</marker>.</exampe>
            </rule> -->
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">hungry</token>
                </pattern>
                <message>Consider using an extreme adjective for 'hungry'.</message>
                <suggestion><match no="2">starving</match></suggestion>
                <example correction="starving">He is <marker>extremely hungry</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">interesting</token>
                </pattern>
                <message>Consider using an extreme adjective for 'interesting'.</message>
                <suggestion><match no="2">fascinating</match></suggestion>
                <example correction="fascinating">This is <marker>extremely interesting</marker>.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>old</token>
                    <token chunk_re="I-NP.*" min="0" />
                    <token regexp="yes" chunk_re="E-NP.*">lady|.*(m[ae]n)|.*(wom[ae]n)|guy|fashioned|hippies?|.*kids?|.*sons?|.*fathers?|.*dads?|.*mothers?|.*m[uo]ms?|person|people|humans?|girls?|boys?|cats?|dogs?|clothes?|friends?|shoes?|shirts?|jeans|socks</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">s?he</token>
                    <token regexp="yes">was|is|'s</token>
                    <token regexp="yes">an?|the|my|y?our</token>
                    <token />
                    <token>old</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">I</token>
                    <token regexp="yes">am|was|'m</token>
                    <token regexp="yes">an?|the|my|y?our</token>
                    <token />
                    <token>old</token>
                </antipattern>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">old</token>
                </pattern>
                <message>Consider using an extreme adjective for 'old'.</message>
                <suggestion><match no="2">ancient</match></suggestion>
                <example correction="ancient">This object is <marker>extremely old</marker>.</example>
                <example>She is a really old lady.</example>
            </rule>
            <rule>
                <antipattern><!-- #2278 -->
                    <token regexp='yes'>really|truly</token>
                    <token>pretty</token>
                    <token postag='JJ'/>
                </antipattern>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">pretty</token>
                </pattern>
                <message>Consider using an extreme adjective for 'pretty'.</message>
                <suggestion><match no="2">gorgeous</match></suggestion>
                <example correction="gorgeous">She is looking <marker>extremely pretty</marker>.</example>
                <example>That dress is <marker>gorgeous</marker>.</example>
                <example>It's really pretty ugly.</example><!-- #2278 -->
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">scary</token>
                </pattern>
                <message>Consider using an extreme adjective for 'scary'.</message>
                <suggestion><match no="2">terrifying</match></suggestion>
                <example correction="terrifying">This is <marker>extremely scary</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">small</token>
                </pattern>
                <message>Consider using an extreme adjective for 'small'.</message>
                <suggestion><match no="2">tiny</match></suggestion>
                <suggestion><match no="2">minimal</match></suggestion>
                <suggestion><match no="2">minuscule</match></suggestion>
                <example correction="tiny|minimal|minuscule">The difference between the two is <marker>extremely small</marker>.</example>
                <example>Many cities, especially small ones, will not be able to meet the costs.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">surprising</token>
                </pattern>
                <message>Consider using an extreme adjective for 'surprising'.</message>
                <suggestion><match no="2">astounding</match></suggestion>
                <example correction="astounding">This is <marker>extremely surprising</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">tired</token>
                </pattern>
                <message>Consider using an extreme adjective for 'tired'.</message>
                <suggestion><match no="2">exhausted</match></suggestion>
                <example correction="exhausted">We were all <marker>extremely tired</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp='yes'>&extreme_qualifiers;</token>
                    <token inflected="yes">ugly</token>
                </pattern>
                <message>Consider using an extreme adjective for 'ugly'.</message>
                <suggestion><match no="2">hideous</match></suggestion>
                <example correction="hideous">This hat is <marker>extremely ugly</marker>.</example>
            </rule>
        </rulegroup>
        <rule id="DIFFERENT_THAN" name="different than (from)">
            <pattern>
                <token>different</token>
                <marker>
                    <token regexp="yes">th[ae]n</token>
                </marker>
            </pattern>
            <message>Did you mean 'different from'? 'Different than' is often considered colloquial style.</message>
            <suggestion>from</suggestion>
            <example correction="from">Are human beings any different <marker>than</marker> animals?</example>
            <example correction="from">Are human beings any different <marker>then</marker> animals?</example>
        </rule>
        <rule id="THAN_I" name="be bigger than me (I)">
            <pattern case_sensitive="yes">
                <token inflected="yes">be</token>
                <token postag="JJR"></token>
                <token>than</token>
                <marker>
                    <token regexp="yes">me|him|her|us|them</token>
                </marker>
                <token regexp="yes">by|at|in|[.!?]</token>
            </pattern>
            <message>In formal / written English, it is recommended that you use a subject pronoun.</message>
            <suggestion>I</suggestion>
            <suggestion>he</suggestion>
            <suggestion>she</suggestion>
            <suggestion>we</suggestion>
            <suggestion>they</suggestion>
            <url>http://learnersdictionary.com/qa/better-than-I-or-better-than-me</url>
            <example correction="I|he|she|we|they">She is wiser than <marker>me</marker>!</example>
            <example>She is prettier than her younger sister.</example>
        </rule>
        <rule id="MOST_EVERYONE" name="most (almost) every">
            <pattern>
                <token regexp="yes">most(ly)?</token>
                <token regexp="yes">(any|every)(body|one|where)?</token>
            </pattern>
            <message>Avoid the colloquial phrase '\1 \2' in formal writing. Use <suggestion>almost \2</suggestion> instead.</message>
            <url>http://www.englishessaywritingtips.com/2011/09/common-errors-in-spoken-english-most-everyone/</url>
            <example correction="Almost everyone"><marker>Most everyone</marker> saw him.</example>
            <example correction="almost everywhere">They are <marker>most everywhere</marker>.</example>
        </rule>
        <rulegroup id="WHEN_WHERE" name="where/when">
            <rule>
                <pattern>
                    <token regexp="yes">times?|months?|centur(y|ies)|weeks?|years?|days?|hours?</token>
                    <token>where</token>
                </pattern>
                <message>It might be better to use '\1' with the time-relative pronoun 'when'. (Alternatively, use 'in/on which'.)</message>
                <suggestion>\1 when</suggestion>
                <url>https://www.dictionary.com/browse/where</url>
                <example correction="times when">There are <marker>times where</marker> you need to measure high current devices.</example>
                <example correction="days when">Do you remember the happy <marker>days where</marker> we were together?</example>
            </rule>
            <rule>
                <antipattern>
                    <token chunk_re="E-NP.*" postag="NN.*|UNKNOWN" postag_regexp="yes" skip="-1" />
                    <token>in</token>
                </antipattern>
                <pattern>
                    <token>in</token>
                    <token>the</token>
                    <token min="0">near</token>
                    <token regexp="yes">past|future</token>
                    <marker>
                        <token>where</token>
                    </marker>
                </pattern>
                <message>It might be better to use '\1' with the time-relative pronoun 'when'. (Alternatively, use 'in/on which'.)</message>
                <suggestion>when</suggestion>
                <example correction="when">It happened in the past <marker>where</marker> people weren't using mobile phones.</example>
                <example>The anime Ghost in the Shell is set in the future where cyberization of humanity happens in cyberspace.</example>
            </rule>
        </rulegroup>
      <rulegroup id="PROFANITY" name="Profanity">
         <rule>
            <antipattern>
                <token regexp="yes">spick?</token>
                <token>and</token>
                <token>span</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- https://en.wikipedia.org/wiki/And_Then_There_Were_None -->
                <token>Ten</token>
                <token>Little</token>
                <token>Niggers</token>
            </antipattern>
            <antipattern>
                <token>maine</token>
                <token regexp="yes">coons?</token>
            </antipattern>
            <pattern>
                <token inflected="yes" regexp="yes">cocksucker|coon|cunt|dago|fuck|motherfucker|nigger|piss|shit|spic|spick|spik|tits|turd|twat<exception postag="NNP"></exception></token>
            </pattern>
            <message>This word is considered offensive.</message>
            <url>https://en.wikipedia.org/wiki/Profanity</url>
            <short>Profanity</short>
            <example correction=""><marker>Piss</marker> off!</example>
            <example>Go away!</example>
            <example>Carleton S. <marker>Coon</marker> was an American anthropologist (https://en.wikipedia.org/wiki/Carleton_S._Coon).</example>
            <example>... by American publishers, for example Ten Little Niggers to Ten Little Indians, were kept the same across ...</example>
        </rule>
    <rule>
      <antipattern>
        <token>kaffir</token>
        <token>lime</token>
      </antipattern>
      <pattern>
        <token>kaffir</token>
      </pattern>
      <message>This expression can be considered offensive.</message>
      <url>https://en.wikipedia.org/wiki/Kaffir</url>
      <example correction=""><marker>Kaffir</marker>!</example>
    </rule>
    <rule>
      <regexp>\b(&profanity;)\b</regexp>
      <message>This expression can be considered offensive.</message>
      <url>https://en.wiktionary.org/wiki/Category:English_offensive_terms</url>
      <example correction=""><marker>Fuck off</marker>!</example>
      <example><marker>Get out of here</marker>.</example>
      <example>...ominant, chiefly Anatolian black pine (Pinus <marker>nigra</marker>), ...</example>
      <example type='triggers_error'>-1993 - "Welcher Pfad führt zur Geschichte" (12"/MCD, MZEE</example>
      <example correction="">You son of a <marker>bitch</marker>!</example>
      <!-- https://www.thefreedictionary.com/crip -->
    </rule>
    <rule tags="picky" default="off">
        <pattern>
            <token>illegal</token>
            <token regexp="yes">aliens?</token>
        </pattern>
        <message>This phrase is considered offensive.</message>
        <suggestion>undocumented <match no="2" regexp_match="(?i)alien" regexp_replace="immigrant" /></suggestion>
        <suggestion>unlawful <match no="2" regexp_match="(?i)alien" regexp_replace="non-citizen" /></suggestion>
        <suggestion>undocumented foreign <match no="2" regexp_match="(?i)alien" regexp_replace="national" /></suggestion>
        <suggestion>foreign <match no="2" regexp_match="(?i)alien" regexp_replace="national" /></suggestion>
        <url>https://edition.cnn.com/2019/10/01/us/nyc-illegal-alien-discrimination-guidance/index.html</url>
        <example correction="undocumented immigrants|unlawful non-citizens|undocumented foreign nationals|foreign nationals">A business owner was sentenced to prison for harboring <marker>illegal aliens</marker>.</example>
    </rule>
    <rule>
        <pattern>
            <token>illegal</token>
            <token regexp="yes">immigrants?</token>
        </pattern>
        <message>The use of "illegal" to describe a person, rather than a person's action, can be regarded as offensive.</message>
        <suggestion>undocumented <match no="2" regexp_match="(?i)immigrant" regexp_replace="migrant" /></suggestion>
        <suggestion>irregular <match no="2" regexp_match="(?i)immigrant" regexp_replace="migrant" /></suggestion>
        <url>https://picum.org/words-matter/</url>
        <example correction="undocumented migrants|irregular migrants">People required to use irregular ways to enter the country are <marker>illegal immigrants</marker>.</example>
    </rule>
    <rule>
      <pattern>
        <token regexp="yes">fags?</token>
      </pattern>
      <message>"Fag" is colloquial British English for "cigarette", but in American English, it's a slur for a homosexual man.</message>
      <url>https://en.wikipedia.org/wiki/Fag</url>
      <example correction="">Smoke some <marker>fags</marker> and play some pool, pretend you never went to school.</example>
    </rule>
    <rule>
      <regexp>^(?:bite me)[\.!]</regexp>
      <message>This expression can be considered offensive.</message>
      <example correction=""><marker>Bite me!</marker></example>
      <example><marker>Get out of here</marker>.</example>
      <example>When the dog tried to bite me, I held him down by the neck...</example>
    </rule>
        <rule>
            <antipattern>
                <token>cum</token>
                <token>laude</token>
            </antipattern>
            <antipattern>
                <token>cum</token>
                <token min="0">/</token>
                <token>ex</token>
            </antipattern>
            <antipattern>
                <token>cum</token>
                <token postag="UNKNOWN" /><!-- some unknown Latin word -->
            </antipattern>
            <pattern>
                <token regexp='yes'>cums?</token>
            </pattern>
          <message>This expression is informal. Consider a replacement.</message>
          <suggestion><match no="1" regexp_match="(?i)cum" regexp_replace="come" /></suggestion>
          <suggestion><match no="1" regexp_match="(?i)cum" regexp_replace="ejaculate" /></suggestion>
          <example correction="comes|ejaculates">He <marker>cums</marker>.</example>
          <example>Summa <marker>Cum</marker> Laude</example>
        </rule>
        <rule>
          <antipattern>
            <token>Yankee</token>
            <token regexp="yes">Stadium|Doodle|Candle|conference</token>
          </antipattern>
          <pattern>
              <token case_sensitive='yes' regexp='yes'>yankees?</token>
          </pattern>
          <message>This expression can be considered offensive or cause unclarity.</message>
          <suggestion><match no="1" regexp_match="(?i)yankee" regexp_replace="American" case_conversion="startupper" /></suggestion>
          <suggestion><match no="1" regexp_match="(?i)yankee" regexp_replace="tourist" /></suggestion>
          <url>https://en.wikipedia.org/wiki/Yankee</url>
          <example correction="Americans|tourists">So you are <marker>yankees</marker>, right?</example>
          <example>Are you <marker>Americans</marker>?</example>
          <example>He played for the Yankees last season.</example>
        </rule>
        <rule>
            <antipattern><!-- https://en.wikipedia.org/wiki/Negro_Act_of_1740 -->
                <token>Negro</token>
                <token regexp="yes">Act|Movements?</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Twenty_Negro_Law -->
                <token>Twenty</token>
                <token>Negro</token>
                <token>Law</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/National_Negro_Committee -->
                <token>National</token>
                <token>Negro</token>
                <token regexp="yes">Committee|Convention</token>
            </antipattern>
            <antipattern><!-- https://en.wikipedia.org/wiki/Negro_National_League_(1920%E2%80%931931) -->
                <token>Negro</token>
                <token min="0">National</token>
                <token regexp="yes">Leagues?</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">r[íìi]o</token>
                <token>negro</token>
            </antipattern>
          <pattern>
            <token regexp='yes'>
                negro(es)?
                <exception scope="previous">monte</exception>
            </token>
          </pattern>
          <message>This expression can be considered offensive.</message>
          <suggestion><match no="1" regexp_match="(?i)negroe?" regexp_replace="Afro-American" /></suggestion>
          <url>https://en.wikipedia.org/wiki/Negro</url>
          <example correction="Afro-American">He is a <marker>negro</marker>.</example>
          <example correction="Afro-Americans">There were many <marker>negroes</marker>.</example>
          <example>Monte Negro</example><!-- caught by EN_COMPOUNDS -->
          <example>Negro Act of 1740</example>
        </rule>
        <rule>
          <pattern>
              <token case_sensitive='yes' regexp='yes'>squaws?</token>
          </pattern>
          <message>This expression can be considered offensive.</message>
          <url>https://en.wikipedia.org/wiki/Squaw</url>
          <example correction="">Besides, Winslow and his men had to sleep side by side with the dirty chief and his <marker>squaw</marker>.</example>
          <example>Squaw Valley, California</example>
        </rule>
        <rule>
          <pattern>
              <token regexp='yes'>deaf-mutes?</token>
          </pattern>
          <message>This expression can be considered offensive.</message>
          <suggestion><match no="1" regexp_match=".*mute" regexp_replace="deaf"/></suggestion>
          <url>https://en.wikipedia.org/wiki/Deaf-mute</url>
          <example correction="Deaf"><marker>Deaf-mute</marker> means a person is deaf and can't speak at all.</example>
          <example correction="Deafs"><marker>Deaf-mutes</marker> are deaf and can't speak at all.</example>
        </rule>
        <rule>
          <pattern>
              <token>deaf</token>
              <token regexp='yes'>mutes?</token>
          </pattern>
          <message>This expression can be considered offensive.</message>
          <suggestion><match no="2" regexp_match="mute" regexp_replace="deaf"/></suggestion>
          <url>https://en.wikipedia.org/wiki/Deaf-mute</url>
          <example correction="Deaf"><marker>Deaf mute</marker> means a person is deaf and can't speak at all.</example>
        </rule>
        <rule>
          <pattern>
              <token regexp="yes">Mohammedans?</token>
          </pattern>
          <message>This expression can be considered offensive.</message>
          <suggestion><match no="1" regexp_match="Mohammedan" regexp_replace="Muslim"/></suggestion>
          <url>https://en.wiktionary.org/wiki/Mohammedan#English</url>
          <example correction="Muslim">"<marker>Mohammedan</marker>" was formerly common in usage, but the term Muslim is more common today.</example>
          <example correction="Muslims">"<marker>Mohammedans</marker>" was formerly common in usage, but the term Muslims is more common today.</example>
        </rule>
        <rule>
          <pattern>
             <token regexp='yes'>somalians?</token>
          </pattern>
          <message>This expression can be considered offensive.</message>
        <suggestion>Somali</suggestion>
          <url>https://en.wiktionary.org/wiki/Somalian#English</url>
          <example correction="Somali"><marker>Somalian</marker></example>
        </rule>
        <rule>
          <pattern>
              <token>jim</token>
              <token regexp='yes'>crows?
                <exception scope='next' regexp='yes'>laws?</exception></token>
          </pattern>
          <message>This expression can be considered offensive.</message>
          <url>https://en.wiktionary.org/wiki/Jim_Crow#English</url>
          <example correction=""><marker>Jim Crow</marker>.</example>
          <example><marker>Jim Crow</marker> laws.</example>
        </rule>
  </rulegroup>

  <rulegroup id='CHILDISH_LANGUAGE' name="Childish language" default="off">
    <!-- Created by Tiago F. Santos, Portuguese rule, 2019-09-09 -->
      <url>https://en.wiktionary.org/wiki/Category:English_childish_terms</url>
      <short>Childish language</short>
    <rule>
        <pattern>
            <token>tummy</token>
            <token regexp="yes">aches?</token>
        </pattern>
        <message>In some contexts, '\1' may be informal or childish.</message>
        <suggestion>stomach \2</suggestion>
        <example correction="stomach ache">I have <marker>tummy ache</marker> because I ate too much candy.</example>
    </rule>
    <rule>
        <pattern>
            <token regexp="yes">tummyaches?</token>
        </pattern>
        <message>In some contexts, '\1' is informal.</message>
        <suggestion><match no="1" regexp_match="(?i)tummy" regexp_replace="stomach " /></suggestion>
        <example correction="stomach ache">I have <marker>tummyache</marker> because I ate too much candy.</example>
    </rule>
    <rule>
      <regexp>\b(?!(?-i)Dolly|Pooh|Tuppence|Willy|Injun Joe|Tootsie Rolls?)(&childish_terms;)\b</regexp>
      <message>In some contexts, '\1' may be informal or childish.</message>
      <example correction="">The <marker>kitty-cat</marker> is pretty.</example>
      <!-- XXX usage of kitty as shared savings fund or as telnet/ssh client is very stretched, but for expedience purposes let's consider it ok -->
      <example>The <marker>cat</marker> is elegant.</example>
      <!--example correction="">The <marker>number one</marker> reason for this is...</example-->
      <example>t has become known by many nicknames, including Dolly zoom, "Zolly," "Hitchcock Zoom," and "</example>
      <example>..own for his books about the teddy bear Winnie-the-Pooh and for various children's poems.</example>
      <example correction="">The dog wants to <marker>pooh</marker>.</example>
      <example>She threw her clothes willy-nilly into a drawer.</example>
      <example>Injun Joe</example><!-- https://en.wikipedia.org/wiki/List_of_Tom_Sawyer_characters -->
      <example>Tootsie Roll</example>
    </rule>
    <rule tags="picky">
      <regexp>^(&childish_terms_2;)[\.,;!?]|[\.,;](&childish_terms_2;)[\.,;!?]</regexp>
      <message>In some contexts, '\1' may be informal or childish.</message>
      <example correction=""><marker>It's no fair!</marker></example>
      <example><marker>This is unfair.</marker></example>
      <example>There was no fair chance for him to win this game.</example>
      <example>... the back of the Miners Exchange complex, so there is pretty good...</example>
      <example>... eliminated from my country, so there is no need...</example>
      <example correction=""><marker>Number one,</marker> the reason for this is...</example>
    </rule>
    <rule>
        <pattern>
            <token regexp='yes'>&childish_terms_3;
                <exception postag_regexp='yes' postag='[^N].+'/>
            </token>
        </pattern>
        <message>In some contexts, '\1' may be informal or childish.</message>
        <example correction="">Put a <marker>ticky</marker> on it.</example>
    </rule>
    <rule>
        <antipattern>
            <token>Bubba</token>
            <token regexp="yes">Gump|Wallace|Watson|Smith|Jenkins|Sparx.*|Harris|Ray|Ho-Tep|Brooks|Wells|Paris|Phillips|Green|Dickerson|Franks|Crosby</token>
        </antipattern>
        <antipattern>
            <token>Hubba</token>
            <token>Bubba</token>
        </antipattern>
        <pattern>
            <token regexp="yes">bubbas?</token>
        </pattern>
        <message>In some contexts, `\1` is childish or slang language.</message>
        <suggestion><match no="1" regexp_match="(?i)ubba" regexp_replace="rother" /></suggestion>
        <url>https://en.wikipedia.org/wiki/Bubba</url>
        <example correction="Brother">He's my <marker>Bubba</marker>.</example>
        <example>Darrell Bubba Wallace Jr. is an American professional stock car racing driver.</example>
    </rule>
    <rule>
        <antipattern><!-- Popular name for a song, café, book, kindergarten -->
            <token regexp="yes">Mamas?</token>
            <token min="0" regexp="yes">'s|&apostrophe;</token>
            <token>lap</token>
        </antipattern>
        <pattern>
            <token regexp="yes">
                mama|momsy|mommy|momma
                <exception scope="next" regexp="yes">June|Dee|Cass|Africa</exception>
            </token>
        </pattern>
        <message>In some contexts, `\1` may be informal or familiar language.</message>
        <suggestion>mother</suggestion>
        <suggestion>mom</suggestion>
        <example correction="mother|mom">My <marker>mama</marker> is the best.</example>
        <example>At Mama's Lap with the best care, we offer a warm nurturing environment.</example>
    </rule>
    <rule>
        <antipattern><!-- Popular Pizza Franchise, Musician -->
            <token>papa</token>
            <token regexp="yes">johns?|roach|murphy|smurf|elf</token>
        </antipattern>
        <antipattern><!-- caught by PAPUA_NEW_GUINEA -->
            <token>papa</token>
            <token>new</token>
            <token regexp="yes">gu.+</token>
        </antipattern>
        <antipattern><!-- Popular Musician, spider, movie -->
            <token>daddy</token>
            <token regexp="yes">yankee|fox|long(legs)?|day.*</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">puff|fox|sugar|go|big|baby</token>
            <token>daddy</token>
        </antipattern>
        <antipattern><!-- https://en.wikipedia.org/wiki/My_Papa's_Waltz -->
            <token>papa</token>
            <token>'s</token>
            <token>waltz</token>
        </antipattern>
        <pattern>
            <token regexp="yes">papa|daddy</token>
        </pattern>
        <message>In some contexts, `\1` may be informal or familiar language.</message>
        <suggestion>father</suggestion>
        <suggestion>dad</suggestion>
        <example><marker>Daddy</marker> Yankee is a great Reggaeton singer.</example>
        <example>The rapper Puff <marker>Daddy</marker> recently changed his name to 'P Diddy'.</example>
        <example correction="father|dad">My <marker>papa</marker> is the best.</example>
    </rule>
    <rule>
        <antipattern><!-- sex position, food container -->
            <token regexp="yes">doggy|doggie</token>
            <token regexp="yes">style|bag|positions?</token>
        </antipattern>
        <antipattern><!-- "to lie doggo" https://www.merriam-webster.com/dictionary/doggo -->
            <token inflected="yes">lie</token>
            <token>doggo</token>
        </antipattern>
        <pattern>
            <token regexp="yes">doggie|doggy|doggo</token>
        </pattern>
        <message>In some contexts, '\1' may be informal.</message>
        <suggestion>dog</suggestion>
        <suggestion>puppy</suggestion>
        <suggestion>pup</suggestion>
        <example correction="dog|puppy|pup">My <marker>doggy</marker> is barking.</example>
    </rule>
  </rulegroup>

  <rulegroup id='RUDE_SARCASTIC' name="Sarcasm" tags="picky">
    <!-- Created by Tiago F. Santos, Portuguese rule, 2019-09-09 -->
      <url>https://en.wiktionary.org/wiki/Category:English_sarcastic_terms</url>
        <rule>
          <regexp>\b(&rude_sarcastic;)\b|^(&rude_sarcastic_2;)</regexp>
          <message>Sarcasm can be rude. Consider alternatives.</message>
          <example correction=""><marker>Are you deaf?</marker></example>
          <example><marker>Please, indulge me.</marker></example>
          <example correction=""><marker>You think?</marker></example>
          <example>It is good to have ideals... <marker>don't you think?</marker></example>
          <example type='triggers_error'>In the first sentence "a heap" means "a lot." It is colloquial and extremely informal, so be careful how you use it. You would not say "Thanks a heap" to your boss, for example. In the second sentence it also means "a lot"—even though it is used in the plural.11 de jul de 2015</example>
        </rule>
        <rule>
            <pattern>
                <token postag='SENT_START'/>
              <marker>
                <token>Sue</token>
                <token>me</token>
                <token regexp='yes'>\.|!</token>
              </marker>
            </pattern>
            <message>This expression can be rude. Consider alternatives.</message>
            <example correction=""><marker>Sue me.</marker></example>
        </rule>
  </rulegroup>

        <rule id="NEEDS_FIXED" name="'Needs fixed' type construction">
            <antipattern>
                <token>of</token>
                <token>needs</token>
                <token postag='VBN'/>
            </antipattern>
            <antipattern><!-- We wanted pixelated glory. -->
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token postag='VBN'/>
                <token chunk_re="[IB]-NP-.*" postag="JJ.*|NN.*" postag_regexp="yes" min="0" />
                <token chunk_re="E-NP.*" postag="NNP?S|NN:UN?" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- It requires experienced and professional workers. -->
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token postag='JJ'/>
                <token regexp="yes">,|and|or|&amp;</token>
                <token postag='JJ'/>
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token postag='JJ'/>
                <token>,</token>
                <token postag='JJ'/>
                <token min="0">,</token>
                <token regexp="yes">and|or|&amp;</token>
                <token postag='JJ'/>
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern><!-- The required output. -->
                <token postag="DT|PRP\$" postag_regexp="yes" />
                <token postag='VBN'/>
                <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" />
            </antipattern>
            <antipattern>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token postag='JJ'/>
                <token postag_regexp="yes" postag='NN:.+|NNP?S'/>
            </antipattern>
            <antipattern>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token postag='JJ'/>
                <token postag="NN.*" postag_regexp="yes" chunk="B-NP-singular" />
                <token postag_regexp="yes" postag='NN:.+'  chunk="E-NP-singular" />
            </antipattern>
            <antipattern>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token postag='JJ'/>
                <token postag="NN.*" postag_regexp="yes" chunk="B-NP-plural" />
                <token postag_regexp="yes" postag='NNP?S'  chunk="E-NP-plural" />
            </antipattern>
            <antipattern>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token>weed</token><!-- tagged as VBD -->
            </antipattern>
            <antipattern>
                <token chunk="E-NP-plural" postag="NNS"/>
                <token postag="VBN"/>
            </antipattern>
            <antipattern>
                <token>based</token>
                <token>on</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">when|if</token>
                <token regexp="yes">needed|required</token>
                <token postag="VBN" />
                <token postag="PRP_O.*|NNP" postag_regexp="yes" />
                <token>to</token>
            </antipattern>
            <antipattern><!-- It requires thought. -->
                <token inflected="yes" regexp="yes">require|need</token>
                <token>thought</token>
            </antipattern>
            <antipattern><!-- The car that Mason needs given his inability to ... -->
                <token regexp="yes" skip="-1">that|which|whether|if|when</token>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <token>given</token>
                <token postag="DT|PRP\$" postag_regexp="yes" />
            </antipattern>
            <pattern>
                <token regexp='yes'>(needs|wants|requires|needed|wanted|required)</token>
                <marker>
                    <token postag='VBN'/>
                </marker>
            </pattern>
            <message>The double modal "\1 \2" is nonstandard (only accepted in certain dialects). Consider <suggestion>to be \2</suggestion>.</message>
            <url>http://english.stackexchange.com/questions/5407/central-pennsylvanian-english-speakers-what-are-the-limitations-on-the-needs-w</url>
            <example correction='to be fixed'>My car needs <marker>fixed</marker>.</example>
            <example correction="to be painted">Tom says that his house needs <marker>painted</marker>.</example>
            <example correction="to be updated">If it needs <marker>updated</marker>, please let Kelly know.</example>
            <example>A set of needs described as essential.</example>
            <example>I want boiled eggs.</example>
            <example>Additionally, due to the high average takeoff speed of, Concorde needed upgraded brakes.</example>
            <example>It appears that the RBI requires authorized dealers in India.</example>
            <example>This requires sophisticated transaction screening.</example>
            <example>This law overrides state regulatory rulings and laws that have required wet signatures.</example>
            <example>Wildlife needs connected corridors to get around, especially as climate change pushes them out of their old habitats.</example>
            <example>Disposal in place of PCBs at concentrations higher than 100 ppm requires written EPA approval.</example>
            <example>...ensuring that even when needs changed, the construction of...</example>
            <example>A simple spread sheet to get to the power price needed based on the value of the gas stream.</example>
            <example>Testing requires trained staff, the right equipment, and the right materials...</example><!-- #2618 -->
            <example>It needs synchronized stereo pairs.</example>
            <example>The required output.</example>
            <example>It requires experienced and professional workers.</example>
            <example>We wanted pixelated glory.</example>
            <example>It requires thought.</example>
            <example>Man-made tin bronze technology requires set production techniques.</example>
        </rule>

        <rule id="AN_INVITE" name="an invite (invitation)">
            <pattern>
                <token>an</token>
                <marker>
                    <token>invite</token>
                </marker>
            </pattern>
            <message>The noun <suggestion>invitation</suggestion> is usually used instead of 'invite' in formal writing.</message>
            <short>Slang</short>
            <example correction="invitation">Is that an <marker>invite</marker>...?</example>
        </rule>
        <rule id="IRREGARDLESS" name="irregardless (regardless)">
            <pattern>
                <token>irregardless</token>
            </pattern>
            <message>'Irregardless' is nonstandard. In formal style you should use <suggestion>regardless</suggestion>.</message>
            <example correction="Regardless"><marker>Irregardless</marker> of what he says, do it!</example>
        </rule>
        <rule default="off" id="And" name="Sentence starting with 'And' or 'But'">
            <pattern>
                <token postag='SENT_START'/>
                <marker>
                    <token regexp="yes">And|But</token>
                </marker>
            </pattern>
            <message>Starting a sentence with the conjunction '\2' may be considered poor style (unless for dramatic effect).</message>
            <url>http://www.thewriter.com/what-we-think/style-guide/and-and-but-why-its-okay-to-start-a-sentence-with-a-conjunction/</url>
            <short>Bad style</short>
            <example correction=""><marker>And</marker> yes, it shows a lack of style to start a sentence with 'and'.</example>
            <example>Yes, it shows a lack of style to start a sentence with 'and'.</example>
            <example correction=""><marker>But</marker> it is not a great writing style to start a sentence with 'but'.</example>
            <example>It is not a great writing style to start a sentence with 'but'.</example>
        </rule>
        <rule id="SENT_START_NUM" name="Number starting a sentence" tags="picky">
        <!-- XXX test and disable if false positives still remain -->
      <antipattern>
          <token postag="SENT_START"/>
          <token regexp="yes">[\d,.]+</token>
          <token postag='SENT_END'/>
      </antipattern>
      <antipattern>
          <token postag="SENT_START"/>
          <token regexp="yes">\d+</token>
          <token regexp='yes'>[/\.]</token>
          <token regexp="yes">\d+</token>
      </antipattern>
      <antipattern>
          <token postag="SENT_START"/>
          <token regexp="yes">\d+</token>
          <token min='0'>.</token>
          <token regexp='yes'>&hyphen;|–|\)</token>
      </antipattern>
      <antipattern>
          <token postag="SENT_START"/>
          <token regexp="yes">\d+</token>
          <token regexp="yes" spacebefore='yes'>,</token>
          <token regexp="yes" spacebefore='yes'>\d+</token>
      </antipattern>
      <pattern>
          <phraseref idref="ALL_SENT_START"/>
        <marker>
          <token regexp="yes">\d+
            <exception regexp='yes'>\d{4}</exception>
        </token>
        </marker>
          <token skip='-1'>
            <exception postag_regexp='yes' postag='PCT|CD'/></token>
        <and><!-- Don't trigger on titles nor lists -->
          <token regexp='yes'>[\.\!\?]</token>
          <token postag='SENT_END'/>
        </and>
      </pattern>
            <message>Avoid numbers at the start of the sentence. Consider spelling out numbers using words or rephrasing the sentence.</message>
            <suggestion><match no="2" postag="_spell_number_" case_conversion="startupper"/></suggestion>
            <!-- TODO: 'Some round($number)' could be a useful rephrasing suggestion -->
            <url>https://www.grammar-monster.com/lessons/numbers_starting_sentences.htm</url>
            <short>Number starting a sentence</short>
            <example correction="Twelve"><marker>12</marker> soldiers were killed!</example>
            <!--<example correction="One thousand two hundred forty-three"><marker>1243</marker> soldiers were killed!</example>-->
            <example correction="Ten thousand two hundred forty-three"><marker>10243</marker> soldiers were killed!</example>
            <example><marker>12</marker> soldiers were killed</example>
            <example>Twelve soldiers were killed!</example>
            <example>Thousand times? I have said it more than 1000 times!</example>
            <example><marker>1.</marker> Introduction</example>
            <example><marker>1.-</marker> Introduction</example>
            <example><marker>1.--</marker> Introduction</example>
            <example><marker>1.2.</marker> Introduction</example>
            <example><marker>1.3.—</marker> Introduction</example>
            <example>50-30</example>
            <example>25/12/2017</example>
            <example>25.12.2017. At 12h00</example>
            <example>1994 was the year</example>
            <!--example correction=""><marker>1994</marker> was the year.</example-->
            <example>2,000 new animals</example>
            <example>2,000 animals were discovered last year.</example>
            <example>1.) First item</example>
            <example><marker>12</marker> soldiers were killed</example><!-- Title -->
            <example>286 – Emperor Diocletian elevates his general Maximia...</example>
            <example>1 First item:</example>
        </rule>
        <rule default="off" id="HOPEFULLY" name="Word order: 'Hopefully' starting a sentence">
            <pattern>
                <token postag="SENT_START"/>
                <marker>
                    <token>hopefully</token>
                </marker>
            </pattern>
            <message>Starting a sentence with 'hopefully' may be considered bad style.</message>
            <short>Bad style</short>
            <example correction=""><marker>Hopefully</marker>, this will be a great grammar checker.</example>
            <example>The prisoner thought hopefully about the prospect for escape.</example>
        </rule>
        <rule tags="picky" id="THREE_NN" name="Readability: Three nouns in a row">
            <antipattern case_sensitive="yes"><!-- ignore if all three are capitalized nouns, probably proper noun -->
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-- ignore if first two are capitalized, probably proper noun -->
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">[A-Z].*</token>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">[A-Z].*</token>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">[a-z].*</token>
            </antipattern>
            <antipattern>
                <token>attention</token>
                <token>deficit</token>
                <token>hyperactivity</token>
            </antipattern>
            <antipattern>
                <token>crime</token>
                <token>scene</token>
                <token>investigation</token>
            </antipattern>
            <antipattern>
                <token>customer</token>
                <token>lifetime</token>
                <token regexp="yes">values?</token>
            </antipattern>
            <antipattern><!-- Archaic: art thou -->
                <token>art</token>
                <token>thou</token>
            </antipattern>
            <pattern>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">.{4,30}<exception regexp="yes">today|yesterday|tomorrow</exception><exception postag="VB.*|RB.*|MD|IN|JJ.*|CC|RP|DT" postag_regexp="yes"/></token>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">.{4,30}<exception regexp="yes">today|yesterday|tomorrow</exception><exception postag="VB.*|RB.*|MD|IN|JJ.*|CC|RP|DT" postag_regexp="yes"/></token>
                <token postag="NN(:.+)?" postag_regexp="yes" regexp="yes">.{4,30}<exception regexp="yes">today|yesterday|tomorrow</exception><exception postag="VB.*|RB.*|MD|IN|JJ.*|CC|RP|DT" postag_regexp="yes"/></token>
            </pattern>
            <message>Using three (or more) nouns in a row may decrease readability.</message>
            <short>Possibly bad style</short>
            <example correction="">The <marker>security protection software</marker> we offer is the state-of-the-art achievement.</example>
            <example>The security software we offer is the state-of-the-art achievement.</example>
            <example>Wherefore art thou Romeo?</example>
            <example>Chipmaker Micron Technology (MU,31,f2) is higher in premarket activity following news that a potential partner raised DRAM prices by 30%.</example>
            <example>Attention deficit hyperactivity disorder is a huge problem among young adults.</example>
            <example>Harry Nyquist (1889–1976), developed the Nyquist stability criterion for feedback systems in the 1930s.</example>
            <example>Gráinne O'Malley - 16th-century pirate queen and chieftain of the clan O'Malley, also known as Granuaile.</example>
            <example>Mrs. Steinmetz Fax 33 1 42 91 68 62 and confirm in writing.</example>
            <example>Sells 100000 ENRON CORP OR shares.</example>
            <example>2.7 mm to 13.5 mm varifocal lens</example>
            <example>The van Abbé family</example>
            <example>HR industry news</example>
        </rule>
        <!--<rule id="THREE_NN" name="Readability: Three nouns in a row">
            <antipattern case_sensitive="yes"><!-\- ignore if all three are capitalized nouns, probably proper noun -\->
                <token postag="NN[^S]*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token postag="NN[^S]*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token postag="NN[^S]*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
            </antipattern>
            <antipattern case_sensitive="yes"><!-\- ignore even if two are capitalized -\->
                <token postag="NN[^S]*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token postag="NN[^S]*" postag_regexp="yes" regexp="yes">[A-Z].+</token>
                <token postag="NN[^S]*" postag_regexp="yes" />
            </antipattern>
            <antipattern>
                <token postag="NN[^S]*" postag_regexp="yes" />
                <token>.</token>
                <token regexp="yes">com|org|edu</token>
            </antipattern>
            <antipattern>
                <token>attention</token>
                <token>deficit</token>
                <token>hyperactivity</token>
            </antipattern>
            <antipattern><!-\- Archaic: art thou -\->
                <token>art</token>
                <token>thou</token>
            </antipattern>
            <pattern>
                <token postag="NN[^S]*" postag_regexp="yes"><exception postag="VB.*|RB.*|MD|IN|JJ.*|CC|RP|DT" postag_regexp="yes"/></token>
                <token postag="NN[^S]*" postag_regexp="yes"><exception postag="VB.*|RB.*|MD|IN|JJ.*|CC|RP|DT" postag_regexp="yes"/></token>
                <token postag="NN[^S]*" postag_regexp="yes"><exception postag="VB.*|RB.*|MD|IN|JJ.*|CC|RP|DT" postag_regexp="yes"/></token>
            </pattern>
            <message>Using three nouns in a row may decrease readability.</message>
            <example correction="">The <marker>security protection software</marker> we offer is the state-of-the-art achievement.</example>
            <example>The security software we offer is the state-of-the-art achievement.</example>
            <example>Wherefore art thou Romeo?</example>
            <example>Chipmaker Micron Technology (MU,31,f2) is higher in premarket activity following news that a potential partner raised DRAM prices by 30.</example>
            <example>Attention deficit hyperactivity disorder is a huge problem among young adults.</example>
            <example>Bessel functions of the first kind : Jα In 1957, Ayckbourn married Christine Roland, another member of the Library Theatre company, and indeed Ayckbourn's first two plays were written jointly with her under the pseudonym of "Roland Allen".</example>
            <example>MotherNature.com is the second venture backed by CMGI furniture retailer Furniture.com, announced that it's closing on Monday.</example>
            <example>New York jurors who ordered online music provider MP3.com to pay nearly $300,000 to a record label for copyright infringement have told the trial they really meant was $3 million.</example>
            <example>Languagetool.org is a website.</example>
        </rule>-->
        <rule id="POSSIBILTY_POSSIBLE" name="Style: 'possible' after 'possibility'"><!-- https://github.com/languagetool-org/languagetool/issues/540 -->
            <pattern>
                <marker>
                    <token skip="-1" inflected="yes">possibility<exception scope="next">,</exception></token>
                </marker>
                <token>possible</token>
            </pattern>
            <message>Before '\2', use a word such as <suggestion><match no="1" postag="NN.*">chance</match></suggestion> or <suggestion><match no="1" postag="NN.*">opportunity</match></suggestion>. Alternatively, keep '\1' and replace '\2'.</message>
            <short>Possibly bad style</short>
            <example correction="chance|opportunity">I did not have a <marker>possibility</marker> to check for possible errors.</example>
            <example correction="chance|opportunity">A <marker>possibility</marker> for possible errors exist.</example>
            <example correction="chances|opportunities">You should remove all <marker>possibilities</marker> for these possible errors.</example>
            <example>I did not have a <marker>chance to check for possible</marker> errors.</example>
            <example>I did not have a <marker>possibility to check for</marker> errors.</example>
            <example>Einstein published an article in 'Physikalische Zeitschrift' that proposed the <marker>possibility</marker> of stimulated emission, the physical process that makes possible the maser and the laser.</example>
            <example>There is a <marker>possible possibility</marker> that errors exist.</example>
        </rule>
        <rule id="ALSO_SENT_END" name="'also' at the end of the sentence" default="off"><!-- https://forum.languagetool.org/t/en-delete-also-sent-end/4918 -->
            <pattern>
                <marker>
                    <token>also</token>
                </marker>
                <token>.</token>
            </pattern>
            <message>'Also' is not used at the end of the sentence. Use <suggestion>as well</suggestion> or <suggestion>too</suggestion> instead.</message>
            <short>'Also' at the end of sentence</short>
            <example>You will also buy some eggs.</example>
            <example correction="as well|too">You will buy some eggs <marker>also</marker>.</example>
        </rule>
        <rule id="ABLE_TO_PASSIVE" name="to be able to + 'passive voice'">
            <pattern>
                <token inflected="yes">be<exception regexp="yes">be(ing)?</exception></token>
                <token>able</token>
                <token>to</token>
                <marker>
                    <token>be</token>
                    <token postag="VBN"></token>
                </marker>
            </pattern>
            <message>Avoid the passive voice after 'to be able to'.</message> <!-- no suggestion? use "can" or "could" or "solvable" -->
            <url>https://brians.wsu.edu/2016/05/16/able-to/</url>
            <short>Passive voice</short>
            <example correction="">The problem was able to <marker>be solved</marker>.</example>
        </rule>
        <rulegroup id="PASSIVE_VOICE" name="Passive voice" tags="picky">
            <url>https://www.ef.co.uk/english-resources/english-grammar/passive-voice/</url>
            <short>Passive voice</short>
            <antipattern>
                <token postag="NN(P?|:UN?)?" postag_regexp="yes"/>
                <token>'s</token>
                <token regexp="yes">past|left</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>it</token>
                    <marker>
                        <token regexp="yes">is|was</token>
                        <token min="0" max="3" postag="RB">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception regexp="yes">here|live</exception>
                        </token>
                        <token postag="VBN" chunk_re=".-VP"> <!--said|thought|believed|known|argued -->
                            <exception>put</exception><!-- As an alternative to an exception, specify the VBN words -->
                        </token>
                    </marker>
                    <token>that</token>
                </pattern>
                <message>The text seems to be in passive voice. To make the text clearer and easier to read, consider active voice.</message>
                <example correction="">It <marker>is also thought</marker> that tests are satisfactory.</example>
                <example correction="">On 31 May 2013, it <marker>was announced</marker> that Andorra intended to legislate for the...</example>
                <example correction="">While it <marker>was previously thought</marker> that the heavier alkali metals also...</example>
                <example correction="">While it <marker>was not always generally thought</marker> that the the tests are...</example>
                <example correction="">It <marker>is long known</marker> that aquifers in areas as diverse as northern...</example>
                <example correction="">...guests made the confusion indescribable when it <marker>was found</marker> that scarcely anything of the costly building...</example>
                <example correction="">It <marker>is disambiguated</marker> that text.</example><!-- Possibly, change the VBN token to permit only words such as thought/said -->
                <example><marker>We think that</marker> tests are satisfactory.</example>
                <example><marker>It is possible that</marker> the sky is blue.</example><!-- Not passive voice. 'Possible' is not a past participle verb. -->
                <example><marker>It are</marker> thought that the sky is blue.</example><!-- Do not give a suggestion for incorrect grammar. -->
                <example>When it was put <marker>that clearly</marker>, I was at a loss for a response.</example>
            </rule>
            <rule><!-- Passive infinitive (1/2): www.ef.co.uk/english-resources/english-grammar/passive-infinitive/ -->
                <pattern>
                    <marker>
                        <token skip="1" inflected="yes">be</token>
                        <token min="0" max="3" postag="RB">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception regexp="yes">here|live</exception>
                        </token>
                        <token postag="VBN"/> <!-- said, known, believed, thought, etc. -->
                    </marker>
                    <token>to</token>
                    <token>have</token>
                    <token min="0" max="2" postag="RB">
                        <exception postag="IN|EX" postag_regexp="yes" />
                        <exception regexp="yes">here|live</exception>
                    </token>
                    <token>been</token>
                </pattern>
                <message>The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice.</message>
                <example correction="">He <marker>is said</marker> to have been happy.</example>
                <example correction="">He <marker>is said</marker> to have not always been happy.</example>
                <example correction="">He <marker>is not thought</marker> to have been happy.</example>
                <example correction="">He <marker>was not generally thought</marker> to have been happy.</example>
                <example correction="">... by a litigation-funded study that has since <marker>been shown</marker> to have been 'an elaborate fraud'.</example>
                <example correction="">Cult films have <marker>been falsely claimed</marker> to have been banned to increase their...</example>
                <example correction="">Such mixtures <marker>are commonly thought</marker> to have first been prepared by Indian merchants for sale to...</example>
                <example><marker>People said</marker> that he was happy.</example>
            </rule>
            <rule> <!-- Passive infinitive (2/2) -->
                <antipattern><!-- https://dictionary.cambridge.org/dictionary/english/rules-are-made-to-be-broken -->
                    <token regexp="yes">rules?|promises?</token>
                    <token inflected="yes">be</token>
                    <token min="0" max="3" postag="RB"/>
                    <token>made</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token inflected="yes">be</token>
                        <token min="0" max="3" postag="RB">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception regexp="yes">here|live</exception>
                        </token>
                        <token postag="VBN"> <!-- said, known, believed, thought, etc. -->
                            <exception regexp="yes">bound|interested|meant|pleased|delighted|supposed</exception>
                            <exception postag="JJ"/><!-- VBN_VBD removes JJ in "She was pleased to be treated. Cannot use raw_pos in the pattern, because the rule then does not find "were not usually considered. -->
                        </token>
                    </marker>
                    <token>to</token>
                    <token>be</token>
                </pattern>
                <message>The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice.</message>
                <example correction="">He <marker>is said</marker> to be happy.</example>
                <example correction="">They <marker>were not usually considered</marker> to be satisfactory.</example>
                <example correction="">... forming the negative hydride ion, and <marker>is very occasionally considered</marker> to be a halogen on that basis.</example>
                <example correction="">Premature births and stillbirths <marker>are generally not considered</marker> to be miscarriages although...</example>
                <example correction="">The complexity of an algorithm <marker>is usually taken</marker> to be its worst-case complexity, unless specified ...</example>
                <example><marker>People say</marker> that he is happy.</example>
                <example>Let's find out what time we're supposed to be there.</example><!-- www.collinsdictionary.com/dictionary/english/be-supposed-to-do-something -->
                <example>Rules are made to be broken.</example>
                <example>There's got to be another way.</example>
                <example>That's got to be a good sign.</example>
                <example>But serious music was never meant to be soporific.</example><!-- www.collinsdictionary.com/dictionary/english/be-meant-to -->
                <example>The aggressors are bound to be defeated.</example><!-- www.ldoceonline.com/dictionary/be-bound-to -->
                <example>She was <marker>pleased</marker> to be treated as a guest.</example><!-- Can parse 'pleased' as an adjective. Compare: She was happy to be treated... VBN_VBD removes JJ-->
                <example>He is <marker>very confused</marker> to be in this situation.</example>
                <example>He also is interested to be a Muslim.</example>
            </rule>
            <rule>
                <pattern>
                    <token skip="-1" regexp="yes" inflected="yes">advise|insist|propose|recommend|suggest</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <token postag="MD"/><!-- Without the modal verb, the sentence is subjunctive: https://www.lexico.com/grammar/when-to-use-the-subjunctive -->
                    <token min="0" max="3" postag="RB">
                        <exception postag="IN|EX" postag_regexp="yes" />
                        <exception>here</exception>
                    </token>
                    <marker>
                        <token>be</token>
                        <token postag="VBN"/>
                    </marker>
                </pattern>
                <message>The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice.</message>
                <example correction="">He insisted that red should <marker>be used</marker> by the designers.</example>
                <example correction="">She suggests the designers might not always <marker>be considered</marker> the experts (by the managers), and that other people have much to offer.</example>
                <example>He insisted that the designers <marker>should use</marker> red.</example>
                <example>If he insists that red <marker>be used</marker>, then use red.</example><!-- Subjunctive -->
            </rule>
            <rule>
                <pattern> <!-- future perfect tense -->
                    <token skip="1" regexp="yes">will|shall</token>
                        <token min="0" max="3" postag="RB">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception regexp="yes">here|live</exception>
                        </token>
                    <token>have</token>
                    <marker>
                        <token>been</token>
                        <token postag="VBN">
                            <exception regexp="yes">bound|married|meant|pleased|supposed</exception>
                            <exception postag="JJ"/>
                        </token>
                    </marker>
                </pattern>
                <message>The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice.</message>
                <example correction="">By now, the work will have <marker>been completed</marker> by the engineers.</example>
                <example correction="">Her work will not have <marker>been finished</marker> by tonight.</example>
                <example correction="">Are you sure the carpets will not already have <marker>been cleaned</marker>?</example>
                <example>By now, the engineers <marker>will have completed</marker> the work.</example>
                <example>I think she will have been pleased by the admiration she received.</example>
                <example>We will have been married for ten years on this day next week.</example><!-- VBN_VBD removes JJ -->
            </rule>
            <rule>
                <pattern>
                    <token postag="NN.*" postag_regexp="yes"/>
                    <marker>
                        <token inflected="yes">be<exception postag="POS"/></token>
                        <token min="0" max="3" postag="RB">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception regexp="yes">here|live</exception>
                        </token>
                        <token min="0" max="1">being</token>
                        <token postag="VBN"><exception regexp="yes">&notpassive;</exception></token>
                    </marker>
                </pattern>
                <message>The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice.</message>
                <example correction="">A cake <marker>is being baked</marker> by him.</example>
                <example correction="">Tests <marker>are also usually being done</marker> during the night.</example>
                <example correction="">Those engineers <marker>were unfortunately not actually being considered</marker> by management for the project.</example>
                <example correction="">Instruments <marker>are played</marker> by her.</example>
                <example correction="">Instruments <marker>were played</marker> in most cultures.</example>
                <example correction="">Instruments <marker>are not always played</marker> well.</example>
                <example correction="">John <marker>was given</marker> a very large book with a green cover by her.</example>
                <example correction="">The mined ore <marker>is washed</marker>, crushed, classified, and separated from quartz.</example>
                <example correction="">... fried meat and fried cheese <marker>are very often eaten</marker> for lunch and served in most typical restaurants.</example>
                <example correction="">Many of Earth's contemporary religions <marker>are shown</marker> to still exist</example>
                <example>He <marker>is baking</marker> a cake.</example>
                <example>Tom and Mary were drunk and they both said some things they shouldn't have.</example>
                <example>One throws a right-handed boomerang with the wind on one's left cheek.</example>
                <example>The "left hand opponent" is the player to one's left who cannot defend on the right.</example>
                <example>It's no use thinking about one's lost youth.</example>
                <example>One who listens to one's recorded voice has the sensation of listening to a stranger.</example>
                <example>Fadil's past quickly caught up.</example>
            </rule>
            <rule>
                <pattern>
                    <token inflected="yes">have</token>
                    <token min="0" postag="RB">
                        <exception postag="IN|EX" postag_regexp="yes" />
                        <exception regexp="yes">here|live</exception>
                    </token>
                    <marker>
                        <token>been</token>
                        <token min="0" max="3" postag="RB">
                            <exception postag="IN|EX" postag_regexp="yes" />
                            <exception regexp="yes">here|live</exception>
                        </token>
                        <token postag="VBN" chunk_re=".-VP"><exception regexp="yes">&notpassive;</exception></token>
                    </marker>
                </pattern>
                <message>The text seems to be passive voice. To make the text clearer and easier to read, you can often use the active voice.</message>
                <example correction="">We have <marker>been warned</marker> about the strong winds on the coast.</example>
                <example correction="">All of these have <marker>been absorbed</marker> into the mestiço population.</example>
                <example>What little money I had was stolen.</example>
            </rule>
        </rulegroup> <!-- end passive voice rule -->
		<rule id="OCCASION_TRANSITIVE_VERB_VERY_FORMAL" name="transitive verb 'occasion' is very formal" tags="picky">
			<antipattern>
				<token postag="N.*" postag_regexp="yes" inflected="yes">occasion</token>
			</antipattern>
			<!-- Avoids false positives caused by the VBZNNS_NNS or VBZNNS_DT_NN disambiguator
			incorrectly returning only VBZ for 'occasions'. See the set of examples marked (*) below. -->
			<antipattern>
				<token>on</token>
				<token postag="JJ|CD|RB" postag_regexp="yes" min="0" max="3" />
				<token inflected="yes">occasion</token>
			</antipattern>
			<antipattern>
				<token>of</token>
				<token>occasions</token>
			</antipattern>
            <!-- Not a false positive, but a somewhat common collocation in legalistic usage -->
            <antipattern>
                <token skip="-1" postag="SENT_START"/>
                <token skip="-1" regexp="yes">assault|bodily|harm</token>
                <token postag="SENT_END"/>
            </antipattern>
			<pattern>
				<marker><token postag="VB.*" postag_regexp="yes" inflected="yes">occasion</token></marker>
			</pattern>
			<message>The transitive verb "<match no="1" />" is a very formal word choice. Consider a more common synonym.</message>
			<suggestion><match no="1" postag="VB.*">cause</match></suggestion>
			<suggestion><match no="1" postag="VB.*">induce</match></suggestion>
			<!-- Informational data showing usage in decline since 1800:
			https://books.google.com/ngrams/graph?content=caused+by%2Coccasioned+by%2Cinduced+by%2Cbrought+about+by%2Cinfluenced+by%2Cprovoked+by&amp;year_start=1800&amp;year_end=2008&amp;corpus=15&amp;smoothing=3&amp;share=&amp;direct_url=t1%3B%2Ccaused%20by%3B%2Cc0%3B.t1%3B%2Coccasioned%20by%3B%2Cc0%3B.t1%3B%2Cinduced%20by%3B%2Cc0%3B.t1%3B%2Cbrought%20about%20by%3B%2Cc0%3B.t1%3B%2Cinfluenced%20by%3B%2Cc0%3B.t1%3B%2Cprovoked%20by%3B%2Cc0#t1%3B%2Ccaused%20by%3B%2Cc0%3B.t1%3B%2Coccasioned%20by%3B%2Cc0%3B.t1%3B%2Cinduced%20by%3B%2Cc0%3B.t1%3B%2Cbrought%20about%20by%3B%2Cc0%3B.t1%3B%2Cinfluenced%20by%3B%2Cc0%3B.t1%3B%2Cprovoked%20by%3B%2Cc0 -->
			<url>https://dictionary.cambridge.org/us/dictionary/english/occasion#cald4-us-2</url>
			<example correction="caused|induced">The concert <marker>occasioned</marker> a riot.</example>
			<example correction="caused|induced">It was <marker>occasioned</marker> by it.</example>
			<example correction="cause|induce">It can be used to <marker>occasion</marker> it.</example>

			<example>I enjoyed the occasion by the way.</example>
			<example>I enjoy it on occasion.</example>
			<example>The people I see on rare occasions are here.</example>

			<!-- no disambiguator. both NNS/VBZ: -->
			<example>On occasions, things happen.</example>
			<example>On occasions some things happen.</example>
			<!-- DT_VB_NN disambiguator returns NNS: -->
			<example>On some occasions things happen.</example>
			<!-- (*) VBZNNS_NNS disambiguator returns VBZ: -->
			<example>On occasions things happen.</example>
			<example>On two occasions things happen.</example>
			<example>On random occasions things happen.</example>
			<example>On very few occasions things happen.</example>
			<!-- (*) VBZNNS_DT_NN disambiguator returns VBZ: -->
			<example>On a number of occasions the thing happens.</example>
        </rule>
        <rulegroup id="ADVERB_WORD_ORDER_10_TEMP" name="Word order: Wrong position of adverb, e.g. 'Always I am happy. (I am always happy.)'" default="off">
            <url>http://faculty.washington.edu/marynell/grammar/AdverbPl.html</url>
            <antipattern><!-- www.merriam-webster.com/dictionary/never%20again and www.macmillandictionary.com/dictionary/british/never-again and http://www.bbc.co.uk/worldservice/learningenglish/grammar/learnit/learnitv34.shtml -->
                <token postag="SENT_START"/>
                <token>Never</token>
                <token regexp="yes">again|before</token>
            </antipattern>
            <antipattern><!-- https://idioms.thefreedictionary.com/never+in+my+life-->
                <token postag="SENT_START"/>
                <token>Never</token>
                <token>in</token>
                <token>my</token>
                <token>life</token>
            </antipattern>
            <antipattern><!-- www.ldoceonline.com/dictionary/hardly -->
                <token>hardly</token>
                <token regexp="yes">any(one|thing)?</token>
            </antipattern>
            <antipattern><!-- www.ldoceonline.com/dictionary/hardly -->
                <token postag="SENT_START"/>
                <token>Hardly</token>
                <token>a</token>
                <token regexp="yes">day|week|month|year</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/now_or_never -->
                <token>now</token>
                <token>or</token>
                <token>never</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/better_late_than_never -->
                <token>better</token>
                <token>late</token>
                <token>than</token>
                <token>never</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/never_say_die / https://www.merriam-webster.com/dictionary/never%20say%20never -->
                <token>never</token>
                <token>say</token>
                <token regexp="yes">never|die</token>
            </antipattern>
            <rule><!--10-->
                <antipattern><!-- #2769 always had water; always had sleep paralysis -->
                    <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    <token inflected="yes">have</token>
                    <token min="0" chunk="B-NP-singular" postag="NN:UN?" postag_regexp="yes"/>
                    <token chunk="E-NP-singular" postag="NN:UN?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- #2769 "always had trouble" -->
                    <token regexp="yes">['‘"“]</token>
                    <token/>
                    <token inflected="yes">have</token>
                    <token>trouble</token>
                    <token spacebefore="no" regexp="yes">['’"”]</token>
                </antipattern>
                <!-- Set phrases -->
                <antipattern>
                    <token>as</token>
                    <token>always</token>
                </antipattern>
                <antipattern>
                    <token>more</token>
                    <token regexp="yes">rarely|often</token>
                </antipattern>
                <antipattern>
                    <token>all</token>
                    <token>too</token>
                    <token>often</token>
                </antipattern>
                <!-- Polyptoton (e.g. You are and always will be) -->
                <antipattern>
                    <token regexp="yes">and|or</token>
                    <token min="0" postag="PRP" />
                    <token regexp="yes">always|never</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    <token postag="MD" />
                    <token postag="VB[DPZ]?" postag_regexp="yes" regexp="yes" inflected="yes">have|be</token>
                    <token postag="VBN?|SENT_END" postag_regexp="yes" />
                </antipattern>
                <!-- never + emphatic modals (mainly should/could/would) is an exception:
                https://ell.stackexchange.com/questions/26307/may-i-say-she-never-would-be-or-it-should-it-be-she-would-never-be -->
                <antipattern>
                    <token>never</token>
                    <token regexp="yes">should|could|would</token>
                    <token postag="VB[DPZ]?" postag_regexp="yes"><exception>be</exception></token>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="MD" />
                        <exception inflected="yes" regexp="yes">have|be</exception>
                        <exception>almost</exception><!-- don't correct e.g. 'almost always will' to 'almost will always'-->
                    </token>
                    <marker>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                        <token inflected="yes" regexp="yes">have|be|can|could|will|would|shall|should|may|might|must
                            <!-- These adverbs usually precede 'cannot' (e.g. 'often cannot'); only 'cannot always' is common -->
                            <exception>cannot</exception>
                        </token>
                        <token postag="VB[DPZ]?" postag_regexp="yes">
                            <exception postag="JJ.*|NNS" postag_regexp="yes"/>
                        </token>
                    </marker>
                </pattern>
                <message>The adverb '\2' is usually put between '\3' and '\4'.</message>
                <suggestion>\3 \2 \4</suggestion>
                <example>They <marker>usually have</marker> long hind limbs.</example>
                <example>... Patricia <marker>always had treats</marker> available at the back door...</example>
                <example>When I was a child, I always had water with my meals.</example><!-- #2769 -->
                <example>Sami always had sleep paralysis as a kid.</example>
                <example>She always had trouble with adverbs.</example><!-- #2769 -->
                <example>The phrase “always had trouble”, is perfect English, and I always have trouble with LT...</example><!-- #2769 -->
                <example correction="will always love">I <marker>always will love</marker> you.</example>
                <example correction="will never trouble">I <marker>never will trouble</marker> you again.</example>
                <example>It has been removed from the server and should never be run there.</example>
                <example>The false positive has been removed from the rule and should never be a problem again.</example>
                <example>The false positive has been removed from the rule and should never have been a problem.</example>
                <example>The false positive has been removed from the rule and should have never been a problem.</example>
                <example>The false positive has been removed from the rule and never should have been a problem.</example>
                <example correction="should never be">You <marker>never should be</marker> feeling sad.</example>
                <example>You should never be feeling sad.</example>
                <example>And you probably never will be.</example>
                <example>I never would have tried that.</example>
                <example>I never could have done it without you.</example>
                <example>I should have never been going 100 mph.</example>
                <example>I should never have been going 100 mph.</example>
                <example>I never should have been going 100 mph.</example>
                <example>I never should've been going 100 mph.</example>
                <example correction="would often have">He <marker>often would have</marker> responsibility.</example>
                <example>He often would've done it.</example><!-- TODO? -->
                <example correction="could sometimes do">He <marker>sometimes could do</marker> it.</example>
                <example correction="would usually do">I do it like he <marker>usually would do</marker> it.</example>
                <example>I do it like he usually would.</example>
                <!-- Exceptions for 'cannot' -->
                <example>You cannot always tell</example>
                <example>You often cannot tell whether it refers to a telephone</example>
                <example>They usually cannot filter out meaningful or appropriate anagrams</example>
                <example>They usually cannot prevent all the subordinates</example>
                <!-- Examples of polyptoton with 'and' -->
                <example>I have been and always shall be your friend.</example>
                <example>We are, and always will be, the United States of America.</example>
                <example>This is and always will be a bad idea.</example>
                <example>The universe was, is and always will be, infinite.</example>
                <example>We are bound, and always will be, to try and get the best price.</example>
                <example>I love you and always will love you.</example>
                <example>You always have been and you always will be</example>
                <example>The human race has not achieved, and never will achieve, its full potential.</example>
                <example>A true democracy has never existed, and never will exist.</example>
                <example>America is not – and never will be – at war with Islam.</example>
                <example>They are not and never will be attracted to them.</example>
                <example>They have and always will be compared to one another.</example>
                <example>Pleasure can and always will be derived from</example>
                <example>I do not and never will feed my dog raw fish.</example>
                <example>I don't and never will feed my dog raw fish.</example>
                <example>she's never known or never will meet</example>
                <!-- Set phrases: as always, almost always, all too often, more rarely -->
                <example>I disagree but as always would appreciate your thoughts</example>
                <example>It almost always can be</example>
                <example>It almost always can be rewritten.</example>
                <example>She is caring, especially for Boxer, who all too often will push himself too hard.</example>
                <example>or more rarely may result from</example><!-- should probably be: or, more rarely, -->
            </rule>
        </rulegroup>
        <rulegroup id="ADVERB_WORD_ORDER" name="Word order: Wrong position of adverb, e.g. 'Always I am happy. (I am always happy.)'">
            <url>https://staff.washington.edu/marynell/grammar/AdverbPl.html</url>
            <short>Order of adverbs</short>
            <antipattern><!-- www.merriam-webster.com/dictionary/never%20again and www.macmillandictionary.com/dictionary/british/never-again and http://www.bbc.co.uk/worldservice/learningenglish/grammar/learnit/learnitv34.shtml -->
                <token postag="SENT_START"/>
                <token>Never</token>
                <token regexp="yes">again|before</token>
            </antipattern>
            <antipattern><!-- https://idioms.thefreedictionary.com/never+in+my+life-->
                <token postag="SENT_START"/>
                <token>Never</token>
                <token>in</token>
                <token>my</token>
                <token>life</token>
            </antipattern>
            <antipattern><!-- www.ldoceonline.com/dictionary/hardly -->
                <token>hardly</token>
                <token regexp="yes">any(one|thing)?</token>
            </antipattern>
            <antipattern><!-- www.ldoceonline.com/dictionary/hardly -->
                <token postag="SENT_START"/>
                <token>Hardly</token>
                <token>a</token>
                <token regexp="yes">day|week|month|year</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/now_or_never -->
                <token>now</token>
                <token>or</token>
                <token>never</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/better_late_than_never -->
                <token>better</token>
                <token>late</token>
                <token>than</token>
                <token>never</token>
            </antipattern>
            <antipattern><!-- https://www.lexico.com/definition/never_say_die / https://www.merriam-webster.com/dictionary/never%20say%20never -->
                <token>never</token>
                <token>say</token>
                <token regexp="yes">never|die</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START"/> <!-- or but -->
                    <marker>
                        <token regexp="yes">Always|Ever|Hardly|Never|Rarely|Seldom</token>
                    </marker>
                    <token min="0" max="1">,</token>
                    <token postag_regexp="yes" postag="PRP_S.*"/><!-- #5389 -->
                </pattern>
                <message>The adverb '\2' is usually not used at the beginning of a sentence if a subject pronoun comes after it.</message>
                <example correction=""><marker>Always</marker> I am happy.</example>
                <example correction=""><marker>Always</marker> I hid who I really was.</example>
                <example correction=""><marker>Always</marker>, he was serious.</example>
                <example correction=""><marker>Ever</marker> it was thus.</example>
                <example>I am <marker>always</marker> happy.</example>
                <example><marker>Always</marker> wear your helmet.</example>
                <example><marker>Always</marker> late, is he?</example>
                <example>Hardly.</example>
                <example><marker>Never again</marker> would she want to live there.</example>
                <example><marker>Never before</marker> have we had such a strong longing for peace.</example>
                <example><marker>Never in my life</marker> have I heard or seen such a thing.</example>
                <example><marker>Hardly a day</marker> passes when I don't think of you.</example>
                <example><marker>Hardly anyone</marker> writes to me these days.</example>
                <example>Never too much of anything.</example>
                <example>Never say never</example>
                <example>Always and forever, I'm yours.</example>
                <example>Always save your best ideas to last.</example>
                <example>Always someone there to remind me.</example>
                <example>Always the centre of attention, she hated to be ignored.</example>
                <example>Always, no problem.</example>
                <example>Always worse, never better.</example>
                <example>Always when I can.</example>
                <example>"Am I avoiding you? Never!"</example>
                <example>Never in one place for long, I decided to leave the city tomorrow.</example>
                <example>Never, ever, do that again!</example>
                <example>Never actually tried that.</example>
                <example>Never once has this occurred in all the time I've been here.</example>
                <example>Hardly the meeting had begun when it was adjourned.</example>
                <example>Hardly B2C agents, in my opinion.</example>
                <example>Hardly anybody's busy today.</example>
                <example>Rarely, if ever, do these flowers bloom so early in the year.</example>
                <example>Rarely, small asteroids passing close to Earth may be visible to the naked eye for a short time.</example>
                <example><marker>Ever since</marker> Portugal handed over sovereignty</example>
                <example>It was <marker>ever</marker> thus.</example>
                <example>EVER TO MAKE OUR VOICES HEARD.</example>
                <example>Ever really want someone to wake you up from a bad dream...</example>
                <example>Ever louder voices of protest drowned out his speech.</example>
                <example>Ever the organizer, Reggie separates his Skittles into groupings of the same flavor before he eats them.</example>
            </rule>
            <rule>
                <antipattern><!-- I was just bugging like always. -->
                    <token regexp="yes">as|like</token>
                    <token>always</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <pattern>
                    <token postag_regexp="yes" postag="PRP_S.*"/><!-- #5389 -->
                    <token chunk="B-VP" postag_regexp="yes" postag="VB[PZD]?"/>
                    <token min="0" max="4" postag_regexp="yes" postag="JJ.*|RB|NN.*|DT"/>
                    <marker>
                        <token regexp="yes">always|hardly|never|seldom</token><!-- #3091 removed 'rarely' -->
                    </marker>
                    <token postag="SENT_END" regexp="yes">\p{P}</token><!-- Punctuation character -->
                </pattern>
                <message>The adverb '\2' is usually not used at the end of a sentence if refers to a subject pronoun that comes before it.</message>
                <example correction="">I am happy <marker>always</marker>.</example>
                <example correction="">Whatever the majority want in terms of dinner is fine with me, though I prefer cheaper <marker>always</marker>.</example>
                <example correction="">She prefers expensive meals <marker>never</marker>.</example>
                <example>I am <marker>always</marker> happy.</example>
                <example>The band emerged triumphant, <marker>as always</marker>.</example>
                <example>It's <marker>now or never</marker>.</example>
                <example>... but <marker>better late than never</marker>.</example>
                <example>No closing punctuation: He wanted to do it but it never happened</example><!--  #2008 -->
                <example>It was an event that occurred <marker>only rarely</marker>.</example><!-- #3091-->
                <example>Never.</example>
                <example>I've seen it... rarely.</example><!-- #3091-->
                <example>We did that task relatively rarely.</example><!-- #3091 -->
                <example>Do they do it frequently or rarely?</example><!-- #3091 -->
                <example>THANK YOU ALWAYS.</example>
                <example>In Display summary place a bullet in Always.</example>
                <example>The Beautiful Moment – The Official Clive Barker Website for All Ages – For younger readers – features Abarat and The Thief of Always.</example>
                <example>In winter always.</example>
                <example>You'll be in my heart today and always.</example>
                <example>Almost always.</example>
                <example>I need to see you, and to see you again, and to see you always.</example>
                <example>You're the man of my life and I want to make you happy always.</example>
                <example>Cinderella took them up, and, as she embraced them, said that she forgave them with all her heart, and begged them to love her always.</example>
                <example>I hope your Guardian Angel watches over you always.</example>
                <example>I'll love you always.</example>
                <example>I'll support you today and always.</example>
                <example>Not hardly.</example>
                <example>No, but going as soon as I can save $5000, so never.</example>
                <example>Well, I never!</example>
                <example>If I fail, you will see me again soon, or never.</example>
                <example>Forwards always, backwards never.</example>
                <example>The Swabians at 40 years old, are clever, and all of the others become so never.</example>
                <example>Probably never.</example>
                <example>We drink too much, smoke too much, spend too recklessly, laugh too little, drive too fast, get too angry, stay up too late, get up too tired, read too little, watch TV too much, and pray too seldom.</example>
                <example>Never, or at least very seldom.</example>
                <example>Victoria and Albert Museum Conservation Journal He still came to me from time to time when he desired a companion in his investigation, but these occasions grew more and more seldom.</example>
                <example>It's only three weeks since she came, and it seems as if she'd been here always.</example>
                <example>For certain, the Angels you are receiving will guide your way now and always.</example>
                <example>It's not spooky because he promised, I'll be with you always.</example>
                <example>I am with you always.</example>
                <example>I was just bugging like always.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>how</token>
                    <token>often</token>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern><!-- #5389 Always being honest / Hardly was the -->
                    <token postag="SENT_START"/>
                    <token/>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern>
                    <token>only</token>
                    <token regexp="yes">rarely|seldom|sometimes</token>
                    <token inflected="yes">be</token>
                </antipattern>
                <antipattern><!-- #1810 He'd never been responsible -->
                    <token postag="PRP"/>
                    <token regexp="yes">&apostrophe;</token>
                    <token>d</token>
                    <token min="1" max="2" postag="RB"/>
                    <token>been</token>
                </antipattern>
                <antipattern><!--  #5389 will not always be -->
                    <token postag="MD"/>
                    <token postag="RB"/>
                    <token postag="RB"/>
                    <token>be</token>
                </antipattern>
                <antipattern><!--  #5389 always be honest -->
                    <token postag_regexp="yes" postag="SENT_START|PCT"/>
                    <token regexp="yes">always|never</token>
                    <token>be</token>
                    <token chunk_re="B-ADJP|B-NP-.*"/>
                </antipattern>
                <pattern>
                    <token postag="SENT_START" skip="-1">
                        <exception scope="next" postag_regexp="yes" postag="VB.*|MD"/>
                    </token>
                    <marker>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                        <token chunk_re=".-VP" inflected="yes">be
                            <exception regexp="yes">been|being</exception><!-- #5389 -->
                            </token>
                    </marker>
                    <token>
                        <exception postag_regexp="yes" postag="SENT_END|PCT"/>
                        <exception>n't</exception>
                    </token>
                </pattern>
                <message>The adverb '\2' usually goes after the verb '\3'.</message>
                <suggestion>\3 \2</suggestion>
                <example correction="am sometimes">I <marker>sometimes am</marker> happy.</example>
                <example correction="are often">Appearances <marker>often are</marker> deceiving.</example>
                <example correction="was rarely">George <marker>rarely was</marker> visited by his family.</example>
                <example correction="is usually">The radius of curvature <marker>usually is</marker> taken as positive.</example>
                <example correction="was always">My rule <marker>always was</marker> to do the business of the day in the day.</example>
                <example correction="is often">This substance, the "alabaster" of the Ancient Egyptians and Bible, <marker>often is</marker>  termed Oriental alabaster, since the early examples came from the Far East.</example>
                <example>I <marker>am sometimes</marker> happy.</example>
                <example>Although they can <marker>sometimes</marker> be found.</example>
                <example>How <marker>often are</marker> feeling lonely?</example>
                <example>They always are.</example>
                <example>I'd never be able to afford to buy a house on Park Street.</example>
                <example>Never be afraid of monsters!</example>
                <example>Only rarely is the reader drawn directly into the ...</example>
                <example>Tom's advice often isn't very good.</example>
                <example>He'd never been responsible for this mess.</example><!--  #1810 -->
                <example>Although I'd often been responsible for our office parties, I decided not to arrange one this year.</example><!-- #1810 -->
                <example>Since she'd not often been to Paris, she didn't know it very well.</example><!-- #1810 -->
                <example>Hardly was the door shut when Mrs. Challenger darted out from the dining-room.</example><!-- #5389 -->
                <example>Never were finer women or more accomplished men seen in any Court.</example><!-- #5389 -->
                <example>Never been but heard it's beautiful.</example><!-- #5389 -->
                <example>Never being discouraged is the secret to my success.</example><!-- #5389 -->
                <example>Always being honest is no easy thing.</example><!-- #5389 -->
                <example>Sometimes being overcautious in planning could upset the apple cart.</example><!-- #5389 -->
                <example>Haru's always been like that; he's very kind at heart.</example><!-- #5389 been/I-ADJP] -->
                <example>Dear children, always be honest!</example><!-- #5389 -->
                <example>Compaq's just always been there, providing software and actual computers to help the nonprofit arts organizations.</example><!-- #5389 -->
                <example>Undoubtedly, always being there to help was a contributory factor to her exhaustion.</example><!-- #5389 -->
                <example>My situation's rarely been very comfortable.</example><!-- #5389 -->
                <example>Nevertheless, sometimes being a failure cannot be avoided.</example><!-- #5389 -->
                <example>Instead of the meetings always being held in London, they would rotate across the membership.</example><!-- #5389 -->
                <example>What a kind and thoughtful man you always are, Vince.</example><!-- #5389 -->
                <example>"I always am, aren't I?"</example><!-- #5389 -->
                <example type="triggers_error">The present will not always be the future.</example><!-- #5389. FP caused by #5529 -->
            </rule>
            <rule>
                <antipattern>
                    <token>as</token>
                    <token>it</token>
                    <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    <token regexp="yes">is|was</token>
                </antipattern>
                <antipattern><!-- https://github.com/languagetool-org/languagetool/issues/1175 -->
                    <token regexp="yes">I|you|we|they</token>
                    <token regexp="yes">always|never|often|rarely|seldom|sometimes|usually</token>
                    <token regexp="yes">am|are|were</token>
                    <token postag="SENT_END"/>
                </antipattern>
                <antipattern>
                    <token>always</token>
                    <token inflected="yes">be</token>
                    <token postag="SENT_END" />
                </antipattern>
                <antipattern><!-- #5389 Hasn't it always been this way? -->
                    <token skip="-1" inflected="yes">be</token>
                    <token>?</token>
                </antipattern>
                <antipattern><!-- #5389 let's always be -->
                    <token>let</token>
                    <token postag="PRP">'s</token>
                </antipattern>
                <antipattern><!-- #5389 May you always be [https://www.lexico.com/definition/may] -->
                    <token postag="MD">may</token>
                    <token postag_regexp="yes" postag="PRP_S.*"/>
                </antipattern>
                <antipattern><!-- #5389 's the way it always is -->
                    <token regexp="yes">'s|is|was</token>
                    <token chunk="B-NP-singular"/>
                    <token min="0" max="6" chunk="I-NP-singular"/>
                    <token chunk="E-NP-singular"/>
                    <token postag="PRP"/>
                    <token/>
                    <token regexp="yes">is|was</token>
                </antipattern>
                <antipattern><!-- #5389 As busy as they always are -->
                    <token>as</token>
                    <token postag_regexp="yes" postag="JJ|RB"/>
                    <token>as</token>
                    <token postag="PRP"/>
                </antipattern>
                <pattern>
                    <token postag="PRP">
                        <exception postag_regexp="yes" postag="PRP_R.*"/><!-- #5389 -->
                        </token>
                    <marker>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                        <token inflected="yes">be
                            <exception>being</exception>
                            </token>
                    </marker>
                    <token>
                        <exception postag_regexp="yes" postag="SENT_END|UNKNOWN|PCT|TO"/>
                        <exception regexp="yes">not|n't</exception>
                    </token>
                </pattern>
                <message>The adverb '\2' is usually put after the verb '\3'.</message>
                <suggestion>\3 \2</suggestion>
                <example correction="am sometimes">I am here and I <marker>sometimes am</marker> happy.</example>
                <example correction="are always">The times I saw her <marker>always are</marker> in my mind.</example>
                <example correction="were seldom">... because they <marker>seldom were</marker> on time.</example>
                <example correction="is always">It <marker>always is</marker> the same problem with you.</example>
                <example>When it's valid (as it <marker>usually is</marker>), there's no problem.</example>
                <example>They always are.</example>
                <example>It often wasn't worth the Army's time to dispute this claim.</example>
                <example>Hasn't it always been this way?</example><!-- #5389 -->
                <example>"Why have I never been told?" she asked.</example><!-- #5389 -->
                <example>When you do this yourself always be careful.</example><!-- #5389 -->
                <example>Let's always be friends.</example><!-- #5389 -->
                <example>Let's usually are expensive in London.</example><!-- #5389. Should be 'Lets' (#5522) -->
                <example>I'm not as tired as I usually am by this time of day.</example><!-- #5389 -->
                <example>As busy as they always are they are a pleasure to deal with.</example><!-- #5389 -->
                <example>But, that's the way it always is over here.</example><!-- #5389 -->
                <example>I am taking a couple of friends from work, so it should be a good time (it always is).</example><!-- #5389 -->
                <example>"I had," said he, "come to an entirely erroneous conclusion which shows, my dear Watson, how dangerous it always is to reason from insufficient data."</example><!-- #5389 -->
                <example>It involves the creation of objects where the practical considerations of use are essential—in a way that they usually are not in a painting, for example.</example><!-- #5389 -->
                <example>Other researchers have added to the model, resulting in it often being referred to as the "Boston-Neoclassical Model".</example><!-- #5389 -->
                <example>I found her rarely being truly honest with me.</example><!-- #5389 -->
                <example>May you always be happy!</example><!-- #5389 -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes" regexp="yes">be|have|will</token>
                        <token inflected="yes">be</token>
                        <token postag_regexp="yes" postag="VB[NG]"><exception negate_pos="yes" postag="VB.*" postag_regexp="yes"/></token>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    </marker>
                    <token>
                        <exception postag_regexp="yes" postag="SENT_END|TO"/>
                        <exception>enough</exception>
                    </token>
                </pattern>
                <message>The adverb '\4' is usually put between '\1' and '\2'.</message>
                <suggestion>\1 \4 \2 \3</suggestion>
                <example correction="have often been seen">They <marker>have been seen often</marker> together.</example>
                <example correction="has often been mentioned">One name that <marker>has been mentioned often</marker> is retired Congressman Tom Ewing.</example>
                <example>They <marker>have often been seen</marker> together.</example>
                <example>We hope this method is being called often enough to cancel daemon processes smoothly</example>
                <example>Tom has been told never to do that.</example><!-- #5389 ['never been told to' has a different meaning to 'been told never to' -->
                <example>The children had been told always to say 'please'.</example><!-- #5389 -->
                <example>The children will be reminded always to brush their teeth before they go to bed.</example><!-- #5389 -->
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">could|should|can</token>
                    <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    <token>have</token>
                    <token>been</token>
                </antipattern>
                <antipattern><!-- #5389 have been and always will be -->
                    <token>been</token>
                    <token>and</token>
                    <token/>
                    <token>will</token>
                    <token>be</token>
                </antipattern>
                <pattern>
                    <marker>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                        <token inflected="yes" regexp="yes">be|have|will</token>
                        <token inflected="yes">be</token>
                    </marker>
                    <token postag_regexp="yes" postag="VB[NG]"><exception negate_pos="yes" postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The adverb '\1' is usually put between '\2' and '\3'.</message>
                <suggestion>\2 \1 \3</suggestion>
                <example correction="have often been">They <marker>often have been</marker> seen together.</example>
                <example correction="will often be">... must receive permission from the copyright holder to use this work, and <marker>often will be</marker> asked to pay for the use of copyrighted material.</example>
                <!--                 <example correction="have often been">She <marker>often</marker> has been late.</example> TODO -->
                <example>They have <marker>often been seen</marker> together.</example>
                <example>Those women should never have been hired.</example>
                <example>These rules have been and always will be observed.</example><!-- #5389 -->
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token inflected="yes" regexp="yes">be|have|will<exception postag="VBG"/></token>
                        <token inflected="yes">be<exception>art</exception></token>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    </marker>
                    <token postag_regexp="yes" postag="VB[NG]"><exception negate_pos="yes" postag="VB.*" postag_regexp="yes"/></token>
                </pattern>
                <message>The adverb '\3' is usually put between '\1' and '\2'.</message>
                <suggestion>\1 \3 \2</suggestion>
                <example>The human being <marker>is often</marker> regarded as</example>
                <example>They <marker>have often</marker> been seen together.</example>
                <example correction="have often been">They <marker>have been often</marker> seen together.</example>
                <!--                 <example correction="have often been">He has been <marker>often</marker> late.</example> TODO -->
            </rule>
            <rule>
                <antipattern><!-- Phrasal verbs -->
                    <token chunk_re=".-VP"/>
                    <token postag="RP"/>
                    <token postag="RB"/>
                </antipattern>
                <antipattern><!-- 'promise never to' does not mean 'never promise to' -->
                    <token regexp="yes">always|never</token>
                    <token>to</token>
                    <token postag="VBP?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- #5389 I know [that] sometimes you -->
                    <token regexp="yes">I|you|we|they</token>
                    <token postag="VBP?" postag_regexp="yes" regexp="yes">know|think</token><!-- Not: I go often -->
                    <token postag="RB"/>
                    <token chunk_re="B-NP-.*"/><!-- Not: Do you think often about the future? -->
                </antipattern>
                <antipattern><!-- #5389 reads often and walks often -->
                    <token postag="VB[PZD]?" postag_regexp="yes"/>
                    <token postag="RB"/>
                    <token regexp="yes">and|or</token>
                    <token postag="VB[PZD]?" postag_regexp="yes"/>
                    <token postag="RB"><match no="1"/></token>
                </antipattern>
                <antipattern><!-- #5389 whenever people spoke hardly of -->
                    <token postag="WRB"/>
                    <token postag="NNS"/>
                    <token postag="VB[PD]?" postag_regexp="yes"/>
                    <token postag="RB"/>
                    <token postag="IN"/>
                </antipattern>
                <antipattern><!-- #5389 doesn't happen often enough / did not meet often as / do not fly often due to -->
                    <token inflected="yes">do</token>
                    <token regexp="yes">not|n't</token>
                    <token postag="VBP?" postag_regexp="yes"/>
                    <token postag="RB"/>
                    <token>
                        <exception postag="TO"/><!-- Not: I don't go always to the market -->
                        </token>
                </antipattern>
                <antipattern><!-- #5389 real crowded sometimes -->
                    <token>real</token><!-- www.merriam-webster.com/dictionary/real -->
                    <token postag="VBN|JJ" postag_regexp="yes"/>
                    <token postag="RB"/>
                </antipattern>
                <antipattern><!-- #5389 www.merriam-webster.com/dictionary/never%20again -->
                    <token>never</token>
                    <token>again</token>
                </antipattern>
                <antipattern><!-- #5389 appear rarely, if ever -->
                    <token chunk_re=".-VP"/>
                    <token postag="RB"/>
                    <token min="0" max="1">,</token>
                    <token>if</token>
                    <token>ever</token>
                </antipattern>
                <antipattern><!-- #5389 said never and -->
                    <token chunk_re=".-VP" inflected="yes">say</token>
                    <token postag="RB"/>
                    <token postag_regexp="yes" postag="CC|PCT"/>
                </antipattern>
                <antipattern><!-- #5389 what users want often can -->
                    <token chunk_re=".-VP"/>
                    <token postag="RB"/>
                    <token chunk_re=".-VP" postag="MD"/>
                </antipattern>
                <antipattern><!-- #5389 conducted often fatal human experiments -->
                    <token chunk_re=".-VP"/>
                    <token chunk="B-NP-plural" postag="RB"/>
                    <token min="1" max="6" chunk="I-NP-plural"/>
                    <token chunk="E-NP-plural" postag="NNS"/>
                </antipattern>
                <antipattern><!-- #5389 should not happen often -->
                    <token postag="MD"/>
                    <token regexp="yes">not|n't</token>
                    <token chunk_re=".-VP" postag="VBP?" postag_regexp="yes"/>
                    <token postag="RB"/>
                </antipattern>
                <pattern>
                    <token>
                        <exception postag="TO">to</exception>
                        </token>
                    <marker>
                        <token chunk_re=".-VP" postag="VB[DPZ]?" postag_regexp="yes">
                            <exception inflected="yes" regexp="yes">have|be|will</exception>
                            <exception postag_regexp="yes" postag="MD|RB|IN"/><!-- #5389 -->
                            </token>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    </marker>
                    <token>
                        <exception postag="VB.*|SENT_END" postag_regexp="yes"/>
                        </token>
                </pattern>
                <message>The adverb '\3' is usually put before the verb '\2'.</message>
                <suggestion>\3 \2</suggestion>
                <example correction="always love">I will <marker>love always</marker> you.</example>
                <example correction="often go">I <marker>go often</marker> to bed before midnight.</example>
                <example correction="often appears">... is called the Boltzmann factor and <marker>appears often</marker> in the study of physics and chemistry.</example>
                <example correction="sometimes appears">AmE <marker>appears sometimes</marker> to use the BrE form.</example>
                <example correction="rarely come">Chances <marker>come rarely</marker> in any case.</example>
                <example correction="sometimes served">in their capacity as market superintendents, they <marker>served sometimes</marker> as judges in mercantile affairs.</example>
                <example correction="usually came">The desire, or the need, did not come upon him often, and it <marker>came usually</marker> when he was feeling ill or depressed.</example>
                <example correction="often campaigned">Mr. Bush <marker>campaigned often</marker> here last year.</example>
                <example correction="often complain">Tom and Mary <marker>complain often</marker> that they never get to be together without the children.</example>
                <example correction="sometimes dream">Do your sisters <marker>dream sometimes</marker> about the future?</example><!-- Do not use an NN.* exception on the first marked token. -->
                <example correction="often think">Do you <marker>think often</marker> about the future?</example>
                <example correction="hardly spoke">Those people <marker>spoke hardly</marker> during the meeting.</example>
                <example correction="always go">I don't <marker>go always</marker> to the market on a Thursday.</example>
                <example>I <marker>will always</marker> love you.</example>
                <example>Didn't you <marker>promise never to tell</marker> a lie?</example>
                <example>Mary <marker>decided never to see</marker> him any more.</example>
                <example>He taught the Athenians to <marker>desire always</marker> to defeat their enemies</example>
                <example>I had an old wire bird feeder that I used to <marker>fill often</marker> with a square slab of suet.</example>
                <example>He knows <marker>hardly anything</marker> about it.</example>
                <example>These come up often in the context of chat messages.</example>
                <example>He has to sleep often or else.</example>
                <example>To eat often before bed is unhealthy.</example>
                <example>The shock of impact of a shell against armour often prematurely detonated Lyddite in advance of fuze function ...</example><!-- #5389 -->
                <example>The featured titles change every week, so check back often for fresh savings...</example><!-- #5389 -->
                <example>It's not cool sometimes to translate it literally.</example><!-- #5389 -->
                <example>I would be glad to meet you for lunch/dinner sometimes during the next few weeks.</example><!-- #5389 -->
                <example>I used to jerk off often when I was a teenager.</example><!-- #5389 -->
                <example>The size of a litter averages three to five kittens, with the first litter usually smaller than subsequent litters.</example><!-- #5389 -->
                <example>In its own often clumsy looking way Enron's culture does allocate capital and people fairly effectively.</example><!-- #5389 -->
                <example>He enjoys wine sometimes, but mostly he drinks whisky.</example><!-- #5389 -->
                <example>The existence and nature of animal consciousness can never rigorously be known.</example>
                <example>Its rates aren't the cheapest, and they aren't even always less than the incumbent.</example>
                <example>I don't send these things out often, so please forgive the intrusion.</example>
                <example>Fadil and Dania made love like never before.</example>
                <example>Save and save often.......</example>
                <example>You never look angry, even though I know sometimes you are.</example>
                <example>He who reads often and walks often, sees much and knows much.</example>
                <example>I would be indignant (whenever people spoke hardly of me).</example>
                <example>It doesn't happen often enough these days.</example>
                <example>The disambiguation error does not occur rarely enough for us to ignore it.</example>
                <example>It gets real crowded sometimes, which causes them to close the gates.</example>
                <example>... in which God agrees never again to destroy the Earth.</example>
                <example>Those who made the Third Reich's military plans and organized its war economy appear rarely, if ever, to have employed the term blitzkrieg in official documents.</example>
                <example>I swore I would be one of those people who said never and really meant it.</example>
                <example>What users want often can vary considerably from what they are being offered by today's suppliers.</example>
                <example>This unit did research on BW, conducted often fatal human experiments on prisoners, and produced biological weapons for combat use.</example>
                <example>Under Stalin the Politburo did not meet often as a collective unit, but was still an important body – many of Stalin's closet protégés were members.</example>
                <example>Fighter pilots have year-round flights, but gunship pilots do not fly often due to the yet unfulfilled modernization of the Mi-24 gunships.</example>
                <example>If something comes from FERC (which should not happen often), you would just forward it to me.</example>
                <example>This game has a hunger mechanic: if you don't eat often, your character will die.</example>
                <example type="triggers_error">Pickpockets often work in groups.</example><!-- Refer to #5489 and #5490 -->
                <example type="triggers_error">As the Holy Koran tells us, "Be conscious of God and speak always the truth."</example><!-- Refer to #5493 -->
<!-- FN caused by chunker error evokes/E-NP-plural. Refer to #5495 --><example>The salutary image of an older person instructing the young <marker>evokes always</marker> in Kurosawa's films high moments of pathos.</example>
            </rule>
            <rule>
                <antipattern><!-- #2769 always had water -->
                    <token inflected="yes">have</token>
                    <token chunk="E-NP-singular" postag="NN:UN?" postag_regexp="yes"/>
                </antipattern>
                <antipattern><!-- #2769 "always had trouble" -->
                    <token regexp="yes">['‘"“]</token>
                    <token/>
                    <token inflected="yes">have</token>
                    <token>trouble</token>
                    <token spacebefore="no" regexp="yes">['’"”]</token>
                </antipattern>
                <antipattern>
                    <token postag="MD" />
                    <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                    <token>be</token>
                    <token postag="VBN" />
                </antipattern>
                <antipattern><!-- www.lexico.com/definition/as_always -->
                    <token>as</token>
                    <token>always</token>
                </antipattern>
                <pattern>
                    <token><exception inflected="yes" regexp="yes">have|be|will</exception></token>
                    <marker>
                        <token regexp="yes">always|hardly|never|often|rarely|seldom|sometimes|usually</token>
                        <token inflected="yes" regexp="yes">be|have|will</token>
                        <token chunk_re=".-VP" postag="VB[DPZ]?" postag_regexp="yes"><exception inflected="yes" regexp="yes">have|be</exception><exception postag="JJ.*|NNS" postag_regexp="yes"/></token>
                    </marker>
                </pattern>
                <message>The adverb '\2' is usually put between '\3' and '\4'.</message>
                <suggestion>\3 \2 \4</suggestion>
                <example correction="will always love">I <marker>always will love</marker> you.</example>
                <example correction="will never trouble">I <marker>never will trouble</marker> you again.</example>
                <example>They <marker>usually have</marker> long hind limbs.</example>
                <example>... Patricia <marker>always had treats</marker> available at the back door...</example>
                <example>When I was a child, I always had water with my meals.</example><!-- #2769 -->
                <example>She always had trouble with adverbs.</example><!-- #2769 -->
                <example>The phrase “always had trouble”, is perfect English, and I always have trouble with LT...</example><!-- #2769 -->
                <example>It has been removed from the server and should never be run there.</example>
                <example>Sami always had sleep paralysis as a kid.</example><!-- #5389 -->
                <example>I'm in a dialogue with Paul and others on this issue but as always would appreciate your thoughts.</example><!-- #5389 -->
            </rule>
        </rulegroup>
    </category>
    <category id="REPETITIONS_STYLE" name="Repetitions (Style)" type="style">
        <rulegroup id="REP_THANK_YOU_FOR" name="Rep: thank you for" min_prev_matches="1">
            <antipattern><!-- ty in advance, again, once more -->
                <token>thank</token>
                <token>you</token>
                <token regexp="yes">in|again|once</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="SENT_START|PCT|CC" postag_regexp="yes"/>
                        <marker>
                            <token>thank</token>
                            <token>you</token>
                            <token postag="RB" min="0" max="2"/>
                            <token>for</token>
                        </marker>
                    <token postag="P?DT|PRP\$.*" postag_regexp="yes" chunk_re="B-NP.*"/>
                </pattern>
                <message>You have already used this expression in nearby sentences. Consider replacing it to add variety to your writing.</message>
                <suggestion>I appreciate</suggestion>
                <suggestion>we appreciate</suggestion>
                <suggestion>I am grateful for</suggestion>
                <suggestion>we are grateful for</suggestion>
                <suggestion>many thanks for</suggestion>
                <example correction="I appreciate|We appreciate|I am grateful for|We are grateful for|Many thanks for"><marker>Thank you for</marker> all your help these past few days.</example>
                <example correction="I appreciate|We appreciate|I am grateful for|We are grateful for|Many thanks for"><marker>Thank you so much for</marker> the fish.</example>
                <example>Thank you in advance for your presence.</example>
            </rule>
        </rulegroup>
    </category>
    <!-- ====================================================================== -->
    <!-- Semantic -->
    <!-- ====================================================================== -->
    <category id="SEMANTICS" name="Semantics" type="inconsistency">
        <rule id="APOSTROPHE_UPPERCASE_LETTER" name="Inconsistent case: She'S (She's)">
            <!-- Dont'T -> APOS_RE -->
            <pattern>
                <token regexp="yes" case_sensitive="yes">
                    .*[a-z]
                    <exception postag="UNKNOWN" />
                </token>
                <token case_sensitive="yes" regexp="yes" spacebefore="no">'(S|D|Ve|VE|vE|rE|Re|RE|T|Ll|lL|LL)</token>
            </pattern>
            <message>Inconsistent capitalization in contraction.</message>
            <suggestion>\1<match no="2" case_conversion="alllower" /></suggestion>
            <example correction="He's"><marker>He'S</marker> very happy.</example>
            <example correction="there's">And <marker>there'S</marker> already a column in the DB.</example>
        </rule>
        <rulegroup id="PH_D" name="abbreviation of 'philosophiae doctor' (PhD)">
            <antipattern case_sensitive="yes">
                <token>Ph</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no">D</token>
                <token spacebefore="no">.</token>
            </antipattern>
            <rule>
                <pattern>
                    <token>Ph</token>
                    <token spacebefore="no" min="0">.</token>
                    <token>D</token>
                    <token spacebefore="no">.</token>
                </pattern>
                <message>The abbreviation is usually written <suggestion>Ph.D.</suggestion>.</message>
                <url>https://english.stackexchange.com/questions/25685/should-i-write-phd-or-ph-d</url>
                <example correction="Ph.D.">I got my <marker>PH.D.</marker> at an university in Germany.</example>
                <example correction="Ph.D.">I got my <marker>Ph D.</marker> at an university in Germany.</example>
                <example correction="Ph.D.">I got my <marker>Ph. D.</marker> at an university in Germany.</example>
                <example correction="Ph.D.">He has a <marker>PH.D.</marker>!</example>
                <example>He has a Ph.D.</example>
                <example>He has a PhD.</example>
            </rule>
            <rule>
                <pattern>
                    <token>Ph</token>
                    <token spacebefore="no" min="0">.</token>
                    <token>D</token>
                </pattern>
                <message>The abbreviation is usually written <suggestion>Ph.D.</suggestion>.</message>
                <url>https://english.stackexchange.com/questions/25685/should-i-write-phd-or-ph-d</url>
                <example correction="Ph.D.">I got my <marker>Ph.D</marker> at an university in Germany.</example>
                <example correction="Ph.D.">I got my <marker>Ph D</marker> at an university in Germany.</example>
                <example correction="Ph.D.">He has a <marker>PH.D</marker></example>
                <example>He has a Ph.D.</example>
                <example>He has a PhD.</example>
            </rule>
            <rule>
                <pattern>
                    <token case_sensitive="yes" regexp="yes">PHD|Phd|PHd|phd</token>
                </pattern>
                <message>The abbreviation is usually written <suggestion>PhD</suggestion>.</message>
                <url>https://english.stackexchange.com/questions/25685/should-i-write-phd-or-ph-d</url>
                <example correction="PhD">I got my <marker>PHD</marker> at an university in Germany.</example>
                <example>He has a Ph.D.</example>
                <example>He has a PhD.</example>
            </rule>
        </rulegroup>
        <rulegroup id="BACHELOR_ABBR" name="abbreviation for bachelor's degree">
            <antipattern case_sensitive="yes">
                <token regexp="yes">[BM]</token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">Sc|Eng|Comp|Arch</token>
                <token spacebefore="no">.</token>
            </antipattern>
            <rule>
                <pattern>
                    <token regexp="yes">[BM]</token>
                    <token min="0">.</token>
                    <token regexp="yes">Sc|Eng|Comp|Arch</token>
                    <token>.</token>
                </pattern>
                <message>Consider using a more common abbreviation of this university degree.</message>
                <suggestion><match no="1" case_conversion="allupper" />.<match no="3" case_conversion="startupper" />.</suggestion>
                <example correction="B.Sc.">I have a <marker>B. Sc.</marker> from CMU.</example>
                <example correction="B.Eng.">I have a <marker>B. eng.</marker> from CMU.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">[BM](Sc|Eng|Comp|Arch)</token>
                    <token>.</token>
                </pattern>
                <message>Consider using a more common abbreviation of this university degree.</message>
                <suggestion><match no="1" regexp_match="^(.).+$" regexp_replace="$1" />.<match no="1" regexp_match="^.(.+)$" regexp_replace="$1" />.</suggestion>
                <example correction="M.Sc.">I have a <marker>MSc.</marker> from CMU.</example>
                <example correction="B.Eng.">I have a <marker>BEng.</marker> from CMU.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">
                        [BM](Sc|Eng|Comp|Arch)
                        <exception scope="next">.</exception>
                    </token>
                </pattern>
                <message>Consider using a more common abbreviation of this university degree.</message>
                <suggestion><match no="1" regexp_match="^(.).+$" regexp_replace="$1" />.<match no="1" regexp_match="^.(.+)$" regexp_replace="$1" />.</suggestion>
                <example correction="M.Sc.">I have a <marker>MSc</marker> from CMU.</example>
                <example correction="B.Eng.">I have a <marker>BEng</marker> from CMU.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">B|M</token>
                    <token min="0">.</token>
                    <token regexp="yes">Sc|Eng|Comp|Arch</token>
                </pattern>
                <message>Consider using a more common abbreviation of this university degree.</message>
                <suggestion><match no="1" case_conversion="allupper" />.<match no="3" case_conversion="startupper" />.</suggestion>
                <example correction="B.Sc.">I have a <marker>B.Sc</marker> from CMU.</example>
                <example correction="B.Eng.">I have a <marker>B. Eng</marker> from CMU.</example>
            </rule>
        </rulegroup>
        <rule id="YEAR_20001" name="May 20001 (May 2001)">
            <pattern>
                <token regexp="yes">&months;|year</token>
                <token regexp="yes">200\d\d</token>
            </pattern>
            <message>Did you really mean year \2? Or maybe <suggestion><match no="1"/> <match no="2" regexp_match="200" regexp_replace="20"/></suggestion>?</message>
            <short>Possible typo</short>
            <example correction="May 2014">I will go to Holland in <marker>May 20014</marker>.</example>
        </rule>
        <rule id="BOTH_ENUM" name="'to both ...' with more than two items">
            <pattern>
                <token>to</token>
                <marker>
                    <token skip="5">both</token>
                    <token>,</token>
                    <token skip="5"><exception>and</exception></token>
                    <token>,</token>
                    <token>and</token>
                </marker>
            </pattern>
            <message>'both' is usually followed by exactly two items.</message>
            <example correction="">It allows us to <marker>both grow, focus, and</marker> flourish.</example>
            <example correction="">It allows us to <marker>both grow a lot, focus, and</marker> flourish.</example>
            <example correction="">It allows us to <marker>both grow a lot, focus some, and</marker> flourish.</example>
            <example>It allows us to <marker>both</marker> grow and focus, and later flourish.</example>
        </rule>

        <rulegroup id="WINTER_DDDDD" name="Winter 20211 (2021)">
            <rule>
                <antipattern>
                    <token>per</token>
                    <token>year</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">\d\d\d\d\d</token>
                    <token>BC</token>
                </antipattern>
                <antipattern>
                    <token regexp="yes">\d\d\d\d\d</token>
                    <token>B</token>
                    <token spacebefore="no">.</token>
                    <token spacebefore="no">C</token>
                    <token spacebefore="no">.</token>
                </antipattern>
                <pattern>
                    <!-- no 'year' to avoid false alarms for "the 3 year 36000 mile warranty" -->
                    <token regexp="yes">spring|summer|autumn|winter|since|fall|late|early|copyright|Windows|Christmas|Thanksgiving|Easter|season|&months;|&abbrevMonths;</token>
                    <marker>
                        <token regexp="yes">\d\d\d\d\d</token>
                    </marker>
                </pattern>
                <message>Did you mean to type a 4-digit year?</message>
                <example correction="">We hope for a growing number of visitors in winter <marker>20211</marker>.</example>
                <example>We hope for a growing number of visitors in winter <marker>2021</marker></example>
                <example>How much time has elapsed since <marker>10000</marker> BC?</example>
                <example>How much time has elapsed since <marker>10000</marker> B.C.?</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">&abbrevMonths;</token>
                    <token>.</token>
                    <marker>
                        <token regexp="yes">\d\d\d\d\d</token>
                    </marker>
                </pattern>
                <message>Did you mean to type a 4-digit year?</message>
                <example correction="">We hope for a growing number of visitors from Oct. <marker>20211</marker>.</example>
                <example>We hope for a growing number of visitors from Oct. <marker>2021</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <marker>
                        <token regexp="yes">[12]\d\d\d\d</token>
                    </marker>
                    <token regexp="yes">presidential|elections?|editions?|census|updates?|versions?|conferences?|Olympics|albums?</token>
                </pattern>
                <message>Did you mean to type a 4-digit year?</message>
                <example correction="">The <marker>20200</marker> election took place in November.</example>
            </rule>
        </rulegroup>

        <rulegroup id="DATE_FUTURE_VERB_PAST" name="Future date, but verb in past tense">
            <antipattern>
                <token>due</token>
                <token regexp="yes">&months;|&abbrevMonths;</token>
            </antipattern>
            <rule> <!-- #1 We have visited the client on 7 October 2020 -->
                <pattern>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                      <exception regexp="yes">scheduled|wed|sat</exception>
                      <exception scope='next' regexp='yes'>before|until|by|will</exception></token>
                    <marker> &date_dmy; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\5 month:\4 day:\3"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We have visited the client on <marker>7 October 2025</marker>.</example>
                <example correction="">I had already informed the customer on <marker>7 October 2025</marker>.</example>
                <example>We have visited the client on <marker>7 October 2010</marker>.</example>
                <example>I had already informed the customer on <marker>7 October 2010</marker>.</example>
                <example>We will inform the client on 7 October 2010.</example>
                <example>He wanted to do until August 31, 2020.</example>
                <example>The new season was scheduled to start on September 9, 2020.</example>
            </rule>
            <rule> <!-- #2 On 7 October 2020, we have visited the client -->
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception></token>
                    <marker> &date_dmy_skip; </marker>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\4 month:\3 day:\2"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>7 October 2025</marker>, we have visited the client.</example>
                <example correction="">On <marker>7 October 2025</marker>, I had already informed the customer.</example>
                <example>On <marker>7 October 2010</marker>, we have visited the client.</example>
                <example>On <marker>7 October 2010</marker>, I had already informed the customer.</example>
                <example>On 7 October 2010, we will inform the client.</example>
            </rule>
            <rule> <!-- #3 We visited the client on 7 October 2020 -->
                <antipattern><!-- the featured presentation -->
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <and>
                        <token postag="JJ" />
                        <token postag="VBD" />
                    </and>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                      <exception regexp="yes">scheduled|wed|sat</exception>
                      <exception scope='next' regexp='yes'>before|until|will|by</exception></token>
                    <marker> &date_dmy; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\4 month:\3 day:\2"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We visited the client on <marker>7 October 2025</marker>.</example>
                <example correction="">I already informed the customer on <marker>7 October 2025</marker>.</example>
                <example>We visited the client on <marker>7 October 2010</marker>.</example>
                <example>I already informed the customer on <marker>7 October 2010</marker>.</example>
                <example>We will inform the client on 7 October 2010.</example>
                <example>He wanted to do until August 31, 2020.</example>
                <example>Join our featured presentation on 15th April 2025 at 2 PM GMT to learn how our cloud-based, mobile first project time tracking suite can empower your business with.</example>
            </rule>
            <rule> <!-- #4 On 7 October 2020, we visited the client -->
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception></token>
                    <marker> &date_dmy_skip; </marker>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\4 month:\3 day:\2"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>7 October 2025</marker>, we visited the client.</example>
                <example correction="">On <marker>7 October 2025</marker>, I already informed the customer.</example>
                <example>On <marker>7 October 2010</marker>, we visited the client.</example>
                <example>On <marker>7 October 2010</marker>, I already informed the customer.</example>
                <example>On 7 October 2010, we will inform the client.</example>
            </rule>
            <rule> <!-- #5 We have visited the client on October 7, 2020 -->
                <pattern>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                      <exception regexp="yes">scheduled|wed|sat</exception>
                      <exception scope='next' regexp='yes'>before|until|will|by</exception>
                    </token>
                    <marker> &date_mdy; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\3 day:\4"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We have visited the client on <marker>October 7, 2025</marker>.</example>
                <example correction="">I had already informed the customer on <marker>October 7, 2025</marker>.</example>
                <example>We have visited the client on <marker>October 7, 2010</marker>.</example>
                <example>I had already informed the customer on <marker>October 7, 2010</marker>.</example>
                <example>We will inform the client on October 7, 2010.</example>
                <example>He wanted to do until August 31, 2020.</example>
                <example>For developers who have not yet provided privacy disclosures by January 18, 2021, a notice will be shown.</example>
            </rule>
            <rule> <!-- #6 On October 7, 2020, we have visited the client -->
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception></token>
                    <marker> &date_mdy_skip; </marker>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\5 month:2 day:\3"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>October 7, 2025</marker>, we have visited the client.</example>
                <example correction="">On <marker>October 7, 2025</marker>, I had already informed the customer.</example>
                <example>On <marker>October 7, 2010</marker>, we have visited the client.</example>
                <example>On <marker>October 7, 2010</marker>, I had already informed the customer.</example>
                <example>On October 7, 2010, we will inform the client.</example>
            </rule>
            <rule> <!-- #7 We visited the client on October 7, 2020 -->
                <antipattern><!-- the featured presentation -->
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <and>
                        <token postag="JJ" />
                        <token postag="VBD" />
                    </and>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                      <exception scope='next' regexp='yes'>before|until|by|will</exception>
                      <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                    <marker> &date_mdy; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\5 month:\2 day:\3"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We visited the client on <marker>October 7, 2025</marker>.</example>
                <example correction="">I already informed the customer on <marker>October 7, 2025</marker>.</example>
                <example>We visited the client on <marker>October 7, 2010</marker>.</example>
                <example>I already informed the customer on <marker>October 7, 2010</marker>.</example>
                <example>We will inform the client on October 7, 2010.</example>
                <example>He wanted to do until August 31, 2020.</example>
                <example>Wed, June 23, 2032</example><!-- "Wed" is tagged as verb -->
                <example>As such, during the Annual General Meeting scheduled for May 20, 2020, the Board of Directors will not put up for vote the approval to pay a €0.31 dividend per share for the fiscal year 2019.</example>
            </rule>
            <rule> <!-- #8 On October 7, 2020, we visited the client -->
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception></token>
                    <marker> &date_mdy_skip; </marker>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\5 month:\2 day:\3"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>October 7, 2025</marker>, we visited the client.</example>
                <example correction="">On <marker>October 7, 2025</marker>, I already informed the customer.</example>
                <example>We visited the client on <marker>October 7, 2010</marker>.</example>
                <example>On <marker>October 7, 2010</marker>, I already informed the customer.</example>
                <example>On October 7, 2010, we will inform the client.</example>
            </rule>
            <rule> <!-- #9 We have visited the client on 27/10/2040 -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <pattern>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                      <exception scope='next' regexp='yes'>before|until|by|will</exception>
                      <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                    <marker> &date_dmy_numbers; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\7 month:\5 day:\3"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We have visited the client on <marker>27/10/2040</marker>.</example>
                <example correction="">I had already informed the customer on <marker>27/10/2040</marker>.</example>
                <example>We have visited the client on <marker>27/10/2010</marker>.</example>
                <example>I had already informed the customer on <marker>27/10/2010</marker>.</example>
                <example>We will inform the client on 27/10/2010.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #10 On 27/10/2040, we have visited the client -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception></token>
                    <marker> &date_dmy_numbers_skip; </marker>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>27/10/2040</marker>, we have visited the client.</example>
                <example correction="">On <marker>27/10/2040</marker>, I had already informed the customer.</example>
                <example>On <marker>27/10/2010</marker>, we have visited the client.</example>
                <example>On <marker>27/10/2010</marker>, I had already informed the customer.</example>
                <example>On 27/10/2010, we will inform the client.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #11 We visited the client on 27/10/2040  -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <antipattern><!-- the featured presentation -->
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <and>
                        <token postag="JJ" />
                        <token postag="VBD" />
                    </and>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                      <exception scope='next' regexp='yes'>before|until|by|will</exception>
                      <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                    <marker> &date_dmy_numbers; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We visited the client on <marker>27/10/2040</marker>.</example>
                <example correction="">I already informed the customer on <marker>27/10/2040</marker>.</example>
                <example>We visited the client on <marker>27/10/2010</marker>.</example>
                <example>I already informed the customer on <marker>27/10/2010</marker>.</example>
                <example>We will inform the client on 27/10/2010.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #12 On 27/10/2040, we visited the client -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception>
                    </token>
                    <marker> &date_dmy_numbers_skip; </marker>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\4 day:\2"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>27/10/2040</marker>, we visited the client.</example>
                <example correction="">On <marker>27/10/2040</marker>, I already informed the customer.</example>
                <example>On <marker>27/10/2010</marker>, we visited the client.</example>
                <example>On <marker>27/10/2010</marker>, I already informed the customer.</example>
                <example>On 27/10/2010, we will inform the client.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #13 We have visited the client on 10/27/2040 -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <pattern>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                      <exception scope='next' regexp='yes'>before|until|by|will</exception>
                      <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                    <marker> &date_mdy_numbers; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\7 month:\3 day:\5"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We have visited the client on <marker>10/27/2040</marker>.</example>
                <example correction="">I had already informed the customer on <marker>10/27/2040</marker>.</example>
                <example>We have visited the client on <marker>10/27/2010</marker>.</example>
                <example>I had already informed the customer on <marker>10/27/2010</marker>.</example>
                <example>We will inform the client on 10/27/2010.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #14 On 10/27/2040, we have visited the client -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception>
                    </token>
                    <marker> &date_mdy_numbers_skip; </marker>
                    <token inflected="yes" postag="VBD?" postag_regexp="yes" skip="-1">have</token>
                    <token postag="VBN" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\2 day:\4"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>10/27/2040</marker>, we have visited the client.</example>
                <example correction="">On <marker>10/27/2040</marker>, I had already informed the customer.</example>
                <example>On <marker>10/27/2010</marker>, we have visited the client.</example>
                <example>On <marker>10/27/2010</marker>, I had already informed the customer.</example>
                <example>On 10/27/2010, we will inform the client.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #15 We visited the client on 27/10/2040  -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <antipattern><!-- the featured presentation -->
                    <token postag="PRP\$|DT" postag_regexp="yes" />
                    <and>
                        <token postag="JJ" />
                        <token postag="VBD" />
                    </and>
                    <token postag="NN.*" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                      <exception scope='next' regexp='yes'>before|until|by|will</exception>
                      <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                    <marker> &date_mdy_numbers; </marker>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\2 day:\4"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">We visited the client on <marker>10/27/2040</marker>.</example>
                <example correction="">I already informed the customer on <marker>10/27/2040</marker>.</example>
                <example>We visited the client on <marker>10/27/2010</marker>.</example>
                <example>I already informed the customer on <marker>10/27/2010</marker>.</example>
                <example>We will inform the client on 10/27/2010.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
            <rule> <!-- #16 On 27/10/2040, we visited the client -->
                <antipattern>
                     &ambiguous_date;
                </antipattern>
                <pattern>
                    <token>
                      <exception regexp='yes'>before|until</exception></token>
                    <marker> &date_mdy_numbers_skip; </marker>
                    <token postag="VBD" skip="-1" chunk_re=".-VP">
                        <exception regexp="yes">scheduled|wed|sat</exception>
                    </token>
                </pattern>
                <filter class="org.languagetool.rules.en.FutureDateFilter" args="year:\6 month:\2 day:\4"/>
                <message>The given date is in the future, but the verb is in past tense.</message>
                <example correction="">On <marker>10/27/2040</marker>, we visited the client.</example>
                <example correction="">On <marker>10/27/2040</marker>, I already informed the customer.</example>
                <example>On <marker>10/27/2010</marker>, we visited the client.</example>
                <example>On <marker>10/27/2010</marker>, I already informed the customer.</example>
                <example>On 10/27/2010, we will inform the client.</example>
                <example>He promised to do it before 30/08/2020.</example>
            </rule>
        </rulegroup>

        <rulegroup id="DATE_NEW_YEAR" name="A new year has begun">
            <antipattern>
                <token regexp="yes">\d\d\d\d</token>
                <token>BC</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d\d\d\d</token>
                <token>B</token>
                <token>.</token>
                <token>C</token>
                <token>.</token>
            </antipattern>
            <antipattern>
                <token skip="4">from</token>
                <token skip="4" regexp="yes">2019|19</token>
                <token skip="4">to</token>
                <token skip="4" regexp="yes">2020|20</token>
            </antipattern>
            <antipattern>
                <token skip="4">from</token>
                <token skip="4" regexp="yes">2020|20</token>
                <token skip="4">to</token>
                <token skip="4" regexp="yes">2021|21</token>
            </antipattern>
            <antipattern>
                <token skip="4">from</token>
                <token skip="4" regexp="yes">2021|21</token>
                <token skip="4">to</token>
                <token skip="4" regexp="yes">2022|22</token>
            </antipattern>
            <antipattern>
                <token skip="4">since</token>
                <token skip="2" regexp="yes">july?|aug(ust)?|sep(tember)?|oct(ober)?|nov(ember)?|dec(ember)?|06|07|08|09|10|11|12</token>
                <token regexp="yes">20\d{2}</token>
            </antipattern>
            <rule>
                <pattern>
                    <!-- "7 October 2014" -->
                    &date_dmy;
                </pattern>
                <filter class="org.languagetool.rules.en.NewYearDateFilter" args="year:\3 month:\2 day:\1"/>
                <message>A new year has begun. Did you mean <suggestion>\1 \2 {realYear}</suggestion>?</message>
                <example correction="7 October 2014">IGD Convention - <marker>7 October 2013</marker></example>
                <example correction="7 Oct 2014">IGD Convention - <marker>7 Oct 2013</marker></example>
                <example>IGD Convention - Tuesday, <marker>7 October 2014</marker></example>
                <example>IGD Convention - Tuesday, <marker>7 Oct 2014</marker></example>
            </rule>
            <rule>
                <pattern>
                    <!-- "October 7, 2014" -->
                    &date_mdy;
                </pattern>
                <filter class="org.languagetool.rules.en.NewYearDateFilter" args="year:\4 month:\1 day:\2"/>
                <message>A new year has begun. Did you mean <suggestion>\1 \2, {realYear}</suggestion>?</message>
                <example correction="October 7, 2014">IGD Convention - <marker>October 7, 2013</marker></example>
                <example correction="Oct 7, 2014">IGD Convention - <marker>Oct 7, 2013</marker></example>
                <example>IGD Convention - Tuesday, <marker>Oct 7, 2014</marker></example>
                <example>IGD Convention - Tuesday, <marker>Oct 7, 2018</marker></example>
                <example>IGD Convention - Tuesday, <marker>October 7, 2012</marker></example>
            </rule>
            <!-- "31/10/2014" -->
            <!-- the ambiguous forms have been antipatterned -->
            <rule>
                <antipattern>
                    &ambiguous_date;
                </antipattern>
                <pattern>
                    &date_dmy_numbers;
                </pattern>
                <filter class="org.languagetool.rules.en.NewYearDateFilter" args="year:\5 month:\3 day:\1"/>
                <message>A new year has begun. Did you mean <suggestion>\1/\3/{realYear}</suggestion>?</message>
                <example correction="31/10/2014">IGD Convention 2014 - <marker>31/10/2013</marker></example>
                <example>IGD Convention 2014 - <marker>31/10/2014</marker></example>
                <example>IGD Convention 2014 - <marker>31/10/2018</marker></example>
                <example>IGD Convention 2014 - <marker>31/10/2012</marker></example>
                <example>IGD Convention 2014 - <marker>10/09/2014</marker></example><!-- not correct, but ambiguous -->
                <example>IGD Convention 2014 - <marker>9/10/2014</marker></example><!-- not correct, but ambiguous -->
            </rule>
            <rule>
                <!-- "10/31/2014" -->
                <!-- the ambiguous forms have been antipatterned -->
                <antipattern>
                    &ambiguous_date;
                </antipattern>
                <pattern>
                    &date_mdy_numbers;
                </pattern>
                <filter class="org.languagetool.rules.en.NewYearDateFilter" args="year:\5 month:\1 day:\3"/>
                <message>A new year has begun. Did you mean <suggestion>\1/\3/{realYear}</suggestion>?</message>
                <example correction="10/31/2014">IGD Convention 2014 - <marker>10/31/2013</marker></example>
                <example>IGD Convention 2014 - <marker>10/31/2014</marker></example>
                <example>IGD Convention 2014 - <marker>10/31/2018</marker></example>
                <example>IGD Convention 2014 - <marker>10/31/2012</marker></example>
                <example>IGD Convention 2014 - <marker>10/09/2014</marker></example><!-- not correct, but ambiguous -->
                <example>IGD Convention 2014 - <marker>9/10/2014</marker></example><!-- not correct, but ambiguous -->
            </rule>
            <rule>
                <!-- "2014-10-31" -->
                <pattern>
                    <token regexp="yes">\d\d\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])</token>
                </pattern>
                <filter class="org.languagetool.rules.en.YMDNewYearDateFilter" args="date:\1"/>
                <message>A new year has begun. Did you mean <suggestion>{realDate}</suggestion>?</message>
                <example correction="2014-10-31">IGD Convention 2014 - <marker>2013-10-31</marker></example>
                <example>IGD Convention 2014 - <marker>2014-10-31</marker></example>
                <example>IGD Convention 2014 - <marker>2018-10-31</marker></example>
                <example>IGD Convention 2014 - <marker>2012-10-31</marker></example>
            </rule>
        </rulegroup>

        <rulegroup id="DATE_WEEKDAY" name="Weekday doesn't match date">
            <antipattern>
                <token regexp="yes">\d\d\d\d</token>
                <token>BC</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d\d\d\d</token>
                <token>B</token>
                <token>.</token>
                <token>C</token>
                <token>.</token>
            </antipattern>
            <rule>
                <pattern>
                    <!-- "Monday, 7 October 2014" -->
                    <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                    <token min="0">,</token>
                    &date_dmy;
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="year:\5 month:\4 day:\3 weekDay:\1"/>
                <message>The date \3 \4 \5 is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention - <marker>Monday, 7th October 2014</marker></example>
                <example correction="">IGD Convention - <marker>Monday 7th October 2014</marker></example>
                <example correction="">IGD Convention - <marker>Monday, 7 October 2014</marker></example>
                <example correction="">IGD Convention - <marker>Monday 7 October 2014</marker></example>
                <example correction="">IGD Convention - <marker>Mon, 7 October 2014</marker></example>
                <example correction="">IGD Convention - <marker>Mo, 7 October 2014</marker></example>
                <example correction="">IGD Convention - <marker>Monday, 7 Oct 2014</marker></example>
                <example>IGD Convention - <marker>Tuesday, 7 October 2014</marker></example>
                <example>IGD Convention - <marker>Tuesday, 7 Oct 2014</marker></example>
            </rule>
            <rule>
                <pattern>
                    <!-- "Monday, October 7, 2014", "Monday, October 7th, 2014" -->
                    <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                    <token>,</token>
                    &date_mdy_optional_comma;
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="year:\6 month:\3 day:\4 weekDay:\1"/>
                <message>The date \3 \4, \6 is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention - <marker>Monday, October 7th 2014</marker></example>
                <example correction="">IGD Convention - <marker>Monday, October 7 2014</marker></example>
                <example correction="">IGD Convention - <marker>Monday, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Mon, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Mo, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Wednesday, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Thursday, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Friday, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Saturday, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, October 7, 2014</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, Oct 7, 2014</marker></example>
                <example>IGD Convention - <marker>Tuesday, October 7, 2014</marker></example>
                <example>IGD Convention - <marker>Tuesday, Oct 7, 2014</marker></example>
            </rule>
            <!-- "Monday, 31/10/2014" -->
            <!-- the ambiguous forms have been antipatterned -->
            <rule>
                <antipattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    &ambiguous_date;
                </antipattern>
                <pattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    &date_dmy_numbers;
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="year:\7 month:\5 day:\3 weekDay:\1"/>
                <message>The date \3/\5/\7 is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention 2014 - <marker>Monday, 31/10/2014</marker></example>
                <example>IGD Convention 2014 - <marker>Friday, 31/10/2014</marker></example>
                <example>IGD Convention 2014 - <marker>Monday, 10/09/2014</marker></example><!-- not correct, but ambiguous -->
                <example>IGD Convention 2014 - <marker>Monday, 9/10/2014</marker></example><!-- not correct, but ambiguous -->
            </rule>
            <rule>
                <!-- "Monday, 10/31/2014" -->
                <!-- the ambiguous forms have been antipatterned -->
                <antipattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    &ambiguous_date;
                </antipattern>
                <pattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    &date_mdy_numbers;
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="year:\7 month:\3 day:\5 weekDay:\1"/>
                <message>The date \3/\5/\7 is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention 2014 - <marker>Monday, 10/31/2014</marker></example>
                <example>IGD Convention 2014 - <marker>Friday, 10/31/2014</marker></example>
                <example>IGD Convention 2014 - <marker>Monday, 10/09/2014</marker></example><!-- not correct, but ambiguous -->
                <example>IGD Convention 2014 - <marker>Monday, 9/10/2014</marker></example><!-- not correct, but ambiguous -->
            </rule>
            <rule>
                <!-- "Monday, 2014-10-31" -->
                <pattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    <token regexp="yes">\d\d\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])</token>
                </pattern>
                <filter class="org.languagetool.rules.en.YMDDateCheckFilter" args="date:\3 weekDay:\1"/>
                <message>The date \3 (YYYY-MM-DD) is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention 2014 - <marker>Monday, 2014-10-31</marker></example>
                <example>IGD Convention 2014 - <marker>Friday, 2014-10-31</marker></example>
            </rule>
        </rulegroup>

        <rulegroup id="DATE_WEEKDAY_WITHOUT_YEAR" name="Weekday doesn't match date for the current year">
            <antipattern>
                <token regexp="yes">\d\d\d\d</token>
                <token>BC</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d\d\d\d</token>
                <token>B</token>
                <token>.</token>
                <token>C</token>
                <token>.</token>
            </antipattern>

            <!-- prevent overlapping match with DATE_WEEKDAY -->
            <antipattern>
                <!-- "Monday, 7 October 2014" -->
                <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                <token>,</token>
                &date_dmy;
            </antipattern>
            <antipattern>
                <!-- "Monday, October 7, 2014" -->
                <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                <token>,</token>
                &date_mdy;
            </antipattern>
            <antipattern>
                <token regexp="yes">&weekdays;</token>
                <token>,</token>
                &date_dmy_numbers;
            </antipattern>
            <antipattern>
                <token regexp="yes">&weekdays;</token>
                <token>,</token>
                &date_mdy_numbers;
            </antipattern>

            <rule>
                <pattern>
                    <!-- "Monday, 7 October" -->
                    <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                    <token>,</token>
                    <token regexp="yes">\d\d?(st|nd|rd|th)?</token>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="month:\4 day:\3 weekDay:\1"/>
                <message>Did you mean to refer to the current year? \3 \4 {currentYear} is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention - <marker>Monday, 7 October</marker></example>
                <example correction="">IGD Convention - <marker>Mon, 7 October</marker></example>
                <example correction="">IGD Convention - <marker>Mo, 7 October</marker></example>
                <example correction="">IGD Convention - <marker>Monday, 7 Oct</marker></example>
                <example correction="">IGD Convention - <marker>Monday, 7th Oct</marker></example>
                <example>IGD Convention - <marker>Tuesday, 7 October</marker></example>
                <example>IGD Convention - <marker>Tuesday, 7 Oct</marker></example>
                <example>IGD Convention - <marker>Tuesday, 7th Oct</marker></example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes">\d\d?(st|nd|rd|th)?</token>
                    <token min="0">,</token>
                    <token regexp="yes">\d\d\d\d</token>
                </antipattern>
                <pattern>
                    <!-- "Monday, October 7" -->
                    <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
                    <token>,</token>
                    <token regexp="yes">&months;|&abbrevMonths;</token>
                    <token regexp="yes">\d\d?(st|nd|rd|th)?</token> <!-- validation of ordinal numbers may occur elsewhere -->
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="month:\3 day:\4 weekDay:\1"/>
                <message>Did you mean to refer to the current year? \3 \4, {currentYear} is not a {day}, but a {realDay}.</message>
                <example>IGD Convention - <marker>Thursday, October 7, 2021</marker></example>
                <example>IGD Convention - <marker>Thursday, October 7 2021</marker></example>
                <example correction="">IGD Convention - <marker>Monday, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Mon, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Mo, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Wednesday, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Thursday, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Friday, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Saturday, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, October 7</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, Oct 7</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, October 3rd</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, Oct 2rd</marker></example>
                <example correction="">IGD Convention - <marker>Sunday, Oct 1st</marker></example>
                <example>IGD Convention - <marker>Tuesday, October 7</marker></example>
                <example>IGD Convention - <marker>Tuesday, October 7th</marker></example>
                <example>IGD Convention - <marker>Tuesday, Oct 7</marker></example>
                <example>IGD Convention - <marker>Friday, Oct 3rd</marker></example>
                <example>IGD Convention - <marker>Thursday, Oct 2rd</marker></example>
                <example>IGD Convention - <marker>Wednesday, Oct 1st</marker></example>
            </rule>
            <!-- "Monday, 31/10" -->
            <!-- the ambiguous forms have been antipatterned -->
            <rule>
                <antipattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    <token regexp="yes">0?[1-9]|1[0-2]</token>
                    <token>/</token>
                    <token regexp="yes">0?[1-9]|1[0-2]</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
                    <token>/</token>
                    <token regexp="yes">0?[1-9]|1[0-2]</token>
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="month:\5 day:\3 weekDay:\1"/>
                <message>Did you mean to refer to the current year? \3/\5/{currentYear} is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention 2014 - <marker>Monday, 31/10</marker></example>
                <example>IGD Convention 2014 - <marker>Friday, 31/10</marker></example>
                <example>IGD Convention 2014 - <marker>Monday, 10/09</marker></example><!-- not correct, but ambiguous -->
                <example>IGD Convention 2014 - <marker>Monday, 9/10</marker></example><!-- not correct, but ambiguous -->
            </rule>
            <rule>
                <!-- "Monday, 10/31" -->
                <!-- the ambiguous forms have been antipatterned -->
                <antipattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    <token regexp="yes">0?[1-9]|1[0-2]</token>
                    <token>/</token>
                    <token regexp="yes">0?[1-9]|1[0-2]</token>
                </antipattern>
                <pattern>
                    <token regexp="yes">&weekdays;</token>
                    <token>,</token>
                    <token regexp="yes">0?[1-9]|1[0-2]</token>
                    <token>/</token>
                    <token regexp="yes">0?[1-9]|[12][0-9]|3[01]</token>
                </pattern>
                <filter class="org.languagetool.rules.en.DateCheckFilter" args="month:\3 day:\5 weekDay:\1"/>
                <message>Did you mean to refer to the current year? \3/\5/{currentYear} is not a {day}, but a {realDay}.</message>
                <example correction="">IGD Convention 2014 - <marker>Monday, 10/31</marker></example>
                <example>IGD Convention 2014 - <marker>Friday, 10/31</marker></example>
                <example>IGD Convention 2014 - <marker>Monday, 10/09</marker></example><!-- not correct, but ambiguous -->
                <example>IGD Convention 2014 - <marker>Monday, 9/10</marker></example><!-- not correct, but ambiguous -->
            </rule>
        </rulegroup>

        <rulegroup id="INVALID_DATE" name="Invalid date, like 'February 31, 2014'">
            <antipattern>
                <!-- DOI regex -->
                <token regexp="yes">10.\d{4,9}/[-._;()/:A-Z0-9]+</token>
            </antipattern>
            <rule>
                <pattern>
                    <!-- "June 31, 2014" -->
                    <marker>
                        <token regexp="yes">Apr(il)?|June?|September|Sept?|Nov(ember)?</token>
                        <token>31</token>
                    </marker>
                    <token>,</token>
                </pattern>
                <message>The month of \1 only has 30 days.</message>
                <example correction="">It happened on <marker>November 31</marker>, 2014.</example>
                <example>It happened on <marker>November 30</marker>, 2014.</example>
                <example>Band 89, Nr. 9, 2002, S. 1531–1546, DOI: 10.3732/ajb.89.9.1531.</example>
            </rule>
            <rule>
                <pattern>
                    <!-- "February 30, 2014" -->
                    <marker>
                        <token regexp="yes">Feb(ruary)?</token>
                        <token regexp="yes">3[01]</token>
                    </marker>
                    <token>,</token>
                </pattern>
                <message>February only has 28 days, or 29 days in leap years.</message>
                <example correction="">It happened on <marker>Feb 30</marker>, 2014.</example>
                <example>It happened on <marker>Feb 28</marker>, 2014.</example>
            </rule>
            <rule>
                <antipattern>
                    <!-- "Tuesday, November 9 - 1:00 to 3:00 pm" -->
                   <token regexp="yes">[–\-]</token>
                   <token regexp="yes">\d\d?</token>
                   <token spacebefore="no">:</token>
                   <token regexp="yes" spacebefore="no">\d\d?</token>
                </antipattern>
                <pattern>
                  <token regexp="yes">&months;</token>
                   <token regexp="yes">\d\d?</token>
                   <token regexp="yes">[–\-]</token>
                   <token regexp="yes">\d\d?</token>
                </pattern>
                <filter class="org.languagetool.rules.DateRangeChecker" args="x:\2 y:\4"/>
                <message>The starting day (\2) happens later than the final day (\4).</message>
                <short>Wrong date</short>
                <example>January 10 – 17, 2016</example>
                <example>Tuesday, November 9 - 1:00 to 3:00 pm</example>
                <example correction=""><marker>January 10 – 1</marker>, 2016.</example>
             </rule>
             <rule>
                <pattern>
                  <token regexp="yes">&months;</token>
                  <token>,</token>
                   <token regexp="yes">\d\d?</token>
                   <token regexp="yes">[–\-]</token>
                   <token regexp="yes">\d\d?</token>
                </pattern>
                <filter class="org.languagetool.rules.DateRangeChecker" args="x:\3 y:\5"/>
                <message>The starting day (\3) happens later than the final day (\5).</message>
                <short>Wrong date</short>
                <example>January 10 – 17, 2016</example>
                <example correction=""><marker>January, 10 – 1</marker>, 2016.</example>
             </rule>
        </rulegroup>
        <rulegroup id="ORDINAL_NUMBER_SUFFIX" name="wrong suffix of ordinal number">
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">([0-9]*)(11|12|13)(st|nd|rd)</token>
                </pattern>
                <filter class="org.languagetool.rules.en.OrdinalSuffixFilter" args="ignored:ignored"/>
                <message>The suffix does not match the ordinal number.</message>
                <suggestion>\1</suggestion><!-- filter will take care of it -->
                <example>This was my 1st try.</example>
                <example>This was my 2nd try.</example>
                <example>This was my 3rd try.</example>
                <example>This was my 4th try.</example>
                <example correction="11th">This was my <marker>11nd</marker> try.</example>
                <example correction="12th">This was my <marker>12nd</marker> try.</example>
                <example>This was my 100th try.</example>
                <example>This was my 101st try.</example>
                <example>This was my 102nd try.</example>
                <example>This was my 103rd try.</example>
                <example correction="111th">This was my <marker>111st</marker> try.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">[0-9]*11th</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">([0-9]*)(1)(nd|rd|th)</token>
                </pattern>
                <filter class="org.languagetool.rules.en.OrdinalSuffixFilter" args="ignored:ignored"/>
                <message>The suffix does not match the ordinal number.</message>
                <suggestion>\1</suggestion><!-- filter will take care of it -->
                <example correction="1st">This was my <marker>1nd</marker> try.</example>
                <example>This was my 2nd try.</example>
                <example>This was my 3rd try.</example>
                <example>This was my 4th try.</example>
                <example correction="11th">This was my <marker>11nd</marker> try.</example>
                <example>This was my 12th try.</example>
                <example>This was my 100th try.</example>
                <example correction="101st">This was my <marker>101nd</marker> try.</example>
                <example>This was my 102nd try.</example>
                <example>This was my 103rd try.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">[0-9]*12th</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">([0-9]*)(2)(st|rd|th)</token>
                </pattern>
                <filter class="org.languagetool.rules.en.OrdinalSuffixFilter" args="ignored:ignored"/>
                <message>The suffix does not match the ordinal number.</message>
                <suggestion>\1</suggestion><!-- filter will take care of it -->
                <example>This was my 1st try.</example>
                <example correction="2nd">This was my <marker>2th</marker> try.</example>
                <example>This was my 3rd try.</example>
                <example>This was my 4th try.</example>
                <example>This was my 11th try.</example>
                <example>This was my 100th try.</example>
                <example>This was my 101st try.</example>
                <example correction="102nd">This was my <marker>102rd</marker> try.</example>
                <example>This was my 103rd try.</example>
                <example>This was my 111th try.</example>
            </rule>
            <rule>
                <antipattern>
                    <token regexp="yes" case_sensitive="yes">[0-9]*13th</token>
                </antipattern>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">([0-9]*)(3)(st|nd|th)</token>
                </pattern>
                <filter class="org.languagetool.rules.en.OrdinalSuffixFilter" args="ignored:ignored"/>
                <message>The suffix does not match the ordinal number.</message>
                <suggestion>\1</suggestion><!-- filter will take care of it -->
                <example>This was my 1st try.</example>
                <example>This was my 2nd try.</example>
                <example correction="3rd">This was my <marker>3nd</marker> try.</example>
                <example>This was my 4th try.</example>
                <example>This was my 11th try.</example>
                <example>This was my 12th try.</example>
                <example>This was my 100th try.</example>
                <example>This was my 101st try.</example>
                <example>This was my 102dn try.</example>
                <example correction="103rd">This was my <marker>103th</marker> try.</example>
                <example>This was my 111th try.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" case_sensitive="yes">([0-9]*)([4-9]|0)(st|nd|rd)</token>
                </pattern>
                <filter class="org.languagetool.rules.en.OrdinalSuffixFilter" args="ignored:ignored"/>
                <message>The suffix does not match the ordinal number.</message>
                <suggestion>\1</suggestion><!-- filter will take care of it -->
                <example>This was my 1th try.</example>
                <example>This was my 2nd try.</example>
                <example>This was my 3rd try.</example>
                <example correction="4th">This was my <marker>4nd</marker> try.</example>
                <example>This was my 11th try.</example>
                <example>This was my 12th try.</example>
                <example correction="100th">This was my <marker>100nd</marker> try.</example>
                <example>This was my 101st try.</example>
                <example>This was my 102nd try.</example>
                <example>This was my 103rd try.</example>
                <example>This was my 111th try.</example>
                <example>One Churchill Place, Canary Wharf, London E14 5RD</example>
            </rule>
        </rulegroup>
        <rulegroup id="LIGHTYEAR" name="Light-year as a unit of time">
            <rule>
                <regexp>\b(light[- ]?years? ago)\b</regexp>
                <message>A light-year is a unit of length (not of time) used to express astronomical distances.</message>
                <url>https://www.merriam-webster.com/dictionary/light-year</url>
                <short>Semantic error</short>
                <example correction="">It all seems <marker>light-years ago</marker> now.</example>
                <example correction="">It all seems <marker>light years ago</marker> now.</example>
                <example correction="">It all seems <marker>lightyears ago</marker> now.</example>
                <example>A light-year is how astronomers measure distance in space.</example>
            </rule>
        </rulegroup>
        <rulegroup id="SQUARE_ROOT" name="square roots (2 solutions)">
            <rule>
                <pattern case_sensitive="yes">
                    <token>square</token>
                    <token>root</token>
                    <token>of</token>
                    <token regexp="yes">\d+</token>
                    <token>is</token>
                    <marker><token regexp="yes">\d+</token></marker>
                    <token><exception regexp="yes">and|or</exception></token>
                </pattern>
                <message>Every positive number technically has two square roots.</message>
                <suggestion>&#0177;\6</suggestion>
                <example correction="&#0177;3">The square root of 9 is <marker>3</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="TWICE_AS_COLD" name="Interval scale: doubling values ('twice as hot')">
            <rule>
                <pattern>
                    <token regexp="yes">twice|half|times</token>
                    <token>as</token>
                    <token regexp="yes">warm|hot|cold</token>
                </pattern>
                <message>Unless this expression refers to the Kelvin scale, it is not defined and probably makes no sense.</message> <!-- absolute -->
                <url>https://www.rasch.org/rmt/rmt214e.htm</url>
                <short>Semantic error</short>
                <example correction="">It's <marker>half as warm</marker> as it was yesterday.</example>
                <example correction="">If it's zero degrees outside and it becomes <marker>twice as cold</marker> it was before, what is the temperature?</example>
            </rule>
        </rulegroup>
    </category>

    <!-- ====================================================================== -->
    <!-- Plain English -->
    <!-- ====================================================================== -->
    <category id="PLAIN_ENGLISH" name="Plain English" type="style" default="off">
        <!-- main source https://en.wikipedia.org/wiki/List_of_plain_English_words_and_phrases -->
        <!-- some rules belonging to other categories included -->
        <!-- xxx marks optional edge tokens that cause an error if uncommented -->

        <rule id="BE_A_X_ONE" name="Possible wordiness: be a X one">
            <pattern>
                <token regexp="yes" inflected="yes">be|as</token>
                <token regexp="yes">an?</token>
                <token postag_regexp='yes' postag="J.*"/>
                <token>one</token>
            </pattern>
            <message><suggestion>\1 \3</suggestion> may be more concise.</message>
            <short>Possible wordiness</short>
            <example correction="is easy">This test <marker>is an easy one</marker>.</example>
        </rule>

        <rule id="ABUNDANCE" name="abundance">
            <pattern>
                <token>abundance</token>
            </pattern>
            <message>Use <suggestion>enough</suggestion> or <suggestion>plenty</suggestion>, or give specific amount.</message>
            <example correction="enough|plenty">There is an <marker>abundance</marker> of flowers in the meadow.</example>
            <example>The meadow of full of flowers.</example> <!-- ? -->
        </rule>

        <rule id="ACCEDE_TO" name="accede to (give in)">
            <pattern>
                <token inflected="yes">accede</token>
                <token>to</token>
            </pattern>
            <message>Unless it is a throne that is acceded to, change into <suggestion>allow, agree to or give in to</suggestion>.</message>
            <example correction="allow, agree to or give in to">He <marker>acceded to</marker> our demands.</example>
            <example>He gave in to our demands.</example>
        </rule>

        <rule id="ACCELERATE" name="accelerate">
            <pattern>
                <token inflected="yes">accelerate</token>
            </pattern>
            <message>Technical. Elsewhere replace with <suggestion>speed up</suggestion>.</message>
            <example correction="speed up">The car <marker>accelerated</marker> from traffic lights</example>
            <example>The car <marker>sped up</marker> from traffic lights</example>
        </rule>

        <rule id="ACCENTUATE" name="accentuate">
            <pattern>
                <token inflected="yes">accentuate</token>
            </pattern>
            <message>Replace with <suggestion>stress</suggestion> or <suggestion>emphasize</suggestion>.</message>
            <example correction="stress|emphasize">The harsh light <marker>accentuated</marker> the ruggedness of the landscape.</example>
            <example>The harsh light <marker>emphasized</marker> the ruggedness of the landscape.</example>
        </rule>

        <rule id="ACCOMMODATION" name="accommodation">
            <pattern>
                <token inflected="yes">accommodation</token>
            </pattern>
            <message><suggestion>room</suggestion>.</message>
            <example correction="Room"><marker>Accommodation</marker> available.</example>
            <example><marker>Room</marker> available.</example>
        </rule>

        <rule id="ACCOMPANY" name="accompany">
            <pattern>
                <token inflected="yes">accompany</token>
            </pattern>
            <message>If not in musical context, use <suggestion>go with</suggestion> or <suggestion>with</suggestion>.</message>
            <example correction="go with|with">You need to <marker>accompany</marker> him.</example>
            <example>You need to <marker>go with</marker> him.</example>
        </rule>

        <rule id="ACCOMPLISH" name="verb accomplish (do, archive, finish)">
            <pattern>
                <token postag="[^J][^J]" postag_regexp="yes" inflected="yes">accomplish</token>
            </pattern>
            <message>Try one of: <suggestion>do</suggestion> or <suggestion>achieve</suggestion> or <suggestion>finish</suggestion>.</message>
            <example correction="Do|Achieve|Finish"><marker>Accomplish</marker> your work!</example>
            <!-- <example correction="done">This work is <marker>accomplished</marker>.</example> -->
            <example>He is an accomplished musician.</example>
        </rule>

        <!-- accorded: given-->
        <!-- accordingly – Thus, so (as sentence adverb) -->

        <rule id="ACCRUE" name="verb accrue">
            <pattern>
                <token postag="V.*" postag_regexp="yes" inflected="yes">accrue</token>
            </pattern>
            <message>Use <suggestion>add</suggestion> or <suggestion>gain</suggestion>.</message>
            <example correction="add|gain">The deposit <marker>accrued</marker> interest.</example>
            <example>The deposit gained interest.</example>
        </rule>

        <rule id="ACCURATE" name="accurate">
            <pattern>
                <token>accurate</token>
            </pattern>
            <message>If it is not about aiming, use <suggestion>right</suggestion>; also <suggestion>detailed</suggestion> or <suggestion>correct</suggestion>.</message>
            <example correction="right|detailed|correct">We need <marker>accurate</marker> information.</example>
            <example>We need right and detailed information.</example>
        </rule>

        <!-- acquiesce – Agree -->

        <!-- acquire – get, develop -->
        <rule id="ACQUIRE" name="verb acquire (get, develop)">
            <pattern>
                <token postag="V.*" postag_regexp="yes" inflected="yes">acquire</token>
            </pattern>
            <message>A simple <suggestion>get</suggestion> is enough most of the time, sometimes <suggestion>develop</suggestion>.</message>
            <example correction="get|develop">He <marker>acquired</marker> all the tools he needed.</example>
            <example>He <marker>got</marker> all the tools he needed.</example>
        </rule>

        <!-- additional – Extra -->
        <!-- address – Discuss -->
        <!-- addressees – You -->
        <!-- adjacent to – Next to -->
        <!-- adjustment – Change, alteration -->
        <!-- admissible – Allowed, accepted -->
        <!-- advantageous – Helpful -->
        <!-- adversely impact on – Hurt, set back -->
        <!-- advise – Tell -->
        <!-- afford an opportunity – Allow, let -->
        <!-- aggregate – Total -->
        <!-- alleviate – Ease, reduce -->
        <!-- allocate – Divide -->
        <!-- all of – All -->

        <!-- all things considered -->
        <rule id="ALL_THINGS_CONSIDERED" name="all things considered (omit)">
            <pattern>
                <token>all</token>
                <token>things</token>
                <token>considered</token>
                <token>,</token>
            </pattern>
            <message>Remove as unnecessary.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction=""><marker>All things considered,</marker> Connecticut's woodlands are in better shape now than ever before.</example>
            <example><marker/>Connecticut's woodlands are in better shape now than ever before.</example>
        </rule>


        <!-- along the lines of – like -->
        <rule id="ALONG_THE_LINES_OF" name="along the lines of (like)">
            <pattern>
                <token>along</token>
                <token>the</token>
                <token>lines</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>like</suggestion>?</message>
            <example correction="like">I think my point is very much <marker>along the lines of</marker> his.</example>
            <example>I think my point is very much <marker>like</marker> his.</example>
        </rule>

        <!-- alternatively – Or -->
        <!-- ameliorate – Improve, help -->
        <!-- an absence of – No, none -->
        <!-- and particularly – Particularly -->
        <!-- and/or – Use either "and" or "or." -->
        <!-- anticipate – Expect -->
        <!-- a number of – Some -->
        <!-- applicant – You -->
        <!-- application – Use -->
        <!-- apparent – Clear, plain -->
        <!-- apprehend – Arrest -->
        <!-- appreciable – Many -->
        <!-- appropriate – Proper, right -->
        <!-- approximate – About -->
        <!-- arrive onboard – Arrive -->

        <!-- as a matter of fact - in fact, actually -->
        <rule id="AS_A_MATTER_OF_FACT" name="as a matter of fact (in fact, actually, omit) ">
            <pattern>
                <token>as</token>
                <token>a</token>
                <token>matter</token>
                <token>of</token>
                <token>fact</token>
            </pattern>
            <message>Replace with less wordy <suggestion>in fact</suggestion> or <suggestion>actually</suggestion>, or remove completely.</message>
            <example correction="In fact|Actually"><marker>As a matter of fact</marker>, dry-bulb temperature indicates the amount of heat in the air.</example>
            <example>Actually, dry-bulb temperature indicates the amount of heat in the air.</example>
        </rule>

        <!-- as a means of – To -->
        <!-- ascertain – Find out, learn -->

        <!-- as per our telephone conversation of this date – As we discussed this afternoon -->
        <rule id="AS_PER" name="as per (as, in accordance with) ">
            <pattern>
                <token>as</token>
                <token>per</token>
            </pattern>
            <message>Business jargon meaning <suggestion>in accordance with</suggestion>. Replace with <suggestion>as</suggestion> or modify the sentence.</message>
            <url>https://grammarist.com/usage/as-per/</url>
            <example correction="In accordance with|As"><marker>As per</marker> usual, he came late to work.</example>
            <example><marker>As</marker> usual, he came late to work.</example>
        </rule>

        <!-- as prescribed by – In, under -->


        <!-- as far as ... is concerned – (Omit) -->
        <!-- <rule default="off" id="AS_FAR_AS_X_IS_CONCERNED" name="as far as ... is concerned (omit)"> -->
        <!-- <pattern> -->
        <!-- <token min="0">,</token> -->
        <!-- <token>as</token> -->
        <!-- <token>far</token> -->
        <!-- <token skip="-1">as<exception scope="next">and</exception></token> -->
        <!-- <token>as</token> -->
        <!-- <token inflected="yes">I</token> -->
        <!-- <token inflected="yes">am</token> -->
        <!-- <token>concerned</token> -->
        <!-- <token min="0">,</token> -->
        <!-- </pattern> -->
        <!-- <message>Remove as unnecessary.</message> -->
        <!-- <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url> -->
        <!-- <example correction=""><marker>As far as I am concerned,</marker> there is no need for further protection of woodlands.</example> -->
        <!-- <example>There is no need for further protection of woodlands.</example> -->
        <!-- </rule> -->


        <!-- as to– Of, on, with, for, to, by, in, into -->

        <!-- as yet, as of yet – Yet -->
        <!-- <rule id="AS_OF_YET" name="as yet, as of yet (yet, still, so far)"> -->
        <!-- <pattern> -->
        <!-- <token>as</token> -->
        <!-- <token min="0">of</token> -->
        <!-- <token>yet</token> -->
        <!-- </pattern> -->
        <!-- <message>Wordy. Consider <suggestion>yet</suggestion>, <suggestion>still</suggestion>, or <suggestion>so far</suggestion>.</message> -->
        <!-- <url>https://grammarist.com/usage/as-yet-as-of-yet/</url> -->
        <!-- <example correction="yet">The place was sold for an <marker>as of yet</marker> unknown sum.</example> -->
        <!-- <example>The place was sold for a <marker>still</marker> unknown sum.</example> -->
        <!-- </rule> -->

        <!-- assist, assistance – Help -->
        <rule id="ASSIST_ASSISTANCE" name="assist, assistance (help)">
            <pattern>
                <token inflected="yes" regexp="yes">assist|assistance</token>
            </pattern>
            <message>Did you mean simpler <suggestion>help</suggestion>?</message>
            <example correction="help">Do you need any <marker>assistance</marker>?</example>
            <example>Do you need any <marker>help</marker>?</example>
            <example correction="help">May I <marker>assist</marker> you?</example>
            <example>May I <marker>help</marker> you?</example>
        </rule>

        <!-- at all times - always -->
        <rule id="AT_ALL_TIMES" name="at all times (always) ">
            <pattern>
                <token>at</token>
                <token>all</token>
                <token>times</token>
            </pattern>
            <message>Simply, <suggestion>always</suggestion>. Pay attention to place in the sentence.</message>
            <example correction="always">Kingfisher can be found near water <marker>at all times</marker></example>
            <example>Kingfisher can always be found near water.</example>
        </rule>

        <!-- at its discretion – Can, may -->
        <!-- attain – Meet -->
        <!-- attempt – Try -->

        <!-- at the present time, at this time, at this point in time, at the moment – now (currently) -->
        <rulegroup id="TIME_NOW" name="at the present time, at this time, at this point in time, at the moment (now, currently)">
            <rule>
                <pattern>
                    <token>at</token>
                    <token>the</token>
                    <token>present</token>
                    <token>time</token>
                </pattern>
                <message>Use <suggestion>now</suggestion>, <suggestion>for now</suggestion>, or if you really must, <suggestion>currently</suggestion></message>
                <example correction="Now|For now|Currently"><marker>At the present time</marker>, this Wiki is experimental.</example>
                <example><marker>For now</marker>, this Wiki is experimental.</example>
            </rule>
            <rule>
                <pattern>
                    <token>at</token>
                    <token>this</token>
                    <token>time</token>
                </pattern>
                <message>Use "now", or if you really must "currently". Sometimes a specific time is meant and "then" is better.</message>
                <example correction=""><marker>At this time</marker>, Churchill was serving as Chancellor of the Exchequer</example>
                <example>Churchill was then serving as Chancellor of the Exchequer</example>
            </rule>
            <rule>
                <pattern>
                    <token>at</token>
                    <token>this</token>
                    <token>point</token>
                    <token>in</token>
                    <token>time</token>
                </pattern>
                <message>Use <suggestion>now</suggestion>, or if you really must <suggestion>currently</suggestion></message>
                <example correction="now|currently">This document has no formal standing <marker>at this point in time</marker>.</example>
                <example>This document has no formal standing now.</example>
            </rule>
            <rule>
                <pattern>
                    <token>at</token>
                    <token>the</token>
                    <token>moment</token>
                </pattern>
                <message>Use <suggestion>now</suggestion>, or if you really must <suggestion>currently</suggestion></message>
                <example correction="Now|Currently"><marker>At the moment</marker>, I am taking a leave of absence from my work.</example>
                <example><marker>Now</marker>, I am taking a leave of absence from my work.</example>
            </rule>
        </rulegroup>


        <!-- at your earliest convenience – As soon as you can -->
        <rule id="AT_YOUR_EARLIEST_CONVENIENCE" name="at your earliest convenience (as soon as you can)">
            <pattern>
                <token>at</token>
                <token>your</token>
                <token>earliest</token>
                <token>convenience</token>
            </pattern>
            <message>Overly formal. Did you mean <suggestion>as soon as you can</suggestion>?</message>
            <example correction="as soon as you can">Please come <marker>at your earliest convenience</marker>.</example>
            <example>Please come <marker>as soon as you can</marker>.</example>
        </rule>

        <!-- authorize – Allow, let -->


        <!-- basis, on a – (omit) -->
        <!-- on a daily basis - daily -->
        <!-- on a X basis - Xly (where X is an adjective) -->
        <rule id="BASIS_ON_A" name="on a x basis">
            <pattern>
                <token>on</token>
                <token>a</token>
                <token />
                <token>basis</token>
            </pattern>
            <message>Replace with the proper adverbial form of <suggestion>\3ly</suggestion>.</message>
            <url>https://grammarist.com/usage/basis/</url>
            <example correction="regularly">We have been coming here <marker>on a regular basis</marker> for years.</example>
            <example>We have been coming here <marker>regularly</marker> for years.</example>
        </rule>

        <!-- on the basis of – by, from -->

        <!-- be advised – (omit) -->
        <rule id="BE_ADVISED" name="be advised">
            <pattern>
                <token postag="VB.?" postag_regexp="yes" inflected="yes">be</token>
                <token>advised</token>
            </pattern>
            <message>Remove wordy "\1 \2"</message>
            <example correction="">You <marker>are advised</marker> look after your belongings.</example>
            <example>Look after your belongings.</example>
        </rule>

        <!-- attributable to – Because -->
        <!-- because of the fact that – because, since -->
        <!-- by reason of – because -->
        <!-- due to the fact that – because, since -->
        <!-- be advised – (omit) -->
        <rule id="DUE_TO_THE_FACT" name="wordy phrase: due to the fact">
            <pattern>
                <token>due</token>
                <token>to</token>
                <token>the</token>
                <token>fact</token>
                <token>that</token>
            </pattern>
            <message>Remove wordy "\1 \2 \3 \4 \5"</message>
            <suggestion>because</suggestion>
            <url>https://brians.wsu.edu/2016/05/25/due-to-the-fact-that/</url>
            <short>Wordy phrase</short>
            <example correction="because">The experiment was halted <marker>due to the fact that</marker> funding was withdrawn.</example>
        </rule>
        <!-- in light of the fact that – because -->
        <!-- owing to the fact that – because, since -->
        <!-- reason ... is because – because -->
        <!-- whereas – because, since ??? not-->
        <rulegroup id="BECAUSE" name="Some phrases that can be simplified">
            <rule>
                <pattern>
                    <token>attributable</token>
                    <token>to</token>
                </pattern>
                <message>Did you mean <suggestion>because of</suggestion>?</message>
                <example correction="because of">His lack of conversation is <marker>attributable to</marker> his shyness.</example>
                <example>His lack of conversation is <marker>because of</marker> his shyness.</example>
            </rule>
            <!-- <rule> -->
            <!-- because of the fact that -->
            <!-- <pattern> -->
            <!-- <token>because</token> -->
            <!-- <token>of</token> -->
            <!-- <token>the</token> -->
            <!-- <token>fact</token> -->
            <!-- <token>that</token> -->
            <!-- </pattern> -->
            <!-- <message>Did you mean <suggestion>because</suggestion> or <suggestion>since</suggestion>?</message> -->
            <!-- <example correction="because|since">Snape disliked them. This could be <marker>because of the fact that</marker> the Weasley twins were trouble-makers.</example> -->
            <!-- <example>Snape disliked them. This could be <marker>because</marker> the Weasley twins were trouble-makers.</example> -->
            <!-- </rule> -->
            <rule>
                <pattern>
                    <token regexp="yes">in|by</token>
                    <token regexp="yes">light|virtue</token>
                    <token>of</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion> or <suggestion>since</suggestion>?</message>
                <example correction="because|since">Nader had to cancel his planned invasion <marker>in light of the fact that</marker> the Abdali Afghans had rebelled and invaded Khorasan.</example>
                <example>Nader had to cancel his planned invasion <marker>because</marker> the Abdali Afghans had rebelled and invaded Khorasan.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>by</token>
                    <token>reason</token>
                    <token>of</token>
                    <token>insanity</token>
                </antipattern>
                <pattern>
                    <token>by</token>
                    <token>reason</token>
                    <token>of</token>
                </pattern>
                <message>Legal term "by reason of insanity" is influencing the use. Did you mean <suggestion>because of</suggestion>?</message>
                <example correction="because of">A national emergency exists <marker>by reason of</marker> the terrorist attacks.</example>
                <example>A national emergency exists <marker>because of</marker> the terrorist attacks.</example>
            </rule>
            <rule>
                <pattern>
                    <token>due</token>
                    <token>to</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">These two syndromes are usually referred to under one name, Wernicke–Korsakoff syndrome, <marker>due to the fact that</marker> they are part of the same etiology.</example>
                <example>These two syndromes are usually referred to under one name, Wernicke–Korsakoff syndrome, <marker>because</marker> they are part of the same etiology.</example>
            </rule>
            <rule>
                <pattern>
                    <token>owing</token>
                    <token>to</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Did you mean <suggestion>because</suggestion>?</message>
                <example correction="because">The Stoors also had their own dialect of Hobbitish, <marker>owing to the fact that</marker> they spent some time in Dunland.</example>
                <example>The Stoors also had their own dialect of Hobbitish, <marker>because</marker> they spent some time in Dunland.</example>
            </rule>
            <!-- <rule> -->
            <!-- reason ... is because -->
            <!-- <pattern> -->
            <!-- <token>the</token> -->
            <!-- <token skip="-1">reason<exception scope="next">and</exception></token> -->
            <!-- <token/> -->
            <!-- <token>is</token> -->
            <!-- <token>because</token> -->
            <!-- </pattern> -->
            <!-- <message>Did you mean <suggestion>because</suggestion>?</message> -->
            <!-- <example correction=""><marker>The reason</marker> there’s a hole in the screen door is because I tripped over the cat on my way out.</example> -->
            <!-- <example>There’s a hole in the screen door because I tripped over the cat on my way out.</example> -->
            <!-- </rule> -->
        </rulegroup>


        <!-- beg – ask -->


        <!-- belated – late -->
        <rule id="BELATED" name="belated (late)">
            <pattern>
                <token>belated</token>
            </pattern>
            <message>Outdated. Did you mean <suggestion>late</suggestion>?</message>
            <example correction="late">They are on a <marker>belated</marker> honeymoon.</example>
            <example>They are on a <marker>late</marker> honeymoon.</example>
        </rule>

        <!-- beneficial – helpful, useful -->
        <!-- bestow – give, award -->

        <!-- by means of – by, with, through -->
        <rule id="BY_MEANS_OF" name="by means of (by, with, through)">
            <pattern>
                <token>by</token>
                <token>means</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>by</suggestion>, <suggestion>with</suggestion> or <suggestion>through</suggestion>?</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="by|with|through">Major forest areas are coming back <marker>by means of</marker> natural processes.</example>
            <example>Major forest areas are coming back <marker>through</marker> natural processes.</example>
            <example correction="by|with|through">I opened the bottle <marker>by means of</marker> a bottle opener.</example>
            <example>I opened the bottle <marker>with</marker> a bottle opener.</example>
        </rule>

        <!-- by virtue of – by, under -->
        <!-- beverage – drink -->
        <!-- capability – ability -->
        <!-- caveat – warning -->
        <!-- cease – stop -->
        <!-- chauffeur – driver -->

        <!-- clearly, obviously – (omit) -->
        <rule id="CLEARLY_OR_OBVIOUSLY" name="clearly, obviously">
            <pattern>
                <token regexp="yes">clearly|obviously|doubtlessly</token>
            </pattern>
            <message>Something that is clear to you is not always clear to the reader. Remove "\1" unless it is necessary.</message>
            <url>https://cgi.duke.edu/web/sciwriting/index.php?action=lesson3</url>
            <short>Possibly demeaning adverb</short>
            <example correction=""><marker>Obviously</marker>, this is important.</example>
            <example>This is important.</example>
            <example correction="">We have <marker>clearly</marker> arrived.</example>
            <example>We have arrived.</example>
        </rule>

        <!-- combat environment – combat -->
        <!-- combined – joint -->
        <!-- commence – Begin or start -->
        <!-- completely revoke – revoke -->
        <!-- comply with – follow -->
        <!-- complete – fill in -->
        <!-- component part – -->
        <!-- comprise – form -->
        <!-- conceal – hide -->
        <!-- concerning – about, on -->
        <!-- consensus, of opinion, consensus, general – consensus -->
        <!-- consequently – so -->
        <!-- consolidate – join, merge -->
        <!-- constitutes – is, forms, makes up -->
        <!-- contains – has -->
        <!-- convene – meet -->
        <!-- corridor – hall -->

        <!-- currently – (omit), now -->
        <rule id="CURRENTLY" name="currently">
            <pattern>
                <token>currently</token>
            </pattern>
            <message>Omit or replace with <suggestion>now</suggestion></message>
            <example correction="now">I am <marker>currently</marker> employed.</example>
            <example>I am now employed.</example>
        </rule>

        <!-- deem – believe, think -->
        <!-- delete – cut, drop -->
        <!-- demonstrate – prove, show -->
        <!-- depart – leave, go -->
        <!-- designate – choose, name -->
        <!-- desire – want, wish -->
        <!-- determine – decide, figure, find -->
        <!-- disclose – show -->
        <!-- discontinue – drop, stop -->
        <!-- disseminate – give, issue, pass, send -->
        <!-- does not have – lacks -->
        <!-- does not include – excludes, omits -->

        <!-- duly (authorized, signed) – (omit) -->
        <!-- during the period, during the time that – during, while -->

        <!-- each and every – (omit) -->
        <rule id="EACH_AND_EVERY_NOUN" name="each and every (every)">
            <!-- more general pattern than in rule EACH_AND_EVERY -->
            <pattern>
                <token>each</token>
                <token>and</token>
                <token>every</token>
                <token postag="N.*" postag_regexp="yes"/>
            </pattern>
            <message>Replace with <suggestion>\3 \4</suggestion></message>
            <example correction="every door">You better check <marker>each and every door</marker>.</example>
            <example>You better check <marker>every door</marker>.</example>
        </rule>

        <!-- early beginnings) – beginnings, early days -->
        <!-- each...apiece) – each -->
        <!-- economical – cheap -->
        <!-- effect modifications – make changes -->
        <!-- elect – chose, pick -->
        <!-- eliminate – cut, drop, end -->
        <!-- else but, else than) – but -->
        <!-- elucidate – explain -->
        <!-- emphasize – stress -->
        <!-- employ – use -->
        <!-- enclosed please find – I have enclosed -->
        <!-- encounter – meet -->
        <!-- endeavor – try -->

        <!-- enquiry – question -->
        <!-- ensure – make sure -->
        <!-- entitlement – right -->
        <!-- enumerate – count -->
        <!-- equally as – equally -->
        <!-- equipments – equipment -->
        <!-- equitable – fair -->
        <!-- equivalent – equal -->
        <!-- establish – set up, prove, show -->
        <!-- evaluate – test, check -->
        <!-- evidenced – showed -->
        <!-- evident – (omit), clear -->
        <!-- evince – show, prove -->
        <!-- excluding – except -->
        <!-- exclusively – only -->
        <!-- exhibit – show -->
        <!-- expedite – hurry -->
        <!-- expeditious – fast, quick -->
        <!-- expend – spend -->
        <!-- expertise – ability -->
        <!-- expiration – end -->
        <!-- facilitate – ease, help -->
        <!-- feasible – workable -->
        <!-- females – women -->
        <!-- finalize – complete, finish -->
        <!-- first(ly), second(ly), third(ly) – first, second, third -->
        <!-- first and foremost – first -->
        <!-- following – after -->
        <!-- for a period of – for -->
        <!-- for example,______etc. – for example, such as -->
        <!-- forfeit – lose, give up -->
        <!-- formulate – plan -->

        <!-- for all intents and purposes -->
        <rule id="FOR_ALL_INTENTS_AND_PURPOSES" name="for all intents and purposes (omit)">
            <pattern>
                <!-- <token min="0">,</token> -->
                <token>for</token>
                <token>all</token>
                <token>intents</token>
                <token>and</token>
                <token>purposes</token>
                <!-- <token min="0">,</token> -->
            </pattern>
            <message>See if you could remove this phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="">The era in which we must aggressively defend our woodlands has, <marker>for all intents and purposes</marker>, passed.</example>
            <example>The era in which we must aggressively defend our woodlands has<marker/> passed.</example>
        </rule>

        <!-- for the most part -->
        <rule id="FOR_THE_MOST_PART" name="for the most part (omit)">
            <pattern>
                <!-- <token min="0">,</token> -->
                <token>for</token>
                <token>the</token>
                <token>most</token>
                <token>part</token>
                <!-- <token min="0">,</token> xxx-->
            </pattern>
            <message>See if you could remove this phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction=""><marker>For the most part</marker> people's suspicions are based on a misunderstanding of the facts.</example>
            <example><marker/>People's suspicions are based on a misunderstanding of the facts.</example>
        </rule>


        <!-- for the purpose of, – to , for -->
        <rule id="FOR_THE_PURPOSE_OF" name="for the purpose of (to, for)">
            <pattern>
                <token>for</token>
                <token>the</token>
                <token>purpose</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>to</suggestion> or <suggestion>for</suggestion>?</message>
            <url>https://grammarist.com/usage/for-the-purpose-of/</url>
            <example correction="to|for">Commercial shows are one-off projects put on <marker>for the purpose of</marker> making money.</example>
            <example>Commercial shows are one-off projects put on <marker>to</marker> make money.</example>
            <example correction="to|for">She created an account <marker>for the purpose of</marker> asking questions at the forum.</example>
            <example>She created an account <marker>for</marker> asking questions at the forum.</example>
        </rule>


        <!-- forward – send -->
        <!-- frequently – often -->
        <!-- function – act, role, work -->
        <!-- furnish – give, send -->

        <!-- have the ability to - can -->
        <rule id="HAVE_THE_ABILITY_TO" name="have the ability to (be able to, can)">
            <!-- fix in rule ARE_ABLE_TO: ass inflected="yes" to verb-->
            <pattern>
                <token inflected="yes">have</token>
                <token>the</token>
                <token>ability</token>
                <token>to</token>
            </pattern>
            <message>Did you mean <suggestion>can</suggestion>?</message>
            <example correction="can">The toddle <marker>has the ability to</marker> walk.</example>
            <example>The toddle <marker>can</marker> walk.</example>
        </rule>

        <!-- have a tendency to - tends -->
        <rule id="HAVE_A_TENDENCY" name="have a tendency (tends)">
            <pattern>
                <token inflected="yes">have</token>
                <token>a</token>
                <token>tendency</token>
            </pattern>
            <message>Did you mean <suggestion>tends</suggestion>?</message>
            <example correction="tends">This policy <marker>has a tendency</marker> to isolate some communities.</example>
            <example>This policy <marker>tends</marker> to isolate some communities.</example>
        </rule>

        <!-- has a duty to – must -->
        <!-- has a requirement for – needs -->
        <!-- herein, heretofore, herewith, thereof, wherefore, wherein –(omit) -->
        <!-- honest truth – truth -->
        <!-- however – but, yet -->
        <!-- identical – same -->
        <!-- identify –find, name -->
        <!-- identify with –agree, understand -->
        <!-- if and when – use either word; not both -->
        <!-- immediately – at once -->
        <!-- impacted – affected,changed -->
        <!-- implement – carry out, start -->
        <!-- in accordance with – by, under -->
        <!-- in addition – also, besides, too -->
        <!-- in all likelihood – probably -->
        <!-- in an effort to – to -->
        <!-- inasmuch – since -->

        <!-- in a manner of speaking -->
        <rule id="IN_A_MANNER_OF_SPEAKING" name="in a manner of speaking (omit)">
            <pattern>
                <!-- <token min="0">,</token> -->
                <token>in</token>
                <token>a</token>
                <token>manner</token>
                <token>of</token>
                <token>speaking</token>
                <!-- <token min="0">,</token> xxx-->
            </pattern>
            <message>See if you could remove this phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="">The policy has, <marker>in a manner of speaking</marker>, begun to Balkanize the more rural parts of our state.</example>
            <example>The policy has<marker/> begun to Balkanize the more rural parts of our state.</example>
        </rule>

        <!-- in between – between -->

        <!-- in a very real sense (omit) -->
        <rule id="IN_A_VERY_REAL_SENSE" name="in a very real sense (omit)">
            <pattern>
                <!-- <token min="0">,</token> -->
                <token>in</token>
                <token>a</token>
                <token>very</token>
                <token>real</token>
                <token>sense</token>
                <!-- <token min="0">,</token> xxx-->
            </pattern>
            <message>See if you could remove this phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction=""><marker>In a very real sense</marker>, this policy works to the detriment of those it is supposed to help.</example>
            <example><marker/>This policy works to the detriment of those it is supposed to help.</example>
        </rule>


        <!-- inception – start -->
        <!-- in connection with – with, about -->
        <!-- incumbent upon – must -->
        <!-- indicate – say, state, or show -->
        <!-- indication – sign -->
        <!-- individual – person -->

        <!-- in excess of – more than -->
        <rule id="in_excess_of" name="in excess of (more than, over, exceeding)">
            <pattern>
                <token>in</token>
                <token>excess</token>
                <token>of</token>
            </pattern>
            <message>Better with <suggestion>more than</suggestion>, <suggestion>over</suggestion>, or <suggestion>exceeding</suggestion></message>
            <url>https://grammarist.com/usage/in-excess-of/</url>
            <example correction="more than|over|exceeding">Her three albums have sold <marker>in excess of</marker> 17 million copies worldwide</example>
            <example>Her three albums have sold <marker>more than</marker> 17 million copies worldwide</example>
        </rule>

        <!-- in favor of – for -->
        <!-- initial – first -->
        <!-- initiate – start -->
        <!-- in lieu of – instead -->

        <!-- in many cases – often -->

        <!-- in my opinion (omit) -->
        <rule id="IN_MY_OPINION" name="in my opinion (omit)">
            <pattern>
                <!-- <token min="0">,</token> -->
                <token>in</token>
                <token>my</token>
                <token>opinion</token>
                <!-- <token min="0">,</token> xxx-->
            </pattern>
            <message>See if you could remove this phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction=""><marker>In my opinion</marker>, this wasteful policy ought to be revoked.</example>
            <example><marker/>This wasteful policy ought to be revoked.</example>
        </rule>


        <!-- in order that – for, so -->

        <!-- in order to – to (duplicate)-->
        <!-- <rule id="IN_ORDER_TO" name="in order to (to)"> -->
        <!-- <pattern> -->
        <!-- <token>in</token> -->
        <!-- <token>order</token> -->
        <!-- <token>to</token> -->
        <!-- </pattern> -->
        <!-- <message>Did you mean <suggestion>to</suggestion>?</message> -->
        <!-- <example correction="to">She stood <marker>in order to</marker> see over the crowd.</example> -->
        <!-- <example>She stood <marker>to</marker> see over the crowd.</example> -->
        <!-- </rule> -->

        <!-- inquire – person -->

        <!-- in regard(s) to – regarding, about, concerning, on. Refer to WITH_OR_IN_REFERENCE_OR_REGARD_TO -->

        <!-- in relation to – about, with, to -->
        <!-- in some instances – sometimes -->
        <!-- inside of – inside -->
        <!-- institute legal proceedings against, bring action against – sue -->
        <!-- inter alia – (omit) -->
        <!-- interface – meet, work with -->

        <!-- in terms of – in, for -->
        <rule id="IN_TERMS_OF" name="in terms of (in, for)">
            <pattern>
                <token>in</token>
                <token>terms</token>
                <token>of</token>
            </pattern>
            <message>Change to <suggestion>in</suggestion> or <suggestion>for</suggestion>.</message>
            <url>https://www.e-education.psu.edu/styleforstudents/c3_p35.html</url>
            <example correction="in|for">Disclaimers vary <marker>in terms of</marker> their uniformity.</example>
            <example>Disclaimers vary <marker>in</marker> their uniformity.</example>
        </rule>

        <!-- interpose no objection – don't object -->

        <rulegroup id="DESPITE_THE_FACT" name="despite the fact that, in spite of the fact that (although, though)">
            <url>https://www.englishgrammar.org/spite-3/</url>
            <rule>
                <!-- despite the fact that – although -->
                <pattern>
                    <token>despite</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Did you mean <suggestion>although</suggestion>, <suggestion>even though</suggestion> or <suggestion>though</suggestion>?</message>
                <example correction="although|even though|though">He still loves her <marker>despite the fact that</marker> she cheated on him.</example>
                <example>He still loves her <marker>even though</marker> she cheated on him.</example>
            </rule>
            <rule>
                <!-- in spite of the fact that - although, though -->
                <pattern>
                    <token>in</token>
                    <token>spite</token>
                    <token>of</token>
                    <token>the</token>
                    <token>fact</token>
                    <token>that</token>
                </pattern>
                <message>Did you mean <suggestion>although</suggestion>, <suggestion>even though</suggestion> or <suggestion>though</suggestion>?</message>
                <example correction="although|even though|though">He still loves her <marker>in spite of the fact that</marker> she cheated on him.</example>
                <example>He still loves her <marker>even though</marker> she cheated on him.</example>
            </rule>
        </rulegroup>


        <!-- in the affirmative - yes, affirmatively -->
        <rule id="IN_THE_AFFIRMATIVE" name="in the affirmative (yes, affirmatively)">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token>affirmative</token>
            </pattern>
            <message>Change to <suggestion>yes</suggestion> or <suggestion>affirmatively</suggestion>.</message>
            <url>https://grammarist.com/usage/in-the-affirmative/</url>
            <example correction="yes|affirmatively">The poll asked average Israelis if they support such a program, and 82 percent responded <marker>in the affirmative</marker>.</example>
            <example>The poll asked average Israelis if they support such a program, and 82 percent responded <marker>yes</marker>.</example>
        </rule>

        <!-- in the amount of – for -->

        <!-- case of, in the – (omit) -->
        <!-- in the case of – about, to -->
        <rule id="IN_THE_CASE_OF" name="in the case of (about, to)">
            <pattern>
                <!-- <token min="0">,</token> -->
                <token>in</token>
                <token>the</token>
                <token>case</token>
                <token>of</token>
                <!-- <token min="0">,</token> -->
            </pattern>
            <message>Change to <suggestion>about</suggestion> or <suggestion>to</suggestion> and change the word order of the sentence.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="About|To"><marker>In the case of</marker> this particular policy, citizens of northeast Connecticut became very upset.</example>
            <example>Citizens of northeast Connecticut became very upset <marker>about</marker> this particular policy.</example>
            <example correction="About|To"><marker>In the case of</marker> this woman, we'll not grant permission.</example>
            <example>We'll not grant permission <marker>to</marker> this woman.</example>
        </rule>


        <!-- in the event of – if -->
        <!-- in the event that – if, in case -->
        <rule id="IN_THE_EVENT" name="in the event of, in the event that (if, in case)">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token>event</token>
                <token regexp="yes">of|that</token>
            </pattern>
            <message>Did you mean <suggestion>if</suggestion> or <suggestion>in case of</suggestion>?</message>
            <example correction="If|In case of"><marker>In the event that</marker> I can't come back by seven, you can eat without me.</example>
            <example><marker>If</marker> I can't come back by seven, you can eat without me.</example>

            <example correction="If|In case of"><marker>In the event of</marker> rain, the race will be cancelled.</example>
            <example correction="If|In case of"><marker>In the event that</marker> it rains, the race will be canceled.</example>
            <example><marker>If</marker> it rains, the race will be canceled.</example>
        </rule>

        <!-- in the final analysis - finally -->
        <rule id="IN_THE_FINAL_ANALYSIS" name="in the final or last or ultimate analysis (finally, in conclusion)">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token regexp="yes">final|last|ultimate</token>
                <token>analysis</token>
            </pattern>
            <message>Did you mean <suggestion>finally</suggestion> or <suggestion>in conclusion</suggestion>? You could remove the phase, too.</message>
            <example correction="Finally|In conclusion"><marker>In the final analysis</marker>, it is their war.</example>
            <example><marker>Finally</marker>, it is their war.</example>
            <example correction="Finally|In conclusion"><marker>In the ultimate analysis</marker>, only the jury can strip a man of his liberty or his life.</example>
            <example><marker>In conclusion</marker>, only the jury can strip a man of his liberty or his life.</example>
        </rule>

        <!-- in the nature of – like -->
        <rule id="IN_THE_NATURE_OF" name="in the nature of (like)">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token>nature</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>like</suggestion>?</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="like">Something <marker>in the nature of</marker> a repeal may soon take place.</example>
            <example>Something <marker>like</marker> a repeal may soon take place.</example>
        </rule>

        <!-- in the near future – shortly, soon -->

        <!-- in the neighborhood of - about -->
        <rule id="IN_THE_NEIGHBORHOOD_OF" name="in the neighborhood of (about)">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token>neighborhood</token>
                <token>of</token>
            </pattern>
            <message>Can be used as <suggestion>almost</suggestion>, <suggestion>approximately</suggestion>, <suggestion>more or less</suggestion>, <suggestion>around</suggestion>. Often <suggestion>about</suggestion>.</message>
            <example correction="almost|approximately|more or less|around|about">They searched for the keys <marker>in the neighborhood of</marker> the playground.</example>
            <example>They searched for the keys <marker>around</marker> the playground.</example>
            <example correction="almost|approximately|more or less|around|about">Residents planted 1200 trees in one day <marker>in the neighborhood of</marker> Ballard.</example>
            <example>Residents planted 1200 trees in one day <marker>around</marker> Ballard.</example>
        </rule>


        <!-- in the process of – (omit) -->
        <rule id="IN_THE_PROCESS_OF" name="in the process of">
            <pattern>
                <token>in</token>
                <token>the</token>
                <token>process</token>
                <token>of</token>
            </pattern>
            <message>Possibly empty phrase "\1 \2 \3 \4" when it means "currently".</message>
            <url>https://grammarist.com/usage/in-the-process-of/</url>
            <example correction="">The work is <marker>in the process of</marker> getting done.</example>
            <example>The work is getting done.</example>
        </rule>

        <!-- in view of – since -->
        <!-- in view of the above – so -->
        <!-- irregardless – regardless -->
        <!-- is applicable to – applies to -->
        <!-- is authorized to – may -->
        <!-- is in consonance with – agrees with, follows -->
        <!-- is responsible for – (omit) handles -->

        <!-- it is – (omit) -->
        <!-- it is essential – must, need to -->
        <!-- it is requested – please, we request, I request -->
        <!-- it is important to add that, in this regard it is of significance that,
        it may be recalled that, it is interesting to point out that – (omit) -->

        <!-- it appears – seems -->
        <!-- it seems that -->
        <rule id="IT_SEEMS_OR_APPEARS_THAT" name="it seems that (omit)">
            <pattern>
                <token>it</token>
                <token regexp="yes">seems|appears</token>
                <token>that</token>
            </pattern>
            <message>Possibly empty phrase "\1 \2 \3"</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction=""><marker>It seems that</marker> they can't wait to get rid of this one.</example>
            <example><marker/>They can't wait to get rid of this one.</example>
        </rule>

        <!-- liaison – discussion -->
        <!-- -ly (doubtless, fast, ill, much, seldom, thus) – (omit) -->
        <!-- last will and testament – will -->
        <!-- magnitude – size -->
        <!-- maintain – keep, support -->

        <!-- in the majority of instances – usually -->
        <!-- majority – most (except for voting) -->
        <rule id="MAJORITY" name="majority (most, usually) when not voting">
            <pattern>
                <!-- <token min="0">the</token> -->
                <token>majority</token>
            </pattern>
            <message>Majority in the sense of "more than half" is used with countable nouns only (esp. when voting); for uncountable nouns, use <suggestion>most</suggestion> or <suggestion>usually</suggestion>.</message>
            <example correction="Most|Usually"><marker>Majority</marker> of the world is covered with water.</example>
            <example><marker>Most</marker> of the world is covered with water.</example>
        </rule>

        <!-- make a mockery of – (omit) -->

        <!-- make decisions about - decide on -->
        <rule id="MAKE_DECISIONS_ABOUT" name="make decisions about (decide on)">
            <pattern>
                <token>make</token>
                <token inflected="yes">decision</token>
                <token>about</token>
            </pattern>
            <message>Did you mean <suggestion>decide on</suggestion>?</message>
            <example correction="decide on">The school board will <marker>make decision about</marker> the first day of school.</example>
            <example>The school board will <marker>decide on</marker> the first day of school.</example>
        </rule>

        <!-- make an attempt, make an effort – try -->
        <rule id="MAKE_AN_ATTEMPT" name="make an attempt/effort/try (try)">
            <pattern>
                <token inflected="yes">make</token>
                <token regexp="yes">an?</token>
                <token regexp="yes">attempt|effort|try</token>
            </pattern>
            <message>Can you write <suggestion><match no="1" postag_regexp="yes" postag="(VB.*)" postag_replace="$1">try</match></suggestion> and still be correct?</message>
            <short>Possible wordiness</short>
            <example correction="try">We should <marker>make an effort</marker> to win.</example>
            <example>We should <marker>try</marker> to win.</example>
            <example correction="trying">He's <marker>making an attempt</marker> to win the gold medal.</example>
            <example>He's trying to win the gold medal.</example>
            <example correction="tried">Others at least <marker>made a try</marker> to get into a good job.</example>
            <example type="triggers_error">Evan Browne needed to <marker>make a try</marker> saving tackle just short of the try line.</example><!-- A few instances on COCA. The usual rugby term is 'score a try'. -->
        </rule>

        <!-- make reference to – refer -->
        <!-- maximum – greatest, largest, most -->
        <!-- mental attitude – attitude -->
        <!-- merge together – merge -->
        <!-- methodology – method -->
        <!-- minimize – decrease, method -->
        <!-- minimum – least, smallest -->
        <!-- modify – change -->
        <!-- monitor – check, watch -->
        <!-- month + of + year – March 2013 -->
        <!-- moreover – what's more -->
        <!-- multiple – many -->
        <!-- nature, of a – (omit) -->
        <!-- necessitate – cause, need -->
        <!-- nevertheless – still, besides, even so -->
        <!-- notify – let know, tell -->

        <!-- not able – unable -->
        <rule id="NOT_ABLE" name="not able (unable)">
            <pattern>
                <token>not</token>
                <token>able</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>unable</suggestion>?</message>
            <example correction="unable">He was <marker>not able</marker> to join the meeting.</example>
            <example>He was <marker>unable</marker> to join the meeting.</example>
        </rule>

        <!-- not accept – reject -->
        <rule id="NOT_ACCEPT" name="not accept (reject)">
            <pattern>
                <token>not</token>
                <token inflected="yes">accept</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>reject</suggestion>?</message>
            <example correction="reject">He does <marker>not accept</marker> the proposal.</example>
            <example>He <marker>rejects</marker> the proposal.</example>
        </rule>

        <!-- not certain – uncertain -->
        <rule id="NOT_CERTAIN" name="not certain (uncertain)">
            <pattern>
                <token>not</token>
                <token>certain</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>uncertain</suggestion>?</message>
            <example correction="uncertain">Future is <marker>not certain</marker>.</example>
            <example>Future is <marker>uncertain</marker>.</example>
        </rule>

        <!-- not unlike – similar, alike : litote -->
        <rule id="NOT_UNLIKE" name="not unlike (similar, alike)">
            <pattern>
                <token>not</token>
                <token>unlike</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>similar</suggestion> or <suggestion>alike</suggestion>?</message>
            <example correction="similar|alike">Sisters were <marker>not unlike</marker>.</example>
            <example>Sisters were <marker>alike</marker>.</example>
        </rule>


        <!-- not many – few -->
        <rule id="NOT_MANY" name="not many (few)">
            <pattern>
                <token>not</token>
                <token>many</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>few</suggestion>?</message>
            <example correction="Few"><marker>Not many</marker> people know this.</example>
            <example><marker>Few</marker> people know this.</example>
        </rule>

        <!-- not often – seldom, rare, rarely -->
        <rule id="NOT_VERY_OFTEN" name="not often, not very often (seldom. rare, rarely)">
            <pattern>
                <token>not</token>
                <token min="0">very</token>
                <token>often</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>seldom</suggestion>, <suggestion>rare</suggestion> or <suggestion>rarely</suggestion>?</message>
            <example correction="seldom|rare|rarely">It is <marker>not very often</marker> that a hotel exceeds your expectations.</example>
            <example>It is <marker>rare</marker> that a hotel exceeds your expectations.</example>
        </rule>

        <!-- not the same – different -->
        <rule id="NOT_THE_SAME" name="not the same (different)">
            <pattern>
                <token>not</token>
                <token>the</token>
                <token>same</token>
            </pattern>
            <message>Avoid using "not". Did you mean <suggestion>different</suggestion>?</message>
            <example correction="different">The taste is <marker>not the same</marker>.</example>
            <example>The taste is <marker>different</marker>.</example>
        </rule>

        <!-- not...unless, not...except – only if -->
        <!-- not...until – only when -->
        <!-- not later than 10 May – by 10 May, before 11 May not later than 1600 by 1600 -->
        <!-- notwithstanding – in spite of, still -->
        <!-- now comes – (omit) -->
        <!-- null and void – use either "null" or "void" -->
        <!-- numerous – many -->
        <!-- objective – aim, goal -->
        <!-- obligate – bind, compel -->
        <!-- observe – see on a _________basis (omit) -->

        <!-- obtain – get -->
        <rule id="OBTAIN" name="obtain (get)">
            <pattern>
                <token inflected="yes">obtain</token>
            </pattern>
            <message>Did you mean simpler <suggestion>get</suggestion>?</message>
            <example correction="get">We need to <marker>obtain</marker> visas.</example>
            <example>We need to <marker>get</marker> visas.</example>
        </rule>

        <!-- off of – off -->
        <!-- on request – if you ask -->
        <!-- on the contrary – but, so -->
        <!-- on the grounds that – (omit) -->

        <!-- on the occasion of - when -->
        <rule id="ON_THE_OCCASION_OF" name="on the occasion of (on, when, because of)">
            <pattern>
                <token>on</token>
                <token>the</token>
                <token>occasion</token>
                <token>of</token>
            </pattern>
            <message>Did you mean <suggestion>on</suggestion>? Try also <suggestion>when</suggestion> and <suggestion>because of</suggestion>.</message>
            <example correction="on|when|because of">I was congratulated <marker>on the occasion of</marker> my son's birthday.</example>
            <example>I was congratulated <marker>on</marker> my son's birthday.</example>
        </rule>

        <!-- on the other hand – (omit); -->
        <rule id="ON_THE_OTHER_HAND" name="on the other hand (omit, but, yet)">
            <pattern>
                <token>on</token>
                <token>the</token>
                <token>other</token>
                <token>hand</token>
            </pattern>
            <message>Avoid completely or try <suggestion>but</suggestion>, <suggestion>yet</suggestion></message>
            <example correction="But|Yet"><!--It was quite a good bargain. --><marker>On the other hand</marker>, do we really need one?</example>
            <example>It was quite a good bargain, <marker>but</marker> do we really need one?</example>
        </rule>

        <!-- on the part of – by -->

        <!-- on two separate occasions - twice -->
        <rule id="ON_TWO_SEPARATE_OCCASIONS" name="on two separate occasions (twice)">
            <pattern>
                <token>on</token>
                <token>two</token>
                <token>separate</token>
                <token>occasions</token>
            </pattern>
            <message>Did you mean <suggestion>twice</suggestion>?</message>
            <example correction="twice">I stayed here <marker>on two separate occasions</marker>.</example>
            <example>I stayed here <marker>twice</marker>.</example>
        </rule>


        <!-- operate – run, use, work -->
        <!-- optimum – best, greatest, most -->
        <!-- option – choice, way -->
        <!-- orientate – orient -->
        <!-- ...out (calculate, cancel, distribute, segregate, separate) – omit -->
        <!-- outside of – outside -->
        <!-- overall (unless it means the garment) – (omit) -->

        <!-- <rule id="OVERALL" name="overall, not the garment, but sentence adverb"> -->
        <!-- <pattern> -->
        <!-- <token postag="BB" postag_regexp="yes">overall</token> -->
        <!-- </pattern> -->
        <!-- <message>Remove wordy \1</message> -->
        <!-- <example correction=""><marker>Overall</marker>, we are happy.</example> -->
        <!-- <example>We are happy.</example> -->
        <!-- </rule> -->

        <!-- oversight -->
        <!-- parameters – limits ??? perimeters???-->
        <!-- participate – take part -->
        <!-- particulars – details -->
        <!-- pass away – die -->
        <!-- per annum – a year -->
        <!-- perchance – perhaps -->
        <!-- perform – do -->
        <!-- permit – let -->
        <!-- pertaining to – about, of, on -->
        <!-- perspire – sweat -->
        <!-- peruse – read -->
        <!-- PIN number – PIN -->
        <!-- place – put -->
        <!-- portion – part -->
        <!-- possess – have, own -->
        <!-- point in time, particular point in time – time, point, now, moment -->
        <!-- potentiality – potential -->
        <!-- practicable – practical -->
        <!-- preclude – prevent -->
        <!-- preowned – used -->

        <!-- preliminary to, previous to, previously, prior to – before -->
        <!-- preparatory to – to prepare for -->
        <!-- prioritize – rank; -->
        <!-- proceed – do, go ahead, try -->
        <!-- procure – (omit) -->
        <!-- proficiency – skill -->
        <!-- promulgate – issue, publish -->
        <!-- provide – give, offer, say -->
        <!-- provided that – if -->
        <!-- provide guidance for – guide -->
        <!-- purchase – buy -->
        <!-- pursuant to – by, following, per, under; -->
        <!-- out, as required by -->

        <!-- whether or not – whether -->
        <!-- the question as to whether, a question of whether – whether-->
        <rulegroup id="QUESTION_X_WHETHER" name="question as to whether, question of whether (question whether)">
            <url>https://www.dailywritingtips.com/whether-to-use-whether-or-if/</url>
            <rule>
                <pattern>
                    <token min="0" regexp="yes">the|a</token>
                    <token>question</token>
                    <token>as</token>
                    <token>to</token>
                    <token>whether</token>
                </pattern>
                <message>Verbose. Use <suggestion>whether</suggestion>.</message>
                <example correction="Whether"><marker>The question as to whether</marker> it will do any good hasn’t been determined.</example>
                <example><marker>Whether</marker> it will do any good hasn’t been determined.</example>
            </rule>
            <rule>
                <pattern>
                    <token min="0" regexp="yes">the|a</token>
                    <token>question</token>
                    <token>of</token>
                    <token>whether</token>
                </pattern>
                <message>Verbose. Use <suggestion>question whether</suggestion>.</message>
                <example correction="question whether">There is <marker>a question of whether</marker> we need to be there or not.</example>
                <example>There is <marker>question whether</marker> we need to be there or not.</example>
            </rule>
            <!-- <rule> -->
            <!-- <pattern> -->
            <!-- <token>whether</token> -->
            <!-- <token>or</token> -->
            <!-- <token>not</token> -->
            <!-- </pattern> -->
            <!-- <message>Verbose. Use <suggestion>whether</suggestion>.</message> -->
            <!-- <example correction="whether">We do not know <marker>whether or not</marker> we need to be there.</example> -->
            <!-- <example>We do not know <marker>whether</marker> we need to be there.</example> -->
            <!-- </rule> -->
        </rulegroup>

        <!-- quite puzzling – baffling -->

        <!-- refer back – refer -->
        <!-- reflect – say, show -->
        <!-- regard as being – regard as -->
        <rule id="REGARD_AS_BEING" name="regard as being (regard as)">
            <pattern>
                <token inflected="yes">regard</token>
                <token>as</token>
                <token>being</token>
            </pattern>
            <message>Word "being" is redundant. Use <suggestion>\1 \2</suggestion>.</message>
            <example correction="regard as">What industries do you <marker>regard as being</marker> highly competitive?</example>
            <example>What industries do you <marker>regard as</marker> highly competitive?</example>
        </rule>
        <!-- regarding – about, of, on -->
        <!-- relative to – about, on -->
        <!-- relocate – move -->

        <!-- remain – stay -->


        <!-- remainder – rest -->
        <!-- remuneration – pay, payment -->
        <!-- render – give, make -->
        <!-- represents – is -->
        <!-- request – ask -->
        <!-- require – must, need -->
        <!-- requirement – need, -->
        <!-- reside, residence – live, house -->
        <!-- respectively – (omit) -->
        <!-- retain – keep -->
        <!-- retire – go to bed -->
        <!-- said, some, such, same – the, this, that -->
        <!-- selection – choice -->
        <!-- set forth in – in -->
        <!-- shall – must -->
        <!-- should you wish – if you want -->
        <!-- similar to – like -->

        <!-- solicit – ask for, request -->
        <rule id="SOLICIT_FOR" name="solicit for">
            <pattern>
                <token postag="V.*" postag_regexp="yes" inflected="yes">solicit</token>
                <token>for</token>
            </pattern>
            <message>Avoid. Use <suggestion>asking for</suggestion>.</message>
            <example correction="asking for">We are <marker>soliciting for</marker> suggestions.</example>
            <example>We are <marker>asking for</marker> suggestions.</example>
        </rule>

        <!-- sooner rather than later - soon, now -->
        <rule id="SOONER_RATHER_THAN_LATER" name="sooner rather than later (soon, now)">
            <pattern>
                <token>sooner</token>
                <token>rather</token>
                <token>than</token>
                <token>later</token>
            </pattern>
            <message>Try <suggestion>soon</suggestion> or <suggestion>now</suggestion> meaning <suggestion>sooner than expected</suggestion>.</message>
            <url>https://grammarist.com/usage/sooner-rather-than-later/</url>
            <example correction="soon|now|sooner than expected">I believe that spring will be here <marker>sooner rather than later</marker>.</example>
            <example>I believe that spring will be here <marker>soon</marker>.</example>
        </rule>

        <!-- state-of-the-art – latest -->
        <rulegroup id="STATE-OF-THE-ART" name="state-of-the-art">
            <rule>
                <pattern>
                    <token>state-of-the-art</token>
                </pattern>
                <message>Use <suggestion>latest</suggestion>.</message>
                <example correction="latest">Many covet for a <marker>state-of-the-art</marker> cell phone.</example>
                <example>Many covet for a <marker>latest</marker> cell phone.</example>
            </rule>
            <rule>
                <pattern>
                    <token>state</token>
                    <token>of</token>
                    <token>the</token>
                    <token>art</token>
                </pattern>
                <message>Use <suggestion>latest</suggestion>.</message>
                <example correction="latest">Many covet for a <marker>state of the art</marker> cell phone.</example>
                <example>Many covet for a <marker>latest</marker> cell phone.</example>
            </rule>
        </rulegroup>

        <!-- strategize – plan -->
        <!-- subject – the, this, your -->
        <!-- submit – give, send -->
        <!-- subsequent, subsequently, subsequent to –later, next, after, then -->
        <!-- substantial – large, much -->
        <!-- successfully complete – complete, pass -->

        <!-- sufficient – enough -->
        <rule id="SUFFICIENT" name="sufficient (enough)">
            <pattern>
                <token>sufficient</token>
            </pattern>
            <message>Use <suggestion>enough</suggestion>.</message>
            <example correction="enough">That is <marker>sufficient</marker> reason.</example>
            <example>That is reason <marker>enough</marker>.</example>
            <example correction="enough">He was adding more until it was <marker>sufficient</marker>.</example>
            <example>He was adding more until it was <marker>enough</marker>.</example>
        </rule>

        <!-- take action to – (omit) -->
        <rule id="TAKE_ACTION_TO" name="take action to (omit)">
            <pattern>
                <token inflected="yes">take</token>
                <token>action</token>
                <token>to</token>
            </pattern>
            <message>Remove as verbose.</message>
            <example correction=""><marker>Take action to</marker> fight climate change.</example>
            <example>Fight climate change.</example>
        </rule>

        <!-- terminate – end, stop -->
        <!-- than was formerly the case – now -->

        <!-- that exists -->
        <rule id="THAT_EXISTS" name="that exists (omit)">
            <pattern>
                <token>that</token>
                <token>exists</token>
            </pattern>
            <message>Try removing the phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="">The fear <marker>that exists</marker> among many people that we are losing our woodlands is uncalled for.</example>
            <example>The fear <marker/> among many people that we are losing our woodlands is uncalled for.</example>
        </rule>

        <!-- the level of water rose - the water rose -->
        <!-- the month of – (omit) -->

        <!-- AssertionFailedError -->
        <!-- the people who are located in - the people in -->
        <!-- the pie that is located in - the pie in !!!-->
        <!-- <rule id="IS_LOCATED_IN" name="who/that is located in (in)">-->
        <!-- <pattern> -->
        <!-- <token regexp="yes">who|that</token> -->
        <!-- <token inflected="yes">are</token> -->
        <!-- <token>located</token> -->
        <!-- <token>in</token> -->
        <!-- </pattern> -->
        <!-- <message>Use <suggestion>in</suggestion>.</message> -->
        <!-- <example correction="in">Can I accept orders from buyers <marker>who are located in</marker> other countries?</example> -->
        <!-- <example>Can I accept orders from buyers <marker>in</marker> other countries?</example> -->
        <!-- <example correction="in">Acn9 is a novel protein of gluconeogenesis <marker>that is located in</marker> the mitochondrial intermembrane space.</example> -->
        <!-- <example>Acn9 is a novel protein of gluconeogenesis <marker>in</marker> the mitochondrial intermembrane space.</example> -->
        <!-- </rule> -->


        <!-- there are – (omit) -->
        <!-- therefore – thus, so -->
        <!-- therein – there -->
        <!-- there is – (omit) -->

        <!-- the undersigned – I -->
        <rule id="THE_UNDERSIGNED" name="the undersigned (I, me, we)">
            <pattern>
                <token>the</token>
                <token>undersigned</token>
            </pattern>
            <message>Legalese. Did you mean <suggestion>I</suggestion>, <suggestion>me</suggestion> or <suggestion>we</suggestion>?</message>
            <url>https://www.businesswritingblog.com/business_writing/2009/02/who-is-the-undersigned-me-.html</url>
            <example correction="I|me|we">Please contact <marker>the undersigned</marker>.</example>
            <example>Please call <marker>me</marker> on this number.</example>
        </rule>

        <!-- the use of – (omit) -->
        <!-- this activity, command – us, we -->
        <!-- timely – prompt -->
        <!-- time period – (either one) -->
        <!-- to be violative of – violate -->
        <!-- took advantage of – preyed -->
        <!-- to wit – (omit) -->
        <!-- transpire – happen -->
        <!-- transmit – send -->

        <!-- type of – (omit) -->
        <rule id="TYPE_OF" name="type of (omit)">
            <pattern>
                <token>type</token>
                <token>of</token>
            </pattern>
            <message>Try removing the phrase "\1 \2".</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction="">Legislators need to be more careful of the <marker>type of</marker> policy they propose.</example>
            <example>Legislators need to be more careful of the <marker/> policy they propose.</example>
        </rule>

        <!-- under the provisions of – under -->

        <!-- until such time as – until -->
        <rule id="UNTIL_SUCH_TIME_AS" name="until such time as (until)">
            <pattern>
                <token>until</token>
                <token>such</token>
                <token>time</token>
                <token>as</token>
            </pattern>
            <message>Use <suggestion>until</suggestion>.</message>
            <example correction="until">He may keep the key <marker>until such time as</marker> he resigns.</example>
            <example>He may keep the key <marker>until</marker> he resigns.</example>
        </rule>


        <!-- utilize, utilization – use -->
        <!-- validate – confirm -->
        <!-- variation – change -->
        <!-- various different – "various" or "different" -->
        <!-- very – (omit) -->
        <!-- very angry – enraged -->
        <!-- viable – practical, workable -->
        <!-- warrant – call for, permit -->
        <!-- we are in receipt of – we've received -->


        <!-- whosoever, whomsoever – whoever, whomever -->

        <!-- what I mean to say is -->
        <rule id="WHAT_I_MEAN_TO_SAY_IS_THAT" name="what I mean to say is that (omit)">
            <pattern>
                <token>what</token>
                <token inflected="yes">I</token>
                <token inflected="yes">mean</token>
                <token>to</token>
                <token>say</token>
                <token>is</token>
                <token>that</token>
                <!-- <token min="0">that</token> xxx-->
            </pattern>
            <message>Try removing the phrase.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm</url>
            <example correction=""><marker>What I mean to say is that</marker> well intentioned lawmakers sometimes make fools of themselves.</example>
            <example><marker/>Well intentioned lawmakers sometimes make fools of themselves.</example>
        </rule>

        <!-- with a view to – by, from -->

        <!-- with reference to, with regard to – about, of, on, for -->
        <rule id="WITH_OR_IN_REFERENCE_OR_REGARD_TO" name="with/in reference to, with/in regard to (about, of, on, for, concerning, regarding)">
            <pattern>
                <token regexp="yes">with|in</token>
                <token regexp="yes">reference|regard</token>
                <token>to</token>
            </pattern>
            <message>Replace with shorter <suggestion>about</suggestion>, <suggestion>of</suggestion>, <suggestion>on</suggestion>, <suggestion>for</suggestion>, <suggestion>concerning</suggestion>, or <suggestion>regarding</suggestion>.</message>
            <example correction="about|of|on|for|concerning|regarding">Statement <marker>in reference to</marker> the book.</example>
            <example>Statement <marker>on</marker> the book.</example>
            <example correction="about|of|on|for|concerning|regarding">What shall we do <marker>in regard to</marker> the dinner?</example>
            <example correction="about|of|on|for|concerning|regarding">What shall we do <marker>with regard to</marker> the dinner?</example>
            <example>What shall we do <marker>about</marker> the dinner?</example>
            <example>What shall we do <marker>regarding</marker> the dinner?</example>
            <example correction="about|of|on|for|concerning|regarding">This reply is <marker>in regard to</marker> your message earlier this week.</example>
            <example>This reply <marker>concerns</marker> your message earlier this week.</example>
            <example>This reply is <marker>about</marker> your message earlier this week.</example>
            <example correction="About|Of|On|For|Concerning|Regarding"><marker>With regard to</marker> your letter last week, …</example>
            <example><marker>Regarding</marker> your letter last week, …</example>
            <example correction="about|of|on|for|concerning|regarding">Misunderstanding can arise <marker>in reference to</marker> how a person becomes certified or credentialed.</example>
            <example>Misunderstanding can arise <marker>about</marker> how a person becomes certified or credentialed.</example>
            <example>Misunderstanding can arise <marker>regarding</marker> how a person becomes certified or credentialed.</example>
            <example correction="about|of|on|for|concerning|regarding">The veterinary clinic gets many calls from children <marker>with regard to</marker> lost pets.</example>
            <example>The veterinary clinic gets many calls from children <marker>concerning</marker> lost pets.</example>
            <example>The veterinary clinic gets many calls from children <marker>regarding</marker> lost pets.</example>
            <example>The veterinary clinic gets many calls from children <marker>about</marker> lost pets.</example>
            <example correction="about|of|on|for|concerning|regarding">This test is important <marker>with regard to</marker> the new rules.</example>
            <example>This test is important <marker>for</marker> the new rules.</example>
            <example correction="about|of|on|for|concerning|regarding">Before you do a test <marker>with regard to</marker> a rule, always include a correct example and an incorrect example.</example>
            <example>Before you do a test <marker>of</marker> a rule, always include a correct example and an incorrect example.</example>
        </rule>

        <!-- with respect to – on, about -->
        <!-- with the exception of – except for -->
        <!-- with the minimum of delay – quickly (or say when) -->
        <!-- witnessed – saw -->

        <!-- worthwhile -->
        <rule id="WORTHWHILE" name="worthwhile is weak">
            <pattern>
                <token postag="JJ">worthwhile</token>
            </pattern>
            <message>Weak word. Use something stronger like <suggestion>valuable</suggestion>.</message>
            <example correction="valuable">It was a <marker>worthwhile</marker> endeavor.</example>
            <example>It was a valuable endeavor.</example>
        </rule>

        <!-- you are requested – please -->
        <rule id="YOU_ARE_REQUESTED" name="you are requested (please)">
            <pattern>
                <token>you</token>
                <token>are</token>
                <token>requested</token>
                <token>to</token>
            </pattern>
            <message>Replace with <suggestion>please</suggestion></message>
            <example correction="please"><marker>you are requested to</marker> sit down.</example>
            <example>Please sit down.</example>
        </rule>

        <!-- your attention is drawn – please see, please note -->
        <!-- draw to your attention - point out -->
        <rulegroup id="DRAW_ATTENTION" name="your attention is drawn, draw to your attention (please see, please note, point out)">
            <rule>
                <pattern>
                    <token>your</token>
                    <token>attention</token>
                    <token>is</token>
                    <token>drawn</token>
                    <token/>
                </pattern>
                <message>Replace with <suggestion>please see</suggestion> or <suggestion>please note</suggestion></message>
                <example correction="Please see|Please note"><marker>Your attention is drawn to</marker> the last page.</example>
                <example><marker>Please see</marker> the last page.</example>
            </rule>
            <rule>
                <pattern>
                    <token>draw</token>
                    <token>your</token>
                    <token>attention</token>
                    <token>to</token>
                </pattern>
                <message>Replace with <suggestion>point out</suggestion>.</message>
                <example correction="point out">We'd like to <marker>draw your attention to</marker> the last picture.</example>
                <example>We'd like to <marker>point out</marker> the last picture.</example>
            </rule>
        </rulegroup>

        <!-- your office – you -->
        <!-- / (slash) – and, or -->

        <rule id="REFERRING_BACK" name="Legal jargon referring to previous text">
            <pattern>
                <token regexp="yes">above-mentioned|abovementioned|above-listed|abovelisted|beforementioned|before-mentioned|aforementioned|afore-mentioned</token>
            </pattern>
            <message>Legalese. Bad style in any normal text. Remove and explain. Use <suggestion>this</suggestion> or <suggestion>these</suggestion>.</message>
            <example correction="this|these">The <marker>above-mentioned</marker> fact is important.</example>
            <example correction="this|these">The <marker>abovementioned</marker> fact is important.</example>
            <example correction="this|these">The <marker>above-listed</marker> points must not be forgotten.</example>
            <example correction="this|these">The <marker>abovelisted</marker> points must not be forgotten.</example>
            <example correction="this|these">The <marker>before-mentioned</marker> fact is important.</example>
            <example correction="this|these">The <marker>beforementioned</marker> fact is important.</example>
            <example correction="this|these">The <marker>afore-mentioned</marker> fact is important.</example>
            <example correction="this|these">The <marker>aforementioned</marker> fact is important.</example>
            <example>Like I mentioned before, it is important not to follow rules blindly</example>
            <example>This fact is important.</example>
        </rule>


        <rule id="THE_TRUTH_OR_FACT_IS" name="Starting sentence with 'The truth/fact is'.">
            <pattern case_sensitive="yes">
                <token postag="SENT_START"/>
                <marker>
                    <token>The</token>
                    <token regexp="yes">truth|fact</token>
                    <token>is</token>
                </marker>
            </pattern>
            <message>Remove. Just say what the truth or fact is.</message>
            <example correction=""><marker>The truth is</marker>, this is annoying.</example>
            <example>This is annoying.</example>
            <example correction=""><marker>The fact is</marker>, they are not here.</example>
            <example>They are not here.</example>
        </rule>

        <!-- tired intensifiers - use sparingly -->
        <!-- really, very, quite, extremely, severely -->
        <rule default="off" id="TIRED_INTENSIFIERS" name="really, very, quite, extremely, severely (use sparingly)">
            <pattern>
                <token regexp="yes">really|very|quite|extremely|severely</token>
            </pattern>
            <message>Usually, the word "\1" is not necessary. Remove it unless it is necessary.</message>
            <url>http://grammar.ccc.commnet.edu/grammar/concise.htm#intensifiers</url>
            <example correction="">The band is <marker>very</marker> irritating.</example>
            <example>The band is irritating.</example>
        </rule>

        <rulegroup id="EMPHATIC_REFLEXIVE_PRONOUNS" name="emphatic reflexive pronouns (I myself)">
            <url>https://languagetool.org/insights/post/reflexive-pronouns/</url>
            <short>Emphatic reflexive pronoun</short>
            <rule>
                <pattern>
                    <token>I</token>
                    <token regexp="yes">myself|personally</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="I"><!--There are no biscuits. --><marker>I myself</marker> ate the last one.</example>
            </rule>
            <rule>
                <pattern>
                    <token>you</token>
                    <token regexp="yes">yoursel(f|ves)</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="you"><!--I cannot do it for you. -->Only <marker>you yourself</marker> can do it.</example>
                <example correction="you"><!--I cannot do it for you. -->Only <marker>you yourselves</marker> can do it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>we</token>
                    <token>ourselves</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="We"><!--They cannot do it for us. --><marker>We ourselves</marker> must do it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>he</token>
                    <token>himself</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="he"><!--You cannot do it for him. -->Only <marker>he himself</marker> can do it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>she</token>
                    <token>herself</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="she"><!--You cannot do it for her. -->Only <marker>she herself</marker> can do it.</example>
            </rule>
            <rule>
                <pattern>
                    <token>it</token>
                    <token>itself</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="It"><!--The software update is not correct. --><marker>It itself</marker> causes more problems than in solves.</example>
            </rule>
            <rule>
                <pattern>
                    <token>they</token>
                    <token>themselves</token>
                </pattern>
                <message>Although '\1 \2' is correct, it is not always necessary. If possible, use only <suggestion>\1</suggestion>.</message>
                <example correction="they"><!--You cannot do it them. -->Only <marker>they themselves</marker> can do it.</example>
            </rule>
        </rulegroup>

    </category>

    <!-- ====================================================================== -->
    <!-- Wikipedia -->
    <!-- ====================================================================== -->
    <category id="WIKIPEDIA" name="Wikipedia" type="style" default="off">
        <rule id="HASH_SYMBOL" name="Replace '#'">
            <pattern>
                <token>#</token>
            </pattern>
            <message>Wikipedia style. Replace "#" with <suggestion>No. </suggestion> or <suggestion>number </suggestion> when referring to numbers or rankings.</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Number_signs</url>
            <example correction='No. |number '>The <marker>#</marker>3</example>
            <example>No.</example>
            <example>number</example>
        </rule>

        <rule id="WIKIPEDIA_12_PM" name="Replace '12 pm' with 'noon'">
            <pattern>
                <token>12</token>
                <token>pm</token>
            </pattern>
            <message>Wikipedia style. Replace "12 pm" with <suggestion>noon</suggestion> for clarity.</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Time_of_day</url>
            <example correction='noon'>At <marker>12 pm</marker></example>
            <example>noon</example>
        </rule>

        <rule id="WIKIPEDIA_12_AM" name="Replace '12 am' with 'midnight'">
            <pattern>
                <token>12</token>
                <token>am</token>
            </pattern>
            <message>Wikipedia style. Replace "12 am" with <suggestion>midnight</suggestion> for clarity.</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Time_of_day</url>
            <example correction='midnight'>At <marker>12 am</marker></example>
            <example>midnight</example>
        </rule>

        <rule id="WIKIPEDIA_CURRENTLY" name="Replace 'currently' with a specific date">
            <pattern>
                <token>currently</token>
            </pattern>
            <message>Wikipedia style. Replace "currently" with a specific date, as "currently" will change over time.</message>
            <url>https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Current</url>
            <example correction=''><marker>currently</marker></example>
            <example>date</example>
        </rule>

        <rulegroup id="WIKIPEDIA_CONTRACTIONS" name="Replace 'wasn't' with 'was not'">
            <rule>
                <pattern>
                    <token>was</token>
                    <token>n't</token>
                </pattern>
                <message>Wikipedia style. Replace "wasn't" with <suggestion>was not</suggestion>.</message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Contractions</url>
                <example correction='was not'><marker>wasn't</marker></example>
                <example>it's</example>
            </rule>
            <rule>
                <pattern>
                    <token>it</token>
                    <token>'s</token>
                </pattern>
                <message>Wikipedia style. Replace "it's" with <suggestion>it is</suggestion></message>
                <url>https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Contractions</url>
                <example correction='it is'><marker>it's</marker></example>
                <example>it is</example>
            </rule>
        </rulegroup>
    </category>

  <category id="TYPOGRAPHY" name="Typography" type="typographical">
    <rulegroup id="SPACE_BETWEEN_NUMBER_AND_WORD" name="3dogs (3 dogs)">
        <antipattern>
            <token regexp="yes">[_#\./\|]</token>
            <token regexp="yes" spacebefore="no">\d+[a-z]{3,10}s</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">\d+[a-z]{3,10}s</token>
            <token regexp="yes" spacebefore="no">[_#@\.]</token>
            <token spacebefore="no" />
        </antipattern>
        <antipattern>
            <token regexp="yes">\d+[a-z]{3,10}s</token>
            <token spacebefore="no">-</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">an?|one</token>
            <token postag="JJ.*" postag_regexp="yes" min="0" />
            <token regexp="yes">\d+[a-z]{3,10}s</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">\d+[bcdfghjklmnpqrstvwxzy]{3,10}s</token>
        </antipattern>
        <antipattern>
            <token>2hearts</token>
            <token regexp="yes">website|community|accounts?|users?</token>
        </antipattern>
        <rule>
            <pattern>
                <token regexp="yes">
                    \d+(mins?|days?|inch(es)?|foot|feet|years?|weeks?|months?|nights?|hours?|cups?)
                    <exception postag="NNP.*" postag_regexp="yes" />
                    <exception regexp="yes">2(day|night)</exception>
                </token>
            </pattern>
            <message>It appears that a space is missing between the number and word (or unit).</message>
            <suggestion><match no="1" regexp_match="(\d+)(.+)" regexp_replace="$1&#x00A0;$2" /></suggestion>
            <example correction="1&#x00A0;min">It took me <marker>1min</marker>.</example>        
        </rule>
        <rule>
            <pattern>
                <token regexp="yes">
                    \d+[a-z]{3,10}s
                    <exception postag="NNP.*" postag_regexp="yes" />
                    <exception regexp="yes">1[a-z].+s</exception>
                    <exception regexp="yes">\d+x.*</exception>
                    <exception regexp="yes">0\d.*</exception>
                    <exception regexp="yes">.*plus</exception>
                    <exception regexp="yes">[1-9]0(t)?ies</exception><!-- 90ties -->
                    <exception regexp="yes" case_sensitive="yes">\d+[a-z].*[A-Z].*</exception>
                    <exception regexp="yes" case_sensitive="yes">\d+[A-Z]+[Ss]</exception>
                    <exception regexp="yes">360Networks|2Blossoms|4Kids|123.+|[1-9]news|1950Labs|2morrows|91mobiles|4lifers|(4|2)(the|my|this).+</exception>
                </token>
            </pattern>
            <message>It appears that a space is missing between the number and word (or unit).</message>
            <suggestion><match no="1" regexp_match="(\d+)(.+)" regexp_replace="$1 $2" /></suggestion>
            <example correction="3 dogs">I have <marker>3dogs</marker>.</example>        
            <example>The code is: 4xttgs.</example>        
        </rule>
    </rulegroup>
    <rulegroup id="COMMA_PERIOD_CONFUSION" name="12,5% → 12.5%">
        <url>https://en.wikipedia.org/wiki/Decimal_separator#Countries_using_decimal_point</url>
        <short>Incorrect decimal separator</short>
        <antipattern>
            <token>,</token>
            <token regexp="yes" spacebefore="no">\d{1,2}</token>
            <token regexp="yes" spacebefore="no">,</token>
        </antipattern>
        <antipattern><!-- ignore short sentence (as language detection is not good at detecting short sentences) -->
            <token postag="SENT_START" skip="2" />
            <token regexp="yes">(&currency_symbols;|US\$)?\d+</token>
            <token skip="2">,</token>
            <token postag="SENT_END" />
        </antipattern>
        <rule>
            <pattern>
                <token regexp="yes">\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">(\d{1,2}|\d{4,30})(%|&currency_symbols;)</token>
            </pattern>
            <message>In English-speaking countries (except for South Africa), the correct decimal separator is a point.</message>
            <suggestion><match no="1" />.<match no="3" /></suggestion>
            <example correction="12.5%">The price rose by <marker>12,5%</marker></example>
        </rule>
        <rule>
            <pattern>
                <token regexp="yes">(&currency_symbols;|US\$)\d+</token>
                <token spacebefore="no">,</token>
                <token regexp="yes" spacebefore="no">\d{1,2}</token>
            </pattern>
            <message>In English-speaking countries (except for South Africa), the correct decimal separator is a point.</message>
            <suggestion><match no="1" />.<match no="3" /></suggestion>
            <example correction="$12.50">The price rose by <marker>$12,50</marker></example>
            <example>They are paid $3,000,000 a year.</example>
            <example>They are paid $3,00,000 a year.</example><!-- different error -->
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token regexp="yes">\d+</token>
                    <token spacebefore="no">,</token>
                    <token regexp="yes" spacebefore="no">\d{1,2}|\d{4,30}</token>
                </marker>
                <token regexp="yes">percent|%|&currency_symbols;|[km]g|[ckm]m|(kilo|micro)?grams?|inch(es)?|miles?|feet|foot|(kilo|centi|deci|milli)?meters?|(kilo|centi|deci|milli)?metres?|euros?|dollars?|pounds?|(bit|lite)coins?|yards|hours|hr|minutes|(milli|nano)?seconds|days|[mkgt]b|(mega|giga|tera)(bytes?|bits?)|tons|kWh|(kilo|mega|giga|tera)?watts?|kilowatt-hours?|kilovolt-amperes?</token>
            </pattern>
            <message>In English-speaking countries (except for South Africa), the correct decimal separator is a point.</message>
            <suggestion>\1.\3</suggestion>
            <example correction="12.50">The price rose by <marker>12,50</marker> %</example>
        </rule>
        <rule>
            <antipattern>
                <token regexp="yes">[.:;,]</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d00</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d00</token>
                <token regexp="yes" spacebefore="no">[.:;,]</token>
                <token />
            </antipattern>
            <antipattern>
                <token skip="3" regexp="yes">v|version|=</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <pattern>
                <token regexp="yes">
                    \d+
                    <exception regexp="yes">0\d*</exception>
                </token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d00</token>
            </pattern>
            <message>In English-speaking countries, the correct thousands separator is a comma.</message>
            <suggestion>\1,\3</suggestion>
            <example correction="32,000">They have <marker>32.000</marker> users.</example>
        </rule>
        <rule>
            <antipattern>
                <token regexp="yes">[.:;,]</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d+</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token regexp="yes" spacebefore="no">[.:;,]</token>
                <token />
            </antipattern>
            <antipattern>
                <token skip="3" regexp="yes">v|version|=</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <pattern>
                <token regexp="yes">
                    \d+
                    <exception regexp="yes">0\d*</exception>
                </token>
                <token spacebefore="no">.</token>
                <token spacebefore="no" regexp="yes">\d{3}</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d00</token>
            </pattern>
            <message>In English-speaking countries (except for South Africa), the correct thousands separator is a comma.</message>
            <suggestion>\1,\3,\5</suggestion>
            <example correction="32,500,000">We now have <marker>32.500.000</marker> users.</example>
        </rule>
        <rule>
            <antipattern>
                <token regexp="yes">[.:;,]</token>
                <token regexp="yes" spacebefore="no">\d+</token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d00</token>
            </antipattern>
            <antipattern>
                <token spacebefore="no">,</token>
                <token spacebefore="no" regexp="yes">\d{2}</token>
                <token regexp="yes" spacebefore="no">[.:;,]</token>
                <token />
            </antipattern>
            <pattern>
                <token regexp="yes">
                    \d+
                    <exception regexp="yes">0\d*</exception>
                </token>
                <token spacebefore="no">.</token>
                <token regexp="yes" spacebefore="no">\d{3}</token>
                <token spacebefore="no">,</token>
                <token spacebefore="no" regexp="yes">\d{2}</token>
            </pattern>
            <message>In English-speaking countries (except for South Africa), the thousands separator is a comma and the decimal separator a point.</message>
            <suggestion>\1,\3.\5</suggestion>
            <example correction="32,000.23">I earned <marker>32.000,23</marker>.</example>
        </rule>
    </rulegroup>
    <rulegroup id="APOS_SPACE_CONTRACTION" name="space after apostrophe in contraction (e.g. I' m)">
      <rule>
        <pattern case_sensitive="yes">
            <token regexp="yes">.*[A-Za-z0-9].*</token>
            <token regexp="yes">&apostrophe;</token>
            <token spacebefore="yes" regexp="yes">ll|d|m|s|re|ve</token>
        </pattern>
        <message>There probably shouldn't be a space after the apostrophe.</message>
        <suggestion>\1\2\3</suggestion>
        <example correction="I'm">Maybe <marker>I' m</marker> missing something?</example>
        <example correction="Julia's"><marker>Julia' s</marker> new bike looks fancy.</example>
        <example>"That is Davis' M.O.," said one official involved in the White House's energy strategy.</example>
      </rule>
      <rule>
        <antipattern>
            <token spacebefore="yes" regexp="yes">&apostrophe;</token>
            <token regexp="yes">ll|d|m|s|re|ve</token>
            <token spacebefore="no" regexp="yes">&apostrophe;</token>
        </antipattern>
        <pattern case_sensitive="yes">
            <token regexp="yes">.*[A-Za-z0-9].*</token>
            <token spacebefore="yes" regexp="yes">'(ll|d|m|s|re|ve)</token>
        </pattern>
        <message>There probably shouldn't be a space before the apostrophe.</message>
        <suggestion>\1\2</suggestion>
        <example correction="I'm">Maybe <marker>I 'm</marker> missing something?</example>
        <example correction="Julia's"><marker>Julia 's</marker> new bike looks fancy.</example>
      </rule>
    </rulegroup>
    <rule id="TL_DR" name="TL DR (TL;DR)">
        <pattern case_sensitive="yes">
            <token regexp="yes">tl|TL</token>
            <token regexp="yes" min="0">[/:]</token>
            <token regexp="yes">dr|DR</token>
        </pattern>
        <message>Did you mean the internet acronym <suggestion>TL;DR</suggestion> or <suggestion>TLDR</suggestion> (short for "Too Long; Didn't Read")?</message>
        <url>https://www.merriam-webster.com/dictionary/TL;DR</url>
        <example correction="TL;DR|TLDR"><marker>tl:dr</marker> it was great!.</example>
    </rule>
    <rule id="O_CONNOR" name="O Connor (O'Connor)">
        <antipattern>
            <token regexp="yes">\p{P}</token>
            <token spacebefore="no">O</token>
        </antipattern>
        <pattern>
            <token>O</token>
            <token regexp="yes">Conor|Connor|Neill?|Brien|Brian|[DC]onnell|Casey|Carroll|Doherty|Donovan|Keeff?e|Kelly|Leary|Reilly|Shea|Kennedy|Rourke|Toole|Flaherty|Hanlon</token>
        </pattern>
        <message>Did you mean the surname <suggestion>O'<match no="2" case_conversion="startupper" /></suggestion> or the interjection <suggestion>\1h, <match no="2" case_conversion="startupper" /></suggestion>?</message>
        <url>https://www.dochara.com/the-irish/surnames/irish-surnames-o/</url>
        <example correction="O'Conor|Oh, Conor">His name is <marker>O conor</marker>.</example>
    </rule>
    <rulegroup id="DOUBLE_APOSTROPHE" name="redundant apostrophe">
        <antipattern><!-- markdown formatting-->
            <token regexp="yes">&apostrophe;</token>
            <token regexp="yes">[a-z].+</token>
            <token regexp="yes">&apostrophe;</token>
            <token>'s</token>
        </antipattern>
        <rule>
            <pattern>
                <token regexp="yes">I|you|we|they|s?he|it</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes">'(re|s|ll|ve|d)</token>
            </pattern>
            <message>It seems that one apostrophe is unnecessary.</message>
            <suggestion>\1\3</suggestion>
            <example correction="We'll"><marker>We''ll</marker> be ready next week.</example>
        </rule>
        <rule>
            <pattern>
                <!--<token regexp="yes">aren|isn|weren|wasn|don|doesn|didn|haven|hasn|hadn|won|wouldn|can|couldn|shan|shouldn|mustn|ain|oughtn|mightn|needn|mayn</token>-->
                <token regexp="yes">.*n</token>
                <token regexp="yes">&apostrophe;</token>
                <token regexp="yes" spacebefore="no">&apostrophe;</token>
                <token>t</token>
            </pattern>
            <message>It seems that one apostrophe is unnecessary.</message>
            <suggestion>\1'\4</suggestion>
            <example correction="wasn't">He <marker>wasn''t</marker> ready yet.</example>
            <example correction="couldn't">He <marker>couldn''t</marker> do it.</example>
        </rule>
        <rule>
            <pattern>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes">&apostrophe;</token>
                <token>'s</token>
            </pattern>
            <message>It seems that one apostrophe is unnecessary.</message>
            <suggestion>\1\3</suggestion>
            <example correction="Tom's"><marker>Tom''s</marker> new girlfriend is very beautiful.</example>
            <example>I’m getting `403`'s on both `POST`'s.</example><!-- markdown -->
        </rule>
    </rulegroup>
    <rulegroup id="APOSTROPHE_VS_QUOTE" name="double quote instead of apostrophe">
        <antipattern><!-- markdown formatting-->
            <token skip="2" regexp="yes">["“”]</token>
            <token regexp="yes">["“”]</token>
            <token>s</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">["“”]</token>
            <token regexp="yes">t|re|s|ll|ve|d</token>
            <token regexp="yes">["“”]</token>
        </antipattern>
        <rule>
            <pattern>
                <token regexp="yes">I|you|we|they|s?he|it</token>
                <token regexp="yes">["“”]</token>
                <token regexp="yes" spacebefore="no">re|s|ll|ve|d</token>
            </pattern>
            <message>The double quotation mark seems incorrect here.</message>
            <suggestion>\1'\3</suggestion>
            <example correction="We'll"><marker>We"ll</marker> be ready next week.</example>
        </rule>
        <rule>
            <pattern>
                <!--<token regexp="yes">aren|isn|weren|wasn|don|doesn|didn|haven|hasn|hadn|won|wouldn|can|couldn|shan|shouldn|mustn|ain|oughtn|mightn|needn|mayn</token>-->
                <token regexp="yes">.*n</token>
                <token regexp="yes">["”]</token>
                <token spacebefore="no">t</token>
            </pattern>
            <message>The double quotation mark seems incorrect here.</message>
            <suggestion>\1'\3</suggestion>
            <example correction="wasn't">He <marker>wasn"t</marker> ready yet.</example>
            <example correction="couldn't">He <marker>couldn"t</marker> do it.</example>
        </rule>
        <rule>
            <pattern>
                <token postag="NN.*" postag_regexp="yes" />
                <token regexp="yes" spacebefore="no">["”]</token>
                <token spacebefore="no">s</token>
            </pattern>
            <message>The double quotation mark seems incorrect here.</message>
            <suggestion>\1'\3</suggestion>
            <example correction="Tom's"><marker>Tom"s</marker> new girlfriend is very beautiful.</example>
            <example>Our team played an even game with team "S".</example>
            <example>The singular and plural versions of the symbol are identical – not all languages use the letter "s" to denote a plural.</example>
        </rule>
    </rulegroup>
    <rulegroup id="MISSING_APOSTROPHE" name="missing apostrophe">
        <rule>
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Hh]e|[Ss]he|[Ww]e|[Yy]ou|[Tt]hey|I|[Ii]t</token>
                <token case_sensitive="yes">ll</token>
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion>?</message>
            <example correction="He'll"><marker>He ll</marker> take care of it tomorrow.</example>
        </rule>
        <rule>
            <pattern>
                <token regexp="yes" case_sensitive="yes">[Ww]e|[Yy]ou|[Tt]hey|I</token>
                <token case_sensitive="yes">ve</token>
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion>?</message>
            <example correction="I've"><marker>I ve</marker> no idea what you're talking about.</example>
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Hh]e|[Ss]he|[Ii]t</token>
                    <token case_sensitive="yes">s</token>
                </marker>
                <token postag="VBG|JJ.*|DT|PRP\$?|RB.*|W.*" postag_regexp="yes" />
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion>?</message>
            <example correction="He's"><marker>He s</marker> great.</example>
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Yy]ou|[Tt]hey</token>
                    <token case_sensitive="yes">re</token>
                </marker>
                <token postag="VBG|JJ.*|DT|RB.*|W.*|PRP\$" postag_regexp="yes" />
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion>?</message>
            <example correction="They're"><marker>They re</marker> the best.</example>
            <example correction="You're"><marker>You re</marker> my friend.</example>
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token>we</token>
                    <token>re</token>
                </marker>
                <token postag="VBG|JJ.*|DT|RB.*|W.*|PRP\$" postag_regexp="yes" />
            </pattern>
            <message>Did you mean to write "we're" (contraction of "we are"), or 'were' (past tense of "are")?</message>
            <suggestion>\1'\2</suggestion>
            <suggestion>\1\2</suggestion>
            <example correction="We're|Were"><marker>We re</marker> going out tonight.</example>
            <example correction="we're|were">There <marker>we re</marker> a few items missing.</example>
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token case_sensitive="yes">I</token>
                    <token case_sensitive="yes">m</token>
                </marker>
                <token postag="VBG|JJ.*|DT|RB.*" postag_regexp="yes" />
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion>?</message>
            <example correction="I'm"><marker>I m</marker> the best.</example>
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token regexp="yes" case_sensitive="yes">[Hh]e|[Ss]he|[Ww]e|[Yy]ou|[Tt]hey|I|[Ii]t</token>
                    <token case_sensitive="yes">d</token>
                </marker>
                <token postag="RB" min="0" />
                <token postag="VB" />
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion>?</message>
            <example correction="He'd"><marker>He d</marker> do it.</example>
        </rule>
        <rule>
            <pattern>
                <marker>
                    <token regexp="yes">t?here|[wt]hat|who</token>
                    <token case_sensitive="yes">s</token>
                </marker>
                <token postag="VBG|JJ.*|DT|PRP\$?|RB.*|W.*" postag_regexp="yes" />
            </pattern>
            <message>It seems that an apostrophe is missing. Did you mean <suggestion>\1'\2</suggestion> or <suggestion>\1 is</suggestion>?</message>
            <example correction="Here's|Here is"><marker>Here s</marker> what I think.</example>
            <example>That shows that s/he has no reasonable chance of getting themselves.</example>
            <example>Then we parked/lended for a total of 590 mwh that s/b priced @ 21.95.</example>
        </rule>
    </rulegroup>
    <rule id="CD_TH" name="number + (th, nd, st, rd)">
        <antipattern>
            <token>.</token>
            <token spacebefore="no" regexp="yes">\d+</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">.*[023456789]</token>
            <token>st</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">.*[134567890]</token>
            <token>nd</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">.*[124567890]</token>
            <token>rd</token>
        </antipattern>
        <antipattern>
            <token regexp="yes">th|nd|st|rd</token>
            <token spacebefore="no">:</token>
            <token spacebefore="no" />
        </antipattern>
        <pattern>
            <token regexp="yes">\d{1,2}</token>
            <token regexp="yes" case_sensitive="yes">th|nd|st|rd</token>
        </pattern>
        <message>Did you mean <suggestion>\1\2</suggestion>?</message>
        <url>https://www.merriam-webster.com/dictionary/-th</url>
        <example correction="8th">He arrived on the <marker>8 th</marker>.</example>
    </rule>
  <rule id="TRADEMARK" name="(TM) instead of ™">
     <pattern case_sensitive='yes'>
      <token regexp='yes'>\p{Lu}.*</token>
      <marker>
      <token>(</token>
      <token>TM</token>
      <token>)</token>
      </marker>
     </pattern>
     <message>Would you like to use the symbol <suggestion>™</suggestion> instead?</message>
     <short>Nonstandard notation of ™</short>
     <example correction='™'>The new product is Executive Choice<marker>(TM)</marker> Plus.</example>
    </rule>
    <rule id="R_SYMBOL" name="(R) instead of ®">
        <antipattern case_sensitive="yes">
            <token>(</token>
        <token>R</token>
        <token skip="-1">)</token>
        <token regexp="yes">[\p{Lu}^R]<exception scope="previous" negate="yes">(</exception></token>
        <token skip="-1">)</token>
        </antipattern>
        <antipattern case_sensitive="yes">
            <token>(</token>
        <token regexp="yes">[\p{Lu}^R]</token>
        <token skip="-1">)</token>
        <token>R<exception scope="previous" negate="yes">(</exception></token>
        <token skip="-1">)</token>
        </antipattern>
     <pattern case_sensitive='yes'>
      <token regexp='yes'>\p{Lu}.*</token>
      <marker>
      <token>(</token>
      <token>R</token>
      <token>)</token>
      </marker>
     </pattern>
     <message>Did you mean <suggestion>®</suggestion>?</message>
     <short>Nonstandard notation of ®</short>
     <example correction='®'>Windows <marker>(R)</marker></example>
     <example>These are Richard Burr (D) and Kay Hagan (R).</example>
    </rule>
    <rule id="COPYRIGHT" name="(c) instead of ©" type="typographical">
    <antipattern>
        <token>(</token>
        <token>a</token>
        <token skip="-1">)</token>
        <token>b<exception scope="previous" negate="yes">(</exception></token>
        <token skip="-1">)</token>
        <token>c<exception scope="previous" negate="yes">(</exception></token>
        <token>)</token>
        </antipattern>
      <pattern>
      <marker>
        <token>(</token>
        <token>c</token>
        <token>)</token>
        </marker>
        <or>
          <!-- be strict here, so (c) as a list item as in (a) ... (b) ... (c) ... doesn't match (the AP above is only for a single line) -->
          <token regexp="yes">\d{4}</token>
          <token postag="NNP"/>
        </or>
      </pattern>
      <message>Would you like to use the symbol <suggestion>©</suggestion> instead?</message>
      <short>Nonstandard notation of ©</short>
      <example correction="©">Copyright <marker>(C)</marker> Joanna Bator, 2012</example>
      <example correction="©">Copyright <marker>(C)</marker> 2010 The Estate of Ezra Pound</example>
      <example>This is a list: (a) item, (b) 2 items, (c) 2014 items.</example>
      <example>(c) Item three</example>
        </rule>
        <rulegroup type="locale-violation" id="CURRENCY" name="Position of currency symbols: '100$' ($100)">
            <rule>
                <regexp>([\d,.]{0,10}[\d]{1,10}) ?([$€£¥฿\u8371])</regexp>
                <message>The currency mark is usually put at the beginning of the number.</message>
                <suggestion>\2\1</suggestion>
                <short>Put currency at the beginning</short>
                <example correction="$7.25">You owe me <marker>7.25$</marker>.</example>
                <example correction="$100">You owe me <marker>100$</marker>.</example>
                <example correction="€100,000">You owe me <marker>100,000€</marker>.</example>
                <example correction="€2,500,000">You owe me <marker>2,500,000€</marker>.</example>
            </rule>
        </rulegroup>
        <rule type="whitespace" id="CURRENCY_SPACE" name="Whitespace after currency symbols: '$ 100' ($100)">
            <antipattern>
                <token regexp="yes">\d+</token>
                <token regexp="yes">[$€£¥฿\u8371]</token>
                <token regexp="yes">\d+</token>
            </antipattern>
            <pattern>
                <token regexp="yes">[$€£¥฿\u8371]</token>
                <token regexp="yes" spacebefore="yes">\d+</token>
            </pattern>
            <message>The currency mark is usually written without any whitespace.</message>
            <suggestion>\1\2</suggestion>
            <short>Remove whitespace</short>
            <example correction="$100">You owe me <marker>$ 100</marker>.</example>
        </rule>
        <rulegroup id="EN_QUOTES" name="Smart quotes (“”)" tags="picky">
            <short>Smart quotes</short>
            <antipattern>
                <token skip="-1">=</token>
                <token>"</token>
            </antipattern>
            <antipattern>
                <token skip="-1">{</token>
                <token>"</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="``"/>
                    <token regexp="yes">
                        .*[a-z0-9].*
                        <exception postag="UNKNOWN" regexp="yes">..+</exception>
                    </token>
                    <token postag="''"/>
                </pattern>
                <message>Consider using smart opening quotes here.</message>
                <suggestion>“\2”</suggestion>
                <url>https://en.wikipedia.org/wiki/Smart_quote#Electronic_documents</url>
                <example correction="“test”">This is a <marker>&quot;test&quot;</marker>.</example>
                <example correction="“X”">My favorite letter of the alphabet is <marker>&quot;X&quot;</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="``"/>
                    <token regexp="yes">
                        .*[a-z0-9].*
                        <exception postag="UNKNOWN" regexp="yes">..+</exception>
                    </token>
                    <token regexp="yes">
                        .*[a-z0-9].*
                        <exception postag="UNKNOWN" regexp="yes">..+</exception>
                    </token>
                    <token postag="''"/>
                </pattern>
                <message>Consider using smart opening quotes here.</message>
                <suggestion>“\2 \3”</suggestion>
                <url>https://en.wikipedia.org/wiki/Smart_quote#Electronic_documents</url>
                <example correction="“new test”">This is a <marker>&quot;new test&quot;</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="``"/>
                </pattern>
                <message>Use a smart opening quote here.</message>
                <suggestion>“</suggestion>
                <url>https://en.wikipedia.org/wiki/Smart_quote#Electronic_documents</url>
                <example correction="“">This is a (<marker>&quot;</marker>test&quot;).</example>
                <example correction="“"><marker>&quot;</marker>Test&quot;!</example>
                <example>“Test”!</example>
                <example correction="“">This is another <marker>&quot;</marker>test&quot;.</example>
            </rule>
            <rule>
                <antipattern> <!-- don't beautify inches -->
                    <token postag_regexp="yes" postag="''|SENT_START" skip="-1"><exception scope="next" postag="``"/></token>
                    <token regexp="yes">\d{1,2}(?:[-\.]\d{1,2})?</token>
                    <token postag="''"/>
                </antipattern>
                <pattern>
                    <token postag="''"/>
                </pattern>
                <message>Use a smart closing quote here.</message>
                <suggestion>”</suggestion>
                <url>https://en.wikipedia.org/wiki/Smart_quote#Electronic_documents</url>
                <example correction="”">This is a (&quot;test<marker>&quot;</marker>)</example>
                <example correction="”">Use a quote &quot;here<marker>&quot;</marker> to say something.</example>
                <example correction="”">This is another &quot;test<marker>&quot;</marker>.</example>
                <example correction="”">Achilles is mentioned in the song &quot;57821<marker>&quot;</marker>, by Janelle Monáe ft.</example>
                <example>“Test”!</example>
                <example>Economy class seats have a seat pitch of 31-33&quot;</example>
                <example correction="”">American baseball player nicknamed &quot;The Animal<marker>&quot;</marker></example>
            </rule>
            <rule>
                <pattern>
                    <token>`</token>
                    <token spacebefore="no">`</token>
                </pattern>
                <message>Use a smart opening quote here.</message>
                <suggestion>“</suggestion>
                <url>https://en.wikipedia.org/wiki/Smart_quote#Electronic_documents</url>
                <example correction="“"><marker>``</marker>Test”.</example>
            </rule>
            <rule>
                <pattern>
                    <token>„</token>
                </pattern>
                <message>Possibly wrong smart opening quote.</message>
                <suggestion>“</suggestion>
                <url>https://en.wikipedia.org/wiki/„</url>
                <example correction="“"><marker>„</marker>Test”.</example>
            </rule>
        </rulegroup>
        <rule id="ELLIPSIS" name="Smart ellipsis (…)" tags="picky">
            <antipattern>
                <token>.</token>
                <token>.</token>
                <token>.</token>
                <token>.</token>
                <token>.</token>
            </antipattern>
            <pattern>
                <token>.</token>
                <token>.</token>
                <token>.</token>
            </pattern>
            <message>Consider using the typographical ellipsis character here instead.</message>
            <suggestion>…</suggestion>
            <!--<example correction="…">This is important <marker>. . .</marker> as far as I know.</example> doesn't work due to way sentence splitting works -->
            <example>This is important – as far as I know.</example>
            <example correction="…">This is important<marker>...</marker> as far as I know.</example>
            <example>1. Introduction .................................... 3</example>
        </rule>
      
      <rule id="TYPOGRAPHICAL_APOSTROPHE" name="require typographical (curly) apostrophe (’)" tags="picky" default="temp_off">
          <pattern>
              <token regexp="yes">'.+</token>
          </pattern>
          <filter class="org.languagetool.rules.patterns.ApostropheTypeFilter" args="wordFrom:1 hasTypographicalApostrophe:false"/>
          <message>Consider using the typographical apostrophe.</message>
          <suggestion><match no="1" regexp_match="'" regexp_replace="’"/></suggestion>
          <example correction="’s">An actress<marker>'s</marker> role</example>
      </rule>
      <rule id="TYPEWRITER_APOSTROPHE" name="require typewriter (straight) apostrophe (')" tags="picky" default="temp_off">
          <pattern>
              <token regexp="yes">'.+</token>
          </pattern>
          <filter class="org.languagetool.rules.patterns.ApostropheTypeFilter" args="wordFrom:1 hasTypographicalApostrophe:true"/>
          <message>Consider using the typewriter apostrophe.</message>
          <suggestion><match no="1" regexp_match="’" regexp_replace="'"/></suggestion>
          <example correction="'s">An actress<marker>’s</marker> role</example>
      </rule>

        <rulegroup id="WRONG_APOSTROPHE" name="Wrong apostrophe character">
            <rule>
                <pattern>
                    <token regexp="yes">ain|aren|can|couldn|didn|do(es)?n|ha[ds]n|haven|isn|mayn|mightn|mustn|needn|oughtn|shan|shouldn|wasn|weren|won|wouldn</token>
                    <token regexp="yes">[´`]</token>
                    <token>t</token>
                </pattern>
                <message>An accent character was used instead of an apostrophe.</message>
                <suggestion>\1'\3</suggestion>
                <suggestion>\1’\3</suggestion>
                <short>Accent character misused as apostrophe</short>
                <example correction="shouldn't|shouldn’t">You <marker>shouldn´t</marker> do it!</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">s?he|it</token>
                    <token regexp="yes">[´`]</token>
                    <token regexp="yes">s|ll|d</token>
                </pattern>
                <message>An accent character was used instead of an apostrophe.</message>
                <suggestion>\1'\3</suggestion>
                <suggestion>\1’\3</suggestion>
                <short>Accent character misused as apostrophe</short>
                <example correction="She'll|She’ll"><marker>She´ll</marker> make a decision tomorrow.</example>
            </rule>
            <rule>
                <pattern>
                    <token>I</token>
                    <token regexp="yes">[´`]</token>
                    <token regexp="yes">m|ll|d|ve</token>
                </pattern>
                <message>An accent character was used instead of an apostrophe.</message>
                <suggestion>\1'\3</suggestion>
                <suggestion>\1’\3</suggestion>
                <short>Accent character misused as apostrophe</short>
                <example correction="I'll|I’ll"><marker>I´ll</marker> be here.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">you|we|they</token>
                    <token regexp="yes">[´`]</token>
                    <token regexp="yes">re|ve|ll|d</token>
                </pattern>
                <message>An accent character was used instead of an apostrophe.</message>
                <suggestion>\1'\3</suggestion>
                <suggestion>\1’\3</suggestion>
                <short>Accent character misused as apostrophe</short>
                <example correction="You'll|You’ll"><marker>You´ll</marker> have to decide.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">a(i|re)n|can|couldn|didn|do(es)?n|ha[ds]n|haven|isn|m(ay|ight|ust)n|needn|oughtn|sh(a|ould)n|w(as|ere|o)n|wouldn</token>
                    <token regexp="yes" min="0">[^'’`´‘]</token>
                    <token>t</token>
                </pattern>
                <message>Did you mean <suggestion>\1'\3</suggestion> or <suggestion>\1’\3</suggestion>?</message>
                <example correction="shouldn't|shouldn’t">You <marker>shouldn;t</marker> do it!</example>
                <example correction="couldn't|couldn’t">I <marker>couldn t</marker> do it!</example>
            </rule>
            <rule>
                <pattern>
                    <token postag="WP"/>
                    <token spacebefore="no" regexp="yes">[´`]</token>
                    <token spacebefore="no" regexp="yes">d|ll|re|s</token>
                </pattern>
                <message>An accent character was used instead of an apostrophe.</message>
                <suggestion>\1'\3</suggestion>
                <suggestion>\1’\3</suggestion>
                <short>Accent character misused as apostrophe</short>
                <example correction="What's|What’s"><marker>What´s</marker> the problem?</example><!-- ANSI value 180. Also found by NON_STANDARD_WORD. This rule gives a more specific message. -->
                <example correction="what'll|what’ll">... and <marker>what`ll</marker> you do?</example><!-- ANSI value 96. -->
                <example correction="who'd|who’d">... but <marker>who´d</marker> do it?</example>
                <example correction="that'd|that’d">... and <marker>that`d</marker> be a problem for us.</example>
                <example><marker>What’s</marker> the problem?</example>
                <example>... as follows: (`s, ´t, ...).</example>
                <example>Sa`d ibn Abi Waqqas played a part in the...</example>
            </rule>
            <rule>
                <pattern><!-- Possessive or abbreviation of 'is' -->
                    <token postag_regexp="yes" postag="NN.*"/>
                    <token spacebefore="no" regexp="yes">[´`]</token>
                    <token spacebefore="no">s</token>
                </pattern>
                <message>An accent character was used instead of an apostrophe.</message>
                <suggestion>\1'\3</suggestion>
                <suggestion>\1’\3</suggestion>
                <short>Accent character misused as apostrophe</short>
                <example correction="book's|book’s">The <marker>book´s</marker> easy to read.</example>
                <example correction="agent's|agent’s">Go to the travel <marker>agent`s</marker> office.</example>
            </rule>
        </rulegroup>

        <rulegroup id="SPURIOUS_APOSTROPHE" name="two tank's (tanks)">
            <url>https://onlinewritingtraining.com.au/apostrophe-usage-use/</url>
            <short>Spurious apostrophe</short>
            <antipattern><!-- Refer to #4823 -->
                <token chunk_re="[BIE]-NP-(singular|plural)" postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">.*[a-z0-9].*</token>
                <token postag="CD" />
            </antipattern>
            <antipattern><!-- name of musician (https://en.wikipedia.org/wiki/50_Cent) -->
                <token>50</token>
                <token>Cent</token>
            </antipattern>
            <antipattern><!-- name of tech product -->
                <token>let</token>
                <token>'s</token>
                <token>encrypt</token>
            </antipattern>
            <antipattern>
                <token regexp="yes" skip="2">[\$€£#¥฿]</token>
                <token postag="CD" />
            </antipattern>
            <antipattern>
                <token postag="NN.*" postag_regexp="yes" />
                <token spacebefore="no">'s</token>
                <token regexp="yes">[\$€£#]</token>
            </antipattern>
            <antipattern>
                <token postag="NNP?" postag_regexp="yes" />
                <token spacebefore="no">'s</token>
                <token postag="JJ.*" postag_regexp="yes" min="0" />
                <token postag="NN.*|UNKNOWN|CD" postag_regexp="yes" regexp="yes">.*[a-z0-9].*</token>
            </antipattern>
            <antipattern>
                <token postag="NNP?" postag_regexp="yes" />
                <token spacebefore="no">'s</token>
                <token regexp="yes">and|or|&amp;|,</token>
                <token postag="NNP?|UNKNOWN" postag_regexp="yes" />
            </antipattern>
            <antipattern><!-- rule 3: the other one's a boy, too -->
                <token>one</token>
                <token spacebefore="no">'s</token>
                <token postag="DT"/><!-- #4814 Not: The 3 SME's that have already -->
                <token min="0" max="4" chunk_re="I-NP-(singular|plural)"/>
                <token chunk_re="E-NP-(singular|plural)" postag="NN.*" postag_regexp="yes"/>
                <token postag="PCT"/>
            </antipattern>
            <antipattern>
                <token regexp="yes">any|some</token>
                <token postag="NNP?" postag_regexp="yes" />
                <token spacebefore="no" postag="SENT_END">'s</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">any|some</token>
                <token postag="NNP?" postag_regexp="yes" />
                <token spacebefore="no">'s</token>
                <token regexp="yes">\p{P}</token>
            </antipattern>
            <antipattern>
                <token regexp="yes">McDonald|Wendy|Lowe|Macy|Sainsbury|Kellog</token>
                <token spacebefore="no">'s</token>
            </antipattern>
            <antipattern><!-- Book name https://en.wikipedia.org/wiki/The_Mind's_I -->
                <token>The</token>
                <token>Mind</token>
                <token spacebefore="no">'s</token>
                <token>I</token>
            </antipattern>
            <rule>
                <pattern>
                    <token postag="CD">
                        <exception regexp="yes">one|1|[12]\d{3}</exception>
                        <exception scope="previous">×</exception>
                    </token>
                    <token postag="JJ.*" min="0" postag_regexp="yes">
                        <exception regexp="yes">in|on|out|off|of</exception>
                    </token>
                    <marker>
                        <token postag="NNP?" postag_regexp="yes">
                            <exception regexp="yes">pro|max</exception>
                            <exception postag="NNP?S" postag_regexp="yes" />
                        </token>
                        <token spacebefore="no">'s</token>
                    </marker>
                </pattern>
                <message>The possessive apostrophe seems to be incorrect. Please remove the apostrophe if you want to use the plural form of '\3'.</message>
                <suggestion suppress_misspelled="yes"><match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <example correction="tanks">He has two <marker>tank's</marker></example>
                <example correction="glasses">He drank four <marker>glass's</marker> of wine.</example>
                <example correction="macros">It consist of two <marker>macro’s</marker> actually.</example>
                <example correction="APIs">This daemon utilizes two <marker>API’s</marker>.</example>
                <example correction="CDs">Sami got two <marker>CD's</marker> for six dollars.</example>
                <example correction="IDs|Ids">Currently I have about 600 unique <marker>ID’s</marker>, and between them about 3,000 aliases.</example>
                <example correction="exes|ices">There’s a big difference between someone with 1 ex who hates them, compared to 50 <marker>ex’s</marker> who hate them.</example>
                <example correction="outlets">If you can add 2 smart <marker>outlet’s</marker> and normal USBs would be better.</example>
                <example correction="URLs">If you have 100 stores, would they not have 100 different <marker>URL’s</marker> that you would be checking with Synthetics?</example>
                <example correction="URLs">Would they not control 100 different <marker>URL’s</marker> that you want to evaluate?</example><!-- #4823 -->
                <example correction="CEOs">More than 50 business organizations and 120 <marker>CEO's</marker> signed on to help make this campaign a success.</example>
                <example correction="techs">I’ve also had seven <marker>tech’s</marker> and mechanics look at it and not find the battery drain.</example>
                <example correction="hours">Disagree on walmart not being far away where my daughter lived in Nevada it was 3 <marker>hour’s</marker> to a walmart.</example>
                <example correction="manufacturers">... rather than splitting the purchases between all three <marker>manufacturer's</marker>.</example>
                <example correction="SMEs">The 3 <marker>SME's</marker> that have already committed to being on film need to be keep in the lope regarding the timeline.</example>
                <example correction="jacks">The song I got from is where a full house (three <marker>jack’s</marker> and a pair of nine’s) goes up against a royal flush and the singer loses it all.</example>
                <example correction="CDs">I have 5 <marker>CD's</marker>.</example>
                <example>1933 World's Fair</example>
                <example>He is puzzled as to why three women's names were there.</example>
                <example>A total of 387 schools, 7 teacher's houses, and several vocational buildings had been built.</example>
                <example>With regards to Section 9.9 Seller's Representative.</example>
                <example>Dragon 32 programmer's reference guide.</example>
                <example>Intel 80286 and 80287 Programmer's Reference Manual at bitsavers.org.</example>
                <example>The 2015 movie's final scene flashed in Jacob O'Connor's mind.</example>
                <example>It’s got a 3.2 out of 5 on Amazon, a 6 out of 10 from Digital Trends, and a 2.8 out of 5 on Samsung’s own website.</example>
                <example>Jones noted that Exelon's market capitalization of $21.3 billion tops Dynegy's $15.9 billion.</example>
                <example>Closes above last Friday's high crossing at 168 would renew this spring's rally making the 62% retracement level of this winter's decline crossing at 169.40 July's next target.</example>
                <example>Bill has coached five U.S. National Team members, nine U.S. National Champions, and two Master's World champions.</example>
                <example>Called the "HY-KERS Concept", Ferrari's hybrid system adds more than 100 horsepower on top of the 599 Fiorano's 612 HP.</example>
                <example>Dre produced three songs and provided vocals for two on Eminem's successful and controversial debut album The Slim Shady LP, released in 1999.</example>
                <example>Iowa State University is organized into eight colleges and two schools that offer 100 Bachelor's degree programs, 112 Masters programs, and 83 Ph.</example>
                <example>It was also a crossover smash, reaching No. 1 on Billboard's Easy Listening chart and No. 2 on Billboard's Country survey.</example>
                <example>During the two months that the Piece of Me Tour was performed, it ranked at 86 and 30 on Pollstar's 2018 Year-End Top 100 Tours chart both in North America and worldwide, respectively.</example>
                <example>The media marvelled at a man named Bo #16 ranked Auburn's Heisman bro.</example>
                <example>After another delay based on producing other artists' work, Detox was then scheduled for a 2010 release, coming after 50 Cent's Before I Self Destruct and Eminem's Relapse.</example>
                <example>I believe there’s an issue with this specific subnet, it’d be lovely if any let’s encrypt engineer could look into it.</example>
                <example>The majority of Cardiff's shopping portfolio.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">
                        plenty|lots?|couple|majority|pair|bunch|handful
                    </token>
                    <token>of</token>
                    <token postag="JJ.*" min="0" postag_regexp="yes">
                        <exception regexp="yes">in|on|out|off|of</exception>
                    </token>
                    <marker>
                        <token postag="NNP?" postag_regexp="yes">
                            <exception regexp="yes">pro|max</exception>
                            <exception postag="NNP?S" postag_regexp="yes" />
                        </token>
                        <token spacebefore="no">'s</token>
                    </marker>
                </pattern>
                <message>The possessive apostrophe seems to be incorrect. Please remove the apostrophe if you want to use the plural form of '\4'.</message>
                <suggestion suppress_misspelled="yes"><match no="4" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <example correction="APIs">A lot of modern <marker>API's</marker> are based on JSON.</example>
                <example correction="CDs">I burned you a couple of <marker>CD's</marker>, some old stuff, some new stuff.</example>
                <example correction="nines">The song I got from is where a full house (three jack’s and a pair of <marker>nine’s</marker>) goes up against a royal flush and the singer loses it all.</example>
                <example>A majority of FERC's governing board believes that price caps would deter investors from building new power plants in California, thereby complicating efforts to increase energy supplies.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">many|plenty|other|few|several|some|any|various|numerous</token>
                    <token postag="JJ.*" min="0" postag_regexp="yes">
                        <exception regexp="yes">in|on|out|off|of</exception>
                    </token>
                    <marker>
                        <token postag="NNP?" postag_regexp="yes">
                            <exception regexp="yes">pro|max</exception><!-- unsure about plural of McDonald and Wendy (fast food chains) -->
                            <exception postag="NNP?S" postag_regexp="yes" />
                        </token>
                        <token spacebefore="no">'s</token>
                    </marker>
                </pattern>
                <message>The possessive apostrophe seems to be incorrect. Please remove the apostrophe if you want to use the plural form of '\3'.</message>
                <suggestion suppress_misspelled="yes"><match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <example correction="APIs">Many modern <marker>API's</marker> are based on JSON.</example>
                <example correction="KPIs">The idea is for our dashboard to show some key <marker>KPI’s</marker>.</example>
                <example correction="customers">But we have many <marker>customer’s</marker> in Dallas region.</example>
                <example correction="months">I had the engine replaced a few <marker>month’s</marker> ago.</example>
                <example correction="others">I know several <marker>other’s</marker> that have also had problems.</example>
<!--                <example correction="QFs">Several <marker>QF's</marker> have expressed interest, but the utility won't return calls.</example> FN caused by AP6 -->
                <example correction="ones">... and numerous <marker>one's</marker> the man saw are defective.</example>
                <example correction="girls">Several <marker>girl's</marker> that the man saw were laughing.</example>
                <example>That's all Jamal's fault.</example>
                <example>It's all Tom's.</example>
                <example>I've got two kids. One of them is a boy, and the other one's a boy, too.</example>
                <example>You can't get this at any bookseller's.</example>
                <example>Are these Tom's and Mary's bags?</example>
                <example>Are these Tom's?</example>
                <example>Are these all Tom's?</example>
                <example>Salvador, All Saint's Bay, Brazil.</example>
            </rule>
            <rule>
                <antipattern>
                    <token postag="VB.*|MD|UNKNOWN" postag_regexp="yes" skip="1" />
                    <token regexp="yes" skip="1">
                        these|those|all
                    </token>
                    <token postag="NNP?" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">
                        these|those|all
                    </token>
                    <token postag="JJ.*" min="0" postag_regexp="yes">
                        <exception regexp="yes">in|on|out|off|of|all</exception>
                    </token>
                    <marker>
                        <token postag="NNP?" postag_regexp="yes">
                            <exception regexp="yes">pro|max</exception><!-- unsure about plural of McDonald and Wendy (fast food chains) -->
                            <exception postag="NNP?S" postag_regexp="yes" />
                        </token>
                                                <token spacebefore="no">'s</token>
                    </marker>
                </pattern>
                <message>The possessive apostrophe seems to be incorrect. Please remove the apostrophe if you want to use the plural form of '\3'.</message>
                <suggestion suppress_misspelled="yes"><match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <example correction="APIs">Many of those <marker>API's</marker> are based on JSON.</example>
                <example correction="offers">All <marker>offer's</marker> out of November.</example>
                <example correction="CEOs">Jeff Bezos is indicative of All <marker>CEO’s</marker> in America.</example>
                <example correction="Q&amp;As">These <marker>Q&amp;A's</marker> are targeted primarily to terminated employees.</example>
                <example correction="PCs">All <marker>PC's</marker> will be moved next week unless they have been notified of specific problems.</example>
                <example>That's all Jamal's fault.</example>
                <example>It's all Tom's.</example>
                <example>Are these Tom's and Mary's bags?</example>
                <example>Are those Tom's?</example>
                <example>Are all these really Tom's?</example>
                <example>Are these all Tom's?</example>
                <example>All Let’s Encrypt certificates are X.509.</example>
            </rule>
            <rule>
                <antipattern>
                    <token>'s</token>
                    <token postag="RB"/>
                    <token postag="VBG"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">some|both|no|any</token>
                    <token postag="NN.*" postag_regexp="yes"></token>
                    <token>'s</token>
                    <token postag="NN.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token regexp="yes">some|both|no|any</token>
                    <token postag="NN.*" postag_regexp="yes"></token>
                    <token>'s</token>
                    <token postag="JJ"/>
                    <token postag="NN.*" postag_regexp="yes"/>
                </antipattern>
                <antipattern>
                    <token>all</token>
                    <token postag="NN.*" postag_regexp="yes" />
                    <token>'s</token>
                    <token postag="JJ|NN.*|UNKNOWN" postag_regexp="yes" />
                </antipattern>
                <pattern>
                    <token regexp="yes">many|several|few|both|enough|more|fewer|some|any|no|th[eo]se</token>
                    <marker>
                        <token postag='NN.*' postag_regexp='yes'><exception postag="NNS"/></token>
                        <token>'s</token>
                    </marker>
                    <token><exception postag="NNS|VBG" postag_regexp="yes"/></token>
                </pattern>
                <message>The possessive apostrophe seems to be incorrect. Please remove the apostrophe if you want to use the plural form of '\2'.</message>
                <suggestion suppress_misspelled="yes"><match no="2" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <example correction="CDs">I have many <marker>CD's</marker>.</example>
                <example>And several days ago, we all went to this gorgeous ranch where some millionaire's going to build a golf course.</example>
                <example>Any technology that deals in meta-meta-models is going to be a hard sell, no matter how many analyst's reports have been written.</example>
                <example>Some guy's probably making money on this.</example>
                <example>The first people in space who had never been a member of any country's armed forces were both Konstantin Feoktistov and Boris Yegorov aboard Voskhod 1.</example>
                <example>That is all Mexico's territory.</example>
            </rule>
            <rule>
                <pattern>
                    <token>the</token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" />
                    <marker>
                        <token postag="NN|NN:UN?" postag_regexp="yes">
                            <exception regexp="yes">pro|max</exception>
                        </token>
                                                <token spacebefore="no">'s</token>
                    </marker>
                    <token case_sensitive="yes" regexp="yes">[Ww]e|[Ss]he|[Ii]t|I|[Tt]hey|[Yy]ou</token>
                </pattern>
                <message>The possessive apostrophe seems to be incorrect. Please remove the apostrophe if you want to use the plural form of '\3'.</message>
                <suggestion suppress_misspelled="yes"><match no="3" postag="NNP?S" postag_regexp="yes"/></suggestion>
                <example correction="ideas">The <marker>idea's</marker> we had were all really good.</example>
                <example correction="ones">Those are the <marker>one's</marker> I tested.</example>
                <example correction="problems">Need I say anything about the <marker>problem’s</marker> it causes?</example>
                <example correction="replies">Nowhere in any of the <marker>reply’s</marker> I see an explanation for that.</example>
                <example>If you’ve read and enjoyed Hofstadter and Dennet’s The Mind’s I, I would very strongly recommend it.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">for|with(out)?|from|on|to</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0">
                        <exception regexp="yes">an?|one|the</exception>
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" min="0" chunk_re=".-NP.*" />
                    <marker>
                        <token postag="NN|NN:UN?" postag_regexp="yes" />
                                                <token spacebefore="no">'s</token>
                    </marker>
                    <token regexp="yes">that|who|which</token>
                    <token postag="VB.*" postag_regexp="yes" />
                </pattern>
                <message suppress_misspelled="yes">The possessive apostrophe seems to be incorrect. Did you mean the plural noun <suggestion><match no="4" postag="NNS" postag_regexp="yes" /></suggestion>?</message>
                <example correction="users">This should be sent to <marker>user's</marker> that don't have Premium yet.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">where|what|when|who|which|why|that</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0">
                        <exception regexp="yes">an?|one|the</exception>
                    </token>
                    <marker>
                        <token postag="NN|NN:UN?" postag_regexp="yes">
                            <exception case_sensitive="yes" regexp="yes">[A-Z][a-z].*</exception>
                        </token>
                                                <token spacebefore="no">'s</token>
                    </marker>
                    <token postag="MD" />
                    <token postag="RB" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message suppress_misspelled="yes">The possessive apostrophe seems to be incorrect. Did you mean the plural noun <suggestion><match no="3" postag="NNS" postag_regexp="yes" /></suggestion>?</message>
                <example correction="users">This is the place where <marker>user's</marker> would go.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes">where|what|when|who|which|why|that</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0">
                        <exception regexp="yes">an?|one|the</exception>
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-NP.*" />
                    <marker>
                        <token postag="NN|NN:UN?" postag_regexp="yes">
                            <exception case_sensitive="yes" regexp="yes">[A-Z][a-z].*</exception>
                        </token>
                                                <token spacebefore="no">'s</token>
                    </marker>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message suppress_misspelled="yes">The possessive apostrophe seems to be incorrect. Did you mean the plural noun <suggestion><match no="4" postag="NNS" postag_regexp="yes" /></suggestion>?</message>
                <example correction="users">This is the place where most <marker>user's</marker> would go.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">think|hope|believe|doubt|assume|know</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0">
                        <exception regexp="yes">an?|one|the</exception>
                    </token>
                    <marker>
                        <token postag="NN|NN:UN?" postag_regexp="yes">
                            <exception case_sensitive="yes" regexp="yes">[A-Z][a-z].*</exception>
                        </token>
                                                <token spacebefore="no">'s</token>
                    </marker>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message suppress_misspelled="yes">The possessive apostrophe seems to be incorrect. Did you mean the plural noun <suggestion><match no="3" postag="NNS" postag_regexp="yes" /></suggestion>?</message>
                <example correction="users">I think <marker>user's</marker> would expect it there.</example>
            </rule>
            <rule>
                <pattern>
                    <token regexp="yes" inflected="yes">think|hope|believe|doubt|assume|know</token>
                    <token postag="DT|PRP\$" postag_regexp="yes" min="0">
                        <exception regexp="yes">an?|one|the</exception>
                    </token>
                    <token postag="JJ.*" postag_regexp="yes" chunk_re=".-NP.*" />
                    <marker>
                        <token postag="NN|NN:UN?" postag_regexp="yes">
                            <exception case_sensitive="yes" regexp="yes">[A-Z][a-z].*</exception>
                        </token>
                                                <token spacebefore="no">'s</token>
                    </marker>
                    <token postag="MD" />
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token postag="RB" min="0" />
                    <token postag="VB" chunk_re=".-VP" />
                </pattern>
                <message suppress_misspelled="yes">The possessive apostrophe seems to be incorrect. Did you mean the plural noun <suggestion><match no="4" postag="NNS" postag_regexp="yes" /></suggestion>?</message>
                <example correction="users">I think most <marker>user's</marker> would expect it there.</example>
            </rule>
        </rulegroup>

        <rule id="APOSTROPHE_IN_DATES" name="Apostrophe in dates">
            <pattern>
                <token spacebefore="yes" regexp='yes'>(:?[1-2]\d)?\d0<exception regexp='yes'>2[1-9]\d0</exception></token>
                <token>'s</token>
            </pattern>
            <message>Apostrophes aren't needed for decades.</message>
            <suggestion><match no="1"/><match no="2" regexp_match="'" regexp_replace=""/></suggestion>
            <url>https://www.monash.edu/about/editorialstyle/editing/apostrophes</url>
            <short>Apostrophe in a decade date</short>
            <example correction='1990s'>Hillary Clinton asked where Bernie Sanders was in the <marker>1990's</marker>.</example>
            <example correction='90s'>Hillary Clinton asked where Bernie Sanders was in the <marker>90's</marker>.</example>
            <example correction='1990s'>Where were you in the <marker>1990’s</marker>?</example>
            <example>Disc wheels replaced the <marker>Alvis 12/70</marker>'s wire wheels and are fitted with larger tyres.</example>
        </rule>
        <rulegroup id="APOSTROPHE_IN_DAYS" name="Apostrophe in holidays (Mother's Day)">
            <url>https://www.latimes.com/tn-gnp-a-word-please-a-guide-on-how-to-write-names-of-holidays-20141227-story.html</url>
            <rule>
                <pattern>
                    <token regexp="yes">Valentines|Mothers|Fathers|Patricks</token>
                    <token regexp="yes" min="0" spacebefore="no">&apostrophe;</token>
                    <token>day</token>
                </pattern>
                <message>The official / recommended spelling of this holiday is: <suggestion><match no="1" case_conversion="startupper" regexp_match="s$" regexp_replace="'s"/> Day</suggestion></message>
                <example correction="Valentine's Day">What did you do on <marker>Valentines day</marker> last year?</example>
            </rule>
            <rule>
                <pattern>
                    <token>New</token>
                    <token>Years</token>
                    <token regexp="yes" min="0" spacebefore="no">&apostrophe;</token>
                    <token regexp="yes">Day|Eve</token>
                </pattern>
                <message>The official / recommended spelling of this holiday is: <suggestion>New Year's <match no="4" case_conversion="startupper"/></suggestion></message>
                <example correction="New Year's Day">What did you do on <marker>New Years' Day</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>New</token>
                    <token>Years</token>
                    <token regexp="yes" min="0" spacebefore="no">&apostrophe;</token>
                    <token regexp="yes">resolutions?|goals?|wish(es)?|countdown|card|fireworks|greetings?|holidays?|kiss(es)?</token>
                </pattern>
                <message>It seems that a possessive apostrophe is missing.</message>
                <suggestion>New Year's \4</suggestion>
                <url>https://languagetool.org/insights/post/possessive-apostrophe/</url>
                <example correction="New Year's resolutions">What are your <marker>New Years resolutions</marker>?</example>
            </rule>
            <rule>
                <pattern>
                    <token>Veteran</token>
                    <token>'s</token>
                    <token>Day</token>
                </pattern>
                <message>This US public holiday is spelled <suggestion>Veterans Day</suggestion>.</message>
                <url>https://www.lexico.com/definition/veterans_day</url>
                <example correction="Veterans Day">He hosted a party on <marker>Veteran's Day</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>Patriot</token>
                    <token>'s</token>
                    <token>Day</token>
                </pattern>
                <message>This US public holiday is spelled <suggestion>Patriots' Day</suggestion>.</message>
                <url>https://www.lexico.com/definition/patriots'_day</url>
                <example correction="Patriots' Day">He hosted a party on <marker>Patriot's Day</marker>.</example>
            </rule>
            <rule>
                <pattern>
                    <token>Patriots</token>
                    <token>Day</token>
                </pattern>
                <message>This US public holiday is spelled <suggestion>Patriots' Day</suggestion>.</message>
                <url>https://www.lexico.com/definition/patriots'_day</url>
                <example correction="Patriots' Day">He hosted a party on <marker>Patriots Day</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">All|ALL</token>
                    <token regexp="yes">Saints|SAINTS|Hallows|HALLOWS|Souls|SOULS</token>
                    <token regexp="yes">&apostrophe;</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token>All</token>
                    <token regexp="yes">Saints?|Hallows?|Souls?</token>
                    <token regexp="yes" min="0">&apostrophe;</token>
                    <token>Day</token>
                </pattern>
                <message>Did you mean <suggestion>All <match no="2" regexp_match="[twl]$" regexp_replace="s" case_conversion="startupper" />' Day</suggestion>?</message>
                <url>https://www.merriam-webster.com/dictionary/All%20Saints%27%20Day</url>
                <example correction="All Saints' Day"><marker>All Saints Day</marker> is a Christian festival celebrated in honour of all the saints.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">International|INTERNATIONAL</token>
                    <token regexp="yes">Women|WOMEN</token>
                    <token regexp="yes">'s|'S</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token>international</token>
                    <token regexp="yes">wom[ae]ns?</token>
                    <token regexp="yes" min="0">&apostrophe;|'s</token>
                    <token>day</token>
                </pattern>
                <message>Did you mean the global holiday <suggestion>International Women's Day</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/International_Women's_Day</url>
                <example correction="International Women's Day">Let's celebrate <marker>international womans day</marker>.</example>
            </rule>
            <rule>
                <antipattern case_sensitive="yes">
                    <token regexp="yes">Women|WOMEN</token>
                    <token regexp="yes">'s|'S</token>
                    <token regexp="yes">Day|DAY</token>
                </antipattern>
                <pattern>
                    <token>happy</token>
                    <marker>
                        <token regexp="yes">wom[ae]ns?</token>
                        <token regexp="yes" min="0">&apostrophe;|'s</token>
                        <token>day</token>
                    </marker>
                </pattern>
                <message>Did you mean the global holiday <suggestion>Women's Day</suggestion>?</message>
                <url>https://en.wikipedia.org/wiki/International_Women's_Day</url>
                <example correction="Women's Day">Happy <marker>womans day</marker>.</example>
            </rule>
        </rulegroup>
        <rulegroup id="CAPITALIZATION_NNP_DERIVED" name="Capitalization of words derived from proper nouns"><!-- 1) AmE and BrE have different capitalization, but for simplicity, put all the terms in one general rule. If necessary, move the rule to the locale-specific directory and edit as necessary. 2) Cannot use <or> in the pattern; a rulegroup is necessary. -->
            <url>https://www.btb.termiumplus.gc.ca/tpv2guides/guides/wrtps/index-eng.html?lang=eng&amp;lettr=indx_catlog_c&amp;page=9Yk5QGXu4S3I.html</url>
            <rule><!-- verbs -->
                <pattern><!-- case_sensitive does not give the expected result, nor does (?-i) on a token. Cf the adjective rule. -->
                    <token postag_regexp="yes" postag="VB.*" inflected="yes" regexp="yes">(attic|balkan|creol|dor|gaelic|japan|polon|roman|sinic|western)i(s|z)e<exception case_sensitive="yes" regexp="yes">[A-Z].+</exception></token>
                </pattern>
                <message>Possible incorrect capitalization. Some verbs that are derived from proper nouns can have both an initial capital letter and an initial lower case letter. If there is a close association with the proper noun, use <suggestion><match no="1" case_conversion="startupper"/></suggestion>.</message>
                <short>Capitalization: words from proper nouns</short>
                <example correction="Balkanize">During the decline of the Ottoman Empire, these areas began to <marker>balkanize</marker>.</example>
                <example correction="Balkanises">... as it <marker>balkanises</marker> the surrounding states.</example>
                <example>During the decline of the Ottoman Empire, these areas began to <marker>Balkanize</marker>.</example>
                <example>The missionaries tried to <marker>Christianise</marker> the natives.</example>
                <example type="triggers_error">Do we want to <marker>balkanize</marker> the internet?</example>
            </rule>
            <rule><!-- nouns -->
                <pattern>
                    <token postag_regexp="yes" postag="NN.*" inflected="yes" regexp="yes">reiki|(attic|balkan|creol|dor|gaelic|japan|polon|roman|sinic|western)i(s|z)(ation|er)<exception case_sensitive="yes" regexp="yes">[A-Z].+</exception></token>
                </pattern>
                <message>Possible incorrect capitalization. Some nouns that are derived from proper nouns can have both an initial capital letter and an initial lower case letter. If there is a close association with the proper noun, use <suggestion><match no="1" case_conversion="startupper"/></suggestion>.</message>
                <short>Capitalization: words from proper nouns</short>
                <example correction="Romanizers">These <marker>romanizers</marker> think that the Roman Catholic church...</example>
                <example correction="Romanization">During this period of <marker>romanization</marker>, the native British peoples...</example>
            </rule>
            <rule><!-- adjectives -->
                <pattern>
                    <token postag="JJ" regexp="yes" case_sensitive="yes">abelian|bohemian|byzantine|draconian|herculean|pharaonic|philistine|platonic|stentorian|stoic|thespian</token>
                </pattern>
                <message>Possible incorrect capitalization. Some adjectives that are derived from proper nouns can have both an initial capital letter and an initial lower case letter. If there is a close association with the proper noun, use <suggestion><match no="1" case_conversion="startupper"/></suggestion>.</message>
                <short>Capitalization: words from proper nouns</short>
                <example correction="Byzantine">Examples of this <marker>byzantine</marker> architecture…</example>
                <example>Examples of this <marker>Byzantine</marker> architecture…</example>
                <example type="triggers_error">These <marker>byzantine</marker> rules are not easy to understand.</example>
            </rule>
        </rulegroup>
  <rulegroup id="ARROWS" name="Arrows: -&gt; (→)">
    <!-- Localized from German grammar.xml, by Tiago F. Santos, 2019-02-08 -->
    <rule>
      <antipattern><!-- html comment with final PCT. -->
        <token postag="SENT_START"/>
        <token spacebefore="yes">-</token>
        <token>-</token>
        <token>&gt;</token>
      </antipattern>
      <antipattern><!-- html comment w/o final PCT -->
        <token>&lt;</token>
        <token>!</token>
        <token>-</token>
        <token skip="-1">-</token>
        <token>-</token>
        <token>-</token>
        <token>&gt;</token>
      </antipattern>
      <pattern>
          <token negate="yes">&lt;</token>
        <marker>
          <token max="2" regexp="yes">=|\-</token>
          <token>&gt;</token>
        </marker>
      </pattern>
      <message>Do you wish to insert an arrow?</message>
        <suggestion>→</suggestion>
        <suggestion>⇾</suggestion>
        <suggestion>≥</suggestion>
        <suggestion>⇉</suggestion>
        <suggestion>⇒</suggestion>
        <suggestion>⇨</suggestion>
        <suggestion>⇛</suggestion>
      <example correction="→|⇾|≥|⇉|⇒|⇨|⇛"><marker>-&gt;</marker> Point 1</example>
      <example correction="→|⇾|≥|⇉|⇒|⇨|⇛"><marker>--&gt;</marker> Point 1</example>
      <example>Important content &lt;!-- important HTML comment --&gt;</example>
    </rule>
    <rule>
      <pattern>
        <marker>
          <token>&lt;</token>
          <token spacebefore="no" regexp="yes">(?:\-|=){1,2}</token>
        </marker>
          <token negate="yes">&gt;</token>
      </pattern>
      <message>Do you wish to insert an arrow?</message>
        <suggestion>←</suggestion>
        <suggestion>⇽</suggestion>
        <suggestion>≤</suggestion>
        <suggestion>⇇</suggestion>
        <suggestion>⇐</suggestion>
        <suggestion>⇦</suggestion>
        <suggestion>⇚</suggestion>
      <example correction="←|⇽|≤|⇇|⇐|⇦|⇚">A <marker>&lt;-</marker> B</example>
      <example >A ← B</example>
      <example>-128 &lt; -127 &lt; -126</example>
    </rule>
    <rule>
      <pattern>
          <token>&lt;</token>
          <token spacebefore="no" regexp="yes">\-|=</token>
          <token spacebefore="no">&gt;</token>
      </pattern>
      <message>Do you wish to insert an arrow?</message>
        <suggestion>↔</suggestion>
        <suggestion>⇿</suggestion>
        <suggestion>⇄</suggestion>
        <suggestion>⇆</suggestion>
        <suggestion>⇋</suggestion>
        <suggestion>⇌</suggestion>
        <suggestion>⇔</suggestion>
      <example correction="↔|⇿|⇄|⇆|⇋|⇌|⇔">A <marker>&lt;=&gt;</marker> B</example>
      <example>A ⇔ B</example>
    </rule>
  </rulegroup>

  <rulegroup id='HYPOTHESIS_TYPOGRAPHY' name='Typography for hypotheses'>
    <!-- Localised from Portuguese by Tiago F. Santos, 2017-09-01 -->
    <antipattern><!-- h1 as used in markdown/textile and other -->
        <token regexp="yes" skip="5">tags?|headings?|headlines?|headers?|blogs?|(sub-?)?titles?|formats?|formatting|html|text|paragraphs?|style|wysiwyg</token>
        <token regexp="yes">H[123456]</token>
    </antipattern>
    <antipattern><!-- h1 as used in markdown/textile and other -->
        <token regexp="yes" skip="5">H[123456]</token>
        <token regexp="yes">tags?|headings?|headlines?|headers?|blogs?|(sub-?)?titles?|formats?|formatting|html|text|paragraphs?|style|wysiwyg</token>
    </antipattern>
    <antipattern><!-- BBC video on-demand stats for H1 2021. -->
        <token regexp="yes" skip="1">H[12]</token>
        <token regexp="yes">20\d{2}|[23]\d</token>
    </antipattern>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H0</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₀</suggestion>
      <example correction='H₀'><marker>H0</marker>: There are no significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H1</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₁</suggestion>
      <example correction='H₁'><marker>H1</marker>: Compound A has significant effects.</example>
      <example>BBC video on-demand stats for H1 2021.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H2</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₂</suggestion>
      <example correction='H₂'><marker>H2</marker>: Compound B has significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H3</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₃</suggestion>
      <example correction='H₃'><marker>H3</marker>: Compound A combined with compound B has significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H4</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₄</suggestion>
      <example correction='H₄'><marker>H4</marker>: There are significant effects in the absence of compound C.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H5</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₅</suggestion>
      <example correction='H₅'><marker>H5</marker>: Compound C has significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H6</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₆</suggestion>
      <example correction='H₆'><marker>H6</marker>: Compound D has significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H7</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₇</suggestion>
      <example correction='H₇'><marker>H7</marker>: Compound E has significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H8</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₈</suggestion>
      <example correction='H₈'><marker>H8</marker>: Compound F has significant effects.</example>
    </rule>
    <rule>
      <pattern case_sensitive='yes'>
          <token>H9</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>H₉</suggestion>
      <example correction='H₉'><marker>H9</marker>: Compound G has significant effects.</example>
    </rule>
  </rulegroup>

  <rulegroup id='MULTIPLICATION_SIGN' name="Mathematics: Multiplication: x - × " tags="picky">
    <!-- Localised from Portuguese by Tiago F. Santos, 2019-02-10  -->
    <rule>
      <antipattern>
          <token>M</token>
          <token>*</token>
          <token>A</token>
          <token>*</token>
          <token>S</token>
          <token>*</token>
          <token>H</token>
      </antipattern>
      <antipattern>
          <token regexp='yes'>x|\*</token>
          <token regexp='yes'>[,;]|and</token>
      </antipattern>
      <antipattern>
          <token regexp='yes'>[,;]|an|the</token>
          <token regexp='yes'>x|\*</token>
      </antipattern>
      <antipattern>
          <token regexp='yes' skip='2'>versions?|series?|v</token>
          <token regexp='yes'>\d+</token>
          <token spacebefore='no'>.</token>
          <token spacebefore='no'>x</token>
      </antipattern>
      <antipattern>
          <token regexp='yes'>\p{Lu}</token>
          <token spacebefore='no'>.</token>
          <token regexp='yes' spacebefore='yes'>\p{Lu}</token>
      </antipattern>
      <pattern>
          <token regexp="yes">[a-z]|[\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?[a-z]{0,1}</token>
        <marker>
          <token regexp='yes'>[x\*]</token>
        </marker>
          <token regexp="yes">[a-z]|[\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?[a-z]{0,1}</token>
      </pattern>
      <message>Replace with the typographical symbol.</message>
        <suggestion>×</suggestion>
        <suggestion>·</suggestion>
      <example correction="×|·">h = 6,626 <marker>x</marker> 10⁻³⁴ J.s</example>
      <example correction="×|·">h = 6.626 <marker>x</marker> 10⁻³⁴ J.s</example>
      <example correction="×|·">5 <marker>*</marker> 2 = 10</example>
      <example correction="×|·">a = 5 <marker>*</marker> x + 7</example>
      <example correction="×|·">a = 5x <marker>*</marker> 5 + 7</example>
      <example correction="×|·">a <marker>*</marker> b</example>
      <example>a = 2 · x² + 5</example>
      <example>4,5 × 2,5 = 11,25</example>
      <example>Consideremos <marker>que x é</marker> a coordenada horizontal, e y é a coordenada vertical.</example>
      <example>Rodrigues Fernandes, X. L.</example>
    </rule>
    <rule>
      <regexp>(?&lt;!([a-vyz]|[a-vyz]\d|[a-vyz]\d{2}|[a-vyz]\d{3}|[a-vyz]\d{4}|[a-vyz]\d{5}))((?!(?:[,;\(\.][x\*]([\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?)|(?:[\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?)[x\*][,;\.\)\!\?]))([\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?)[x\*]([\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+))</regexp>
      <message>Replace with the typographical symbol.</message>
        <suggestion>\4×\5</suggestion>
        <suggestion>\4·\5</suggestion>
      <example correction='2,998×10⁸|2,998·10⁸'>c=<marker>2,998x10⁸</marker> m/s</example>
      <example correction="6.626×10⁻³⁴|6.626·10⁻³⁴">h = <marker>6.626x10⁻³⁴</marker> J.s</example>
      <example correction="5×2|5·2"><marker>5*2</marker> = 10</example>
      <example>a=2·x²+5</example>
      <example>4,5×2,5=11,25</example>
      <example>Oxyhalides of americium in the form AmVIO2X2, AmVO2X, AmIVOX2 and AmIIIOX can be obtained by reacting...</example>
      <example>Number 1Z1141X30370035113</example>
    </rule>
    <rule>
      <regexp>([a-z]|[\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?[a-z]{0,1})\*([a-z]|[\d\.,⁻¹²³⁴⁵⁶⁷⁸⁹⁰]+?[a-z]{0,1})</regexp>
      <filter class="org.languagetool.rules.patterns.RegexAntiPatternFilter" args="antipatterns:sh\*t|M\*A\*S\*H"/>
      <message>Replace with the typographical symbol.</message>
        <suggestion>\1×\2</suggestion>
        <suggestion>\1·\2</suggestion>
      <example correction="5×x|5·x">a=<marker>5*x</marker>+7</example>
      <example correction="5x×5|5x·5">a=<marker>5x*5</marker>+7</example>
      <example correction="5x×5|5x·5">a=7+<marker>5x*5</marker></example>
      <example correction="a×b|a·b"><marker>a*b</marker></example>
      <example>a=2·x²+5</example>
      <example>4,5×2,5=11,25</example>
      <example>Number 1Z1141X30370035113</example>
      <example>I feel like dog sh*t.</example>
      <example type="triggers_error">... a second innings total of 356, Botham scoring 149*.</example><!-- MFU. Cannot use an antipattern with a regexp. -->
      <example type="triggers_error">6 parishes and 2 dependencies; Barbuda, Redonda*, Saint George, ...</example>
    </rule>
  </rulegroup>

  <rulegroup id='PLUS_MINUS' name="Mathematics: +- - ± ">
    <!-- Localised from Portuguese by Tiago F. Santos, 2019-02-10 -->
    <antipattern>
        <token>C</token>
        <token spacebefore="no">+</token>
        <token spacebefore="no">+</token>
    </antipattern>
      <antipattern>
          <token regexp="yes">H|B</token>
          <token spacebefore="no">+</token>
      </antipattern>
      <antipattern>
          <token>-</token>
          <token spacebefore="no">type</token>
      </antipattern>
    <rule>
      <pattern>
          <token>+</token>
          <token regexp='yes' spacebefore='no'>&hyphen;</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>±</suggestion>
      <example correction='±'>m = 75,5 <marker>+-</marker> 0,1 g</example>
      <example>a C++-based cross-platform 3D engine</example>
    </rule>
    <rule>
      <pattern>
          <token regexp='yes'>&hyphen;</token>
          <token spacebefore='no'>+</token>
      </pattern>
      <message>Replace by the typographical symbol.</message>
        <suggestion>±</suggestion>
      <example correction='±'>m = 75,5 <marker>-+</marker> 0,1 g</example>
    </rule>
  </rulegroup>

    <rulegroup id="NON_STANDARD_COMMA" name="Non-standard comma" tags="picky"><!-- #2208, picky because very low acceptance rate -->
        <short>Non-standard comma</short>
        <rule><!-- mid-word 'comma' -->
            <pattern>
                <token postag="UNKNOWN" regexp="yes">.+，.+</token>
            </pattern>
            <message>The character '，' is not a standard comma, although it can look like a comma. Use <suggestion><match no="1" regexp_match="(.+)，(.+)" regexp_replace="$1, $2"/></suggestion>.</message>
            <example correction="careful, this">Be <marker>careful，this</marker> is not a standard comma.</example>
            <example correction="10, or">You can use <marker>10，or</marker> more if necessary.</example>
            <example correction="ABC123, XYZ10">Use one of these Part Numbers: <marker>ABC123，XYZ10</marker>.</example>
            <example><marker>But, this</marker> is a standard comma and a space.</example>
            <example>China<marker>, </marker> therefore will...</example>
            <example>You can use <marker>10， or</marker> more if necessary.</example>
            <example>Do not find an isolated <marker>，</marker> like this.</example>
            <example>Do not suggest a <marker>space，</marker> because there is a space after the character.</example>
            <example>The character '，' is not a standard comma.</example>
        </rule>
        <rule><!-- space after the 'comma' -->
            <pattern>
                <token postag="UNKNOWN" regexp="yes">.+，</token>
            </pattern>
            <message>The character '，' is not a standard comma, although it can look like a comma. Use <suggestion><match no="1" regexp_match="(.+)，" regexp_replace="$1,"/></suggestion>.</message>
            <example correction="careful,">Be <marker>careful，</marker> because this is not a standard comma.</example>
            <example correction="5,">You can use <marker>5，</marker> or more if necessary.</example>
            <example><marker>But, this</marker> is a standard comma.</example>
        </rule>
    </rulegroup>

    <rule id="NON_STANDARD_QUESTION_MARK" name="Non-standard question mark"><!-- Premium #1350 -->
        <pattern>
            <token postag="UNKNOWN" regexp="yes">.*[a-z].*\uFF1F</token><!-- https://codepoints.net/U+FF1F?lang=en -->
        </pattern>
        <message>The character '？' is not a standard question mark, although it can look like a question mark.</message>
        <suggestion><match no="1" regexp_match="(.+)？" regexp_replace="$1?"/></suggestion>
        <short>Non-standard question mark</short>
        <example correction="person?">Is he an average <marker>person？</marker></example>
        <example>Is he an average <marker>person?</marker></example>
        <example>Out of scope: <marker>，</marker></example>
    </rule>

    <rulegroup id="NON_STANDARD_ALPHABETIC_CHARACTERS" name="Non-standard alphabetic characters"><!-- #2211 -->
        <url>https://www.unicode.org/charts/</url><!-- Unicode charts are in PDF format. Thus, do not link to the specific chart. Reference: www.utf8-chartable.de/unicode-utf8-table.pl?start=384&number=1024 -->
        <short>Non-standard alphabetic character</short>
        <rule id="NON_ENGLISH_CHARACTER_IN_A_WORD" name="Non-standard character in a word">
            <antipattern><!-- Greek (ankylοs) -->
                 <token regexp="yes">&languages;</token>
                 <token>(</token>
                 <token/>
            </antipattern>
            <pattern>
                <token postag="UNKNOWN" regexp="yes">[a-z]*(\u043E|\u0455|\u0435|\u0440|\u03BF)[a-z]*
                    <exception regexp="yes">.</exception><!-- Ignore a single character -->
                    </token>
            </pattern>
            <message>The character '<match no="1" regexp_match=".*(\u043E|\u0455|\u0435|\u0440|\u03BF).*" regexp_replace="$1"/>' in '\1' is not an English character, although it can look like an English character. The character can cause a spelling error and disambiguation errors. Type the word again.</message>
            <example correction="">Please <marker>оpen</marker> the door. (Contains Cyrillic small letter 'o', Unicode U+043E.)</example>
            <example correction="">Can you <marker>ѕee</marker> it? (Contains Cyrillic small letter 'dze', Unicode U+0455.)</example>
            <example correction="">Did you <marker>еat</marker> the last biscuit? (Contains Cyrillic small letter 'ie', Unicode, U+0435.)</example>
            <example correction="">This is a <marker>рea</marker>. (Contains Cyrillic small letter 'er', Unicode U+0440.)</example>
            <example correction=""><marker>Nо</marker>, thank you. (Contains Cyrillic small letter 'o'.)</example>
            <example correction=""><marker>Thiѕ</marker> is not correct. (Contains Cyrillic small letter 'dze')</example>
            <example correction="">Tell <marker>mе</marker> more! (Contains Cyrillic small letter 'ie'.)</example>
            <example correction="">Do you like the <marker>souр</marker>? (Contains Cyrillic small letter 'er')</example>
            <example correction="">The sun is <marker>hоt</marker>. (Contains Cyrillic small letter 'o'.)</example>
            <example correction="">Do <marker>nοt</marker> open the window. (Contains Greek small letter omicron, Unicode U+03BF.)</example>
            <example correction="">There is <marker>nο</marker> problem. (Unicode U+03BF.)</example>
            <example correction="">The cat is <marker>οn</marker> the mat. (Unicode U+03BF.)</example>
            <example correction=""><marker>Nοrmal</marker> operation. (Unicode U+03BF.)</example>
            <example>Please <marker>open</marker> the door.</example>
            <example>Cyrillic small letter <marker>о</marker>.</example>
            <example>...of China use astronaut while texts in Russian use <marker>космонавт</marker> (kosmonavt).</example>
            <example>Russian: <marker>Чужой</marker> simple:Alien</example>
            <example>The word '<marker>Hоuѕе</marker>' contains 3 non-standard characters.</example><!-- A rule to find more than one character is likely to cause FP for foreign words such as космонавт. -->
            <example>... <marker>ru</marker>: ....</example>
            <example>Contains Cyrillic small letter '<marker>dze</marker>'.</example>
            <example>... baby's first word "<marker>googoogoo</marker>".</example>
            <example>This is <marker>ο-u-t</marker> of scope. (Unicode U+03BF.)</example>
            <example>Cognate words are the Greek (ankylοs), meaning... (Unicode U+03BF.)</example>
            <example>... the Greek (ankylοs, which means... (Unicode U+03BF.)</example>
            <example type="triggers_error"><marker>Paeοn</marker> is probably connected with the ... (Unicode U+03BF.)</example><!-- Non-Anglicized spelling -->
        </rule>
    </rulegroup>

  </category>

    <!-- ====================================================================== -->
    <!--         E-Prime        https://en.wikipedia.org/wiki/E-Prime           -->
    <!-- ====================================================================== -->
    <category id="CREATIVE_WRITING" name="Creative Writing" type="style" default="off">
        <rule id="E_PRIME_STRICT" name="Creative Writing: E-Prime: all 'to be' forms" default="off">
        <!-- Created by Tiago F. Santos, 2018-07-09 -->
            <pattern>
                <token inflected="yes">be</token>
            </pattern>
            <message>According to E-Prime, avoiding the use of the stative verb 'to be' makes the communication clearer, more accurate, and less dogmatic. Use an alternative verb.</message>
            <url>https://litemind.com/e-prime/</url>
            <short>Using E-Prime, you should avoid the verb 'to be'.</short>
            <example correction="">This <marker>is</marker> wrong.</example>
            <example>This <marker>does not conform</marker> with my current knowledge.</example>
            <example>The data <marker>refutes</marker> that assertion.</example>
        </rule>
        <rule id="E_PRIME_LOOSE" name="Creative Writing: E-Prime: 'to be' as the main verb" default="off">
        <!-- Created by Tiago F. Santos, 2018-07-09 -->
            <antipattern>
                <token inflected="yes">be</token>
                <token min='0' max='2' postag_regexp='yes' postag='R.+'/>
                <token postag_regexp='yes' postag='V.+'>
                  <exception postag_regexp='yes' postag='N.+'/></token>
            </antipattern>
            <pattern>
                <token inflected="yes">be
                    <exception>art</exception>
                </token>
            </pattern>
            <message>According to E-Prime, avoiding the use of the stative verb 'to be' makes the communication clearer, more accurate, and less dogmatic. Use an alternative verb.</message>
            <url>https://litemind.com/e-prime/</url>
            <short>Using E-Prime, you should avoid the verb 'to be'.</short>
            <example correction="">This <marker>is</marker> right.</example>
            <example>This <marker>is</marker> conforming with my current knowledge.</example>
        </rule>

    </category>

</rules>
