Add latex config .indentsettings.yaml
This commit is contained in:
@ -1,28 +1,29 @@
|
||||
# defaultSettings.yaml for latexindent.pl, version 3.8.1, 2020-05-05
|
||||
# defaultSettings.yaml for latexindent.pl, version 3.19.1, 2022-12-04
|
||||
# a script that aims to
|
||||
# beautify .tex, .sty, .cls files
|
||||
#
|
||||
# (or latexindent.exe if you're on Windows)
|
||||
#
|
||||
#---------------------------------------------------------------------------------------
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
#
|
||||
# This program 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 General Public License for more details.
|
||||
#
|
||||
#
|
||||
# See http://www.gnu.org/licenses/.
|
||||
#
|
||||
#
|
||||
# Chris Hughes, 2017
|
||||
#
|
||||
#
|
||||
# For all communication, please visit: https://github.com/cmhughes/latexindent.pl
|
||||
|
||||
|
||||
# You should feel encouraged to change anything you like in these settings, but
|
||||
# it would probably be better to have your own user settings
|
||||
#
|
||||
#---------------------------------------------------------------------------------------
|
||||
# You should feel encouraged to change anything you like in these settings, but
|
||||
# it would probably be better to have your own user settings
|
||||
# files somewhere else - remember that this file may be overwritten
|
||||
# when you update your tex distribution. Please see the manual linked from:
|
||||
#
|
||||
@ -31,8 +32,10 @@
|
||||
# for details of how to create and configure your own settings files.
|
||||
#
|
||||
# Please read the manual (linked from above) first to understand what each switch does.
|
||||
#
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
# latexindent can be called to act on a file without using the file's extension,
|
||||
# latexindent can be called to act on a file without using the file's extension,
|
||||
# e.g, simply
|
||||
# latexindent myfile
|
||||
# in which case the choice of file extension is chosen
|
||||
@ -47,13 +50,13 @@ fileExtensionPreference:
|
||||
# default file extension of backup file (if -w switch is active)
|
||||
# for example, if your .tex file is called
|
||||
# myfile.tex
|
||||
# and you specify the backupExtension as BACKUP.bak then your
|
||||
# and you specify the backupExtension as BACKUP.bak then your
|
||||
# backup file will be
|
||||
# myfileBACKUP.bak
|
||||
backupExtension: .bak
|
||||
|
||||
# only one backup per file:
|
||||
# - if onlyOneBackUp is 0 then, as a safety measure,
|
||||
# only one backup per file:
|
||||
# - if onlyOneBackUp is 0 then, as a safety measure,
|
||||
# the number on the extension increments by 1 each time:
|
||||
#
|
||||
# myfile.bak0, myfile.bak1, myfile.bak2
|
||||
@ -61,16 +64,16 @@ backupExtension: .bak
|
||||
# be overwritten each time (not recommended until you trust the script)
|
||||
onlyOneBackUp: 0
|
||||
|
||||
# some users may want a finite number of backup files,
|
||||
# some users may want a finite number of backup files,
|
||||
# say at most 3; in which case, they can change this maxNumberOfBackUps.
|
||||
#
|
||||
# If maxNumberOfBackUps is set to 0 (or less) then infinitely
|
||||
# If maxNumberOfBackUps is set to 0 (or less) then infinitely
|
||||
# many backups are possible, unless onlyOneBackUp is switched on
|
||||
maxNumberOfBackUps: 0
|
||||
|
||||
# some users may wish to cycle through back up files.
|
||||
# some users may wish to cycle through back up files.
|
||||
#
|
||||
# for example, with maxNumberOfBackUps: 4, they may
|
||||
# for example, with maxNumberOfBackUps: 4, they may
|
||||
# wish to delete the oldest back up file, and keep only the most recent.
|
||||
#
|
||||
# copy myfile.bak1 to myfile.bak0
|
||||
@ -87,37 +90,37 @@ logFilePreferences:
|
||||
showAmalgamatedSettings: 0
|
||||
showDecorationStartCodeBlockTrace: 0
|
||||
showDecorationFinishCodeBlockTrace: 0
|
||||
endLogFileWith: '--------------'
|
||||
endLogFileWith: '--------------'
|
||||
showGitHubInfoFooter: 1
|
||||
PatternLayout:
|
||||
default: "%A%n"
|
||||
trace: "%A%n"
|
||||
ttrace: "%A%n"
|
||||
Dumper:
|
||||
Terse: 1
|
||||
Indent: 1
|
||||
Useqq: 1
|
||||
Deparse: 1
|
||||
Quotekeys: 0
|
||||
Sortkeys: 1
|
||||
Pair: " => "
|
||||
|
||||
# verbatim environments specified
|
||||
# verbatim environments specified
|
||||
# in this field will not be changed at all!
|
||||
verbatimEnvironments:
|
||||
verbatim: 1
|
||||
lstlisting: 1
|
||||
minted: 1
|
||||
codeblock: 1 # BSuSP Thesis Listing
|
||||
|
||||
# verbatim commands such as \verb! body !, \lstinline$something else$
|
||||
verbatimCommands:
|
||||
verb: 1
|
||||
lstinline: 1
|
||||
|
||||
# no indent blocks (not necessarily verbatim
|
||||
# no indent blocks (not necessarily verbatim
|
||||
# environments) which are marked as %\begin{noindent}
|
||||
# or anything else that you detail in the following
|
||||
noIndentBlock:
|
||||
noindent: 1
|
||||
cmhtest: 1
|
||||
|
||||
# remove trailing whitespace from all lines
|
||||
removeTrailingWhitespace:
|
||||
beforeProcessing: 0
|
||||
afterProcessing: 1
|
||||
|
||||
# \begin{document} and \end{document} are treated differently
|
||||
# by latexindent within filecontents environments
|
||||
fileContentsEnvironments:
|
||||
@ -142,12 +145,16 @@ lookForPreamble:
|
||||
preambleCommandsBeforeEnvironments: 0
|
||||
|
||||
# default value of indentation
|
||||
# defaultIndent: "\t"
|
||||
defaultIndent: " "
|
||||
defaultIndent: " " # Changed from \t to double space
|
||||
|
||||
# remove trailing whitespace from all lines
|
||||
removeTrailingWhitespace:
|
||||
beforeProcessing: 0
|
||||
afterProcessing: 1
|
||||
|
||||
# name of code blocks that should have their body aligned at ampersand delimiters
|
||||
lookForAlignDelims:
|
||||
tabular:
|
||||
tabular:
|
||||
delims: 1
|
||||
alignDoubleBackSlash: 1
|
||||
spacesBeforeDoubleBackSlash: 1
|
||||
@ -160,27 +167,63 @@ lookForAlignDelims:
|
||||
dontMeasure: 0
|
||||
delimiterRegEx: '(?<!\\)(&)'
|
||||
delimiterJustification: left
|
||||
lookForChildCodeBlocks: 1
|
||||
tabularx:
|
||||
delims: 1
|
||||
longtable: 1
|
||||
tabu: 1
|
||||
array: 1
|
||||
matrix: 1
|
||||
bmatrix: 1
|
||||
Bmatrix: 1
|
||||
pmatrix: 1
|
||||
vmatrix: 1
|
||||
Vmatrix: 1
|
||||
listabla: 1
|
||||
# amsmath
|
||||
align: 1
|
||||
align*: 1
|
||||
alignat: 1
|
||||
alignat*: 1
|
||||
aligned: 1
|
||||
bmatrix: 1
|
||||
Bmatrix: 1
|
||||
cases: 1
|
||||
flalign: 1
|
||||
flalign*: 1
|
||||
pmatrix: 1
|
||||
vmatrix: 1
|
||||
Vmatrix: 1
|
||||
# mathtools
|
||||
cases*: 1
|
||||
dcases: 1
|
||||
listabla: 1
|
||||
dcases*: 1
|
||||
rcases: 1
|
||||
rcases*: 1
|
||||
drcases: 1
|
||||
drcases*: 1
|
||||
# nicematrix
|
||||
NiceTabular: 1
|
||||
NiceMatrix: 1
|
||||
pNiceMatrix: 1
|
||||
bNiceMatrix: 1
|
||||
BNiceMatrix: 1
|
||||
vNiceMatrix: 1
|
||||
VNiceMatrix: 1
|
||||
NiceArray: 1
|
||||
pNiceArrayC: 1
|
||||
bNiceArrayC: 1
|
||||
BNiceArrayC: 1
|
||||
vNiceArrayC: 1
|
||||
VNiceArrayC: 1
|
||||
NiceArrayCwithDelims: 1
|
||||
pNiceArrayRC: 1
|
||||
bNiceArrayRC: 1
|
||||
BNiceArrayRC: 1
|
||||
vNiceArrayRC: 1
|
||||
VNiceArrayRC: 1
|
||||
NiceArrayRCwithDelims: 1
|
||||
# tabularray
|
||||
tblr: 1
|
||||
longtblr: 1
|
||||
talltblr: 1
|
||||
|
||||
# if you want the script to look for \item commands
|
||||
# if you want the script to look for \item commands
|
||||
# and format it, as follows (for example),
|
||||
# \begin{itemize}
|
||||
# \item content here
|
||||
@ -191,13 +234,16 @@ lookForAlignDelims:
|
||||
# then populate indentAfterItems. See also itemNames
|
||||
indentAfterItems:
|
||||
itemize: 1
|
||||
itemize*: 1
|
||||
enumerate: 1
|
||||
enumerate*: 1
|
||||
description: 1
|
||||
description*: 1
|
||||
list: 1
|
||||
|
||||
# if you want to use other names for your items (for example, \part)
|
||||
# then populate them here; note that you can trick latexindent.pl
|
||||
# into indenting all kinds of commands (within environments specified in
|
||||
# into indenting all kinds of commands (within environments specified in
|
||||
# indentAfterItems) using this technique.
|
||||
itemNames:
|
||||
item: 1
|
||||
@ -222,17 +268,17 @@ specialBeginEnd:
|
||||
|
||||
# if you want to add indentation after
|
||||
# a heading, such as \part, \chapter, etc
|
||||
# then populate it in here - you can add
|
||||
# an indent rule to indentRules if you would
|
||||
# then populate it in here - you can add
|
||||
# an indent rule to indentRules if you would
|
||||
# like something other than defaultIndent
|
||||
#
|
||||
# you can also change the level if you like,
|
||||
# you can also change the level if you like,
|
||||
# or add your own title command
|
||||
indentAfterHeadings:
|
||||
part:
|
||||
indentAfterThisHeading: 0
|
||||
level: 1
|
||||
chapter:
|
||||
chapter:
|
||||
indentAfterThisHeading: 0
|
||||
level: 2
|
||||
section:
|
||||
@ -257,9 +303,9 @@ indentAfterHeadings:
|
||||
# maximum indentation, off by default
|
||||
maximumIndentation: -1
|
||||
|
||||
# if you don't want to have additional indentation
|
||||
# if you don't want to have additional indentation
|
||||
# in a code block, then add it to noAdditionalIndent; note that
|
||||
# code blocks in this field will inherit
|
||||
# code blocks in this field will inherit
|
||||
# the *current* level of indentation they just won't
|
||||
# get any *additional* indentation
|
||||
noAdditionalIndent:
|
||||
@ -275,7 +321,7 @@ noAdditionalIndent:
|
||||
frame: 0
|
||||
|
||||
# if you have indent rules for particular code blocks
|
||||
# then you can populate them in indentRules; for example, you might just want
|
||||
# then you can populate them in indentRules; for example, you might just want
|
||||
# to use a space " " or maybe a double tab "\t\t"
|
||||
indentRules:
|
||||
myenvironment: "\t\t"
|
||||
@ -300,7 +346,7 @@ noAdditionalIndentGlobal:
|
||||
afterHeading: 0
|
||||
filecontents: 0
|
||||
|
||||
# set indentRules globally for codeblocks; these need
|
||||
# set indentRules globally for codeblocks; these need
|
||||
# to be horizontal spaces, if they are to be used
|
||||
indentRulesGlobal:
|
||||
environments: 0
|
||||
@ -320,7 +366,7 @@ indentRulesGlobal:
|
||||
commandCodeBlocks:
|
||||
roundParenthesesAllowed: 1
|
||||
stringsAllowedBetweenArguments:
|
||||
-
|
||||
-
|
||||
amalgamate: 1
|
||||
- 'node'
|
||||
- 'at'
|
||||
@ -328,128 +374,133 @@ commandCodeBlocks:
|
||||
- 'decoration'
|
||||
- '\+\+'
|
||||
- '\-\-'
|
||||
- '\#\#\d'
|
||||
commandNameSpecial:
|
||||
-
|
||||
-
|
||||
amalgamate: 1
|
||||
- '@ifnextchar\['
|
||||
|
||||
# modifyLineBreaks will only be searched if the -m
|
||||
# change dos line breaks into unix
|
||||
dos2unixlinebreaks: 0
|
||||
|
||||
# modifyLineBreaks will only be searched if the -m
|
||||
# switch is active
|
||||
#
|
||||
# poly-switch examples:
|
||||
#
|
||||
# BeginStartsOnOwnLine:
|
||||
# BeginStartsOnOwnLine:
|
||||
# modify line breaks before a begin statement
|
||||
#
|
||||
# when set to -1, e.g
|
||||
# some text some text
|
||||
# when set to -1, e.g
|
||||
# some text some text
|
||||
# \begin{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text \begin{myenvironment}
|
||||
# when set to 0, the switch is ignored
|
||||
# when set to 1, e.g
|
||||
# when set to 1, e.g
|
||||
# some text some text \begin{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text
|
||||
# some text some text
|
||||
# \begin{myenvironment}
|
||||
# when set to 2, e.g
|
||||
# when set to 2, e.g
|
||||
# some text some text \begin{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text%
|
||||
# \begin{myenvironment}
|
||||
# when set to 3, e.g
|
||||
# when set to 3, e.g
|
||||
# some text some text \begin{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text
|
||||
#
|
||||
# \begin{myenvironment}
|
||||
#
|
||||
# BodyStartsOnOwnLine:
|
||||
# BodyStartsOnOwnLine:
|
||||
# modify line breaks before the beginning of the body
|
||||
#
|
||||
# when set to -1, e.g
|
||||
# when set to -1, e.g
|
||||
# \begin{myenv}
|
||||
# body text body text
|
||||
# will be changed to
|
||||
# \begin{myenv}body text body text
|
||||
# when set to 0, the switch is ignored
|
||||
# when set to 1, e.g
|
||||
# when set to 1, e.g
|
||||
# \begin{myenv}body text body text
|
||||
# will be changed to
|
||||
# \begin{myenv}
|
||||
# body text body text
|
||||
# when set to 2, e.g
|
||||
# when set to 2, e.g
|
||||
# \begin{myenv}body text body text
|
||||
# will be changed to
|
||||
# \begin{myenv}%
|
||||
# body text body text
|
||||
# when set to 3, e.g
|
||||
# when set to 3, e.g
|
||||
# \begin{myenv}body text body text
|
||||
# will be changed to
|
||||
# \begin{myenv}
|
||||
#
|
||||
# body text body text
|
||||
#
|
||||
# EndStartsOnOwnLine:
|
||||
# EndStartsOnOwnLine:
|
||||
# modify line breaks before the end statement
|
||||
#
|
||||
# when set to -1, e.g
|
||||
# some text some text
|
||||
# when set to -1, e.g
|
||||
# some text some text
|
||||
# \end{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text \end{myenvironment}
|
||||
# when set to 0, the switch is ignored
|
||||
# when set to 1, e.g
|
||||
# when set to 1, e.g
|
||||
# some text some text \end{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text
|
||||
# some text some text
|
||||
# \end{myenvironment}
|
||||
# when set to 2, e.g
|
||||
# when set to 2, e.g
|
||||
# some text some text \end{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text%
|
||||
# \end{myenvironment}
|
||||
# when set to 3, e.g
|
||||
# when set to 3, e.g
|
||||
# some text some text \end{myenvironment}
|
||||
# will be changed to
|
||||
# some text some text
|
||||
#
|
||||
# \end{myenvironment}
|
||||
#
|
||||
# EndFinishesWithLineBreak:
|
||||
# EndFinishesWithLineBreak:
|
||||
# modify line breaks after the end statement
|
||||
#
|
||||
# when set to -1, e.g
|
||||
#
|
||||
# when set to -1, e.g
|
||||
# \end{myenvironment}
|
||||
# some text some text
|
||||
# some text some text
|
||||
# will be changed to
|
||||
# \end{myenvironment}some text some text
|
||||
# \end{myenvironment}some text some text
|
||||
# when set to 0, the switch is ignored
|
||||
# when set to 1, e.g
|
||||
# \end{myenvironment}some text some text
|
||||
# when set to 1, e.g
|
||||
# \end{myenvironment}some text some text
|
||||
# will be changed to
|
||||
# \end{myenvironment}
|
||||
# some text some text
|
||||
# when set to 2, e.g
|
||||
# \end{myenvironment}some text some text
|
||||
# some text some text
|
||||
# when set to 2, e.g
|
||||
# \end{myenvironment}some text some text
|
||||
# will be changed to
|
||||
# \end{myenvironment}%
|
||||
# some text some text
|
||||
# when set to 3, e.g
|
||||
# \end{myenvironment}some text some text
|
||||
# some text some text
|
||||
# when set to 3, e.g
|
||||
# \end{myenvironment}some text some text
|
||||
# will be changed to
|
||||
# \end{myenvironment}
|
||||
#
|
||||
# some text some text
|
||||
# some text some text
|
||||
#
|
||||
# you can specify settings on a per-name basis
|
||||
modifyLineBreaks:
|
||||
preserveBlankLines: 1
|
||||
condenseMultipleBlankLinesInto: 1
|
||||
oneSentencePerLine:
|
||||
manipulateSentences: 0
|
||||
manipulateSentences: 0 # enable oneSentencePerLine
|
||||
removeSentenceLineBreaks: 1
|
||||
textWrapSentences: 0
|
||||
multipleSpacesToSingle: 1
|
||||
textWrapSentences: 0 # setting to 1 disables main textWrap routine
|
||||
sentenceIndent: ""
|
||||
sentencesFollow:
|
||||
par: 1
|
||||
@ -471,47 +522,30 @@ modifyLineBreaks:
|
||||
questionMark: 1
|
||||
other: 0
|
||||
textWrapOptions:
|
||||
columns: 100
|
||||
columns: 100 # Changed from 0, requires -m option
|
||||
multipleSpacesToSingle: 1
|
||||
removeBlockLineBreaks: 1
|
||||
blocksFollow:
|
||||
headings: 1
|
||||
commentOnPreviousLine: 1
|
||||
par: 1
|
||||
blankLine: 1
|
||||
verbatim: 1
|
||||
filecontents: 1
|
||||
other: '\\\]|\\item(?:\h|\[)' # regex
|
||||
blocksBeginWith:
|
||||
A-Z: 1
|
||||
a-z: 1
|
||||
0-9: 0
|
||||
other: '\\textbf' # regex
|
||||
blocksEndBefore:
|
||||
commentOnOwnLine: 1
|
||||
verbatim: 1
|
||||
filecontents: 1
|
||||
other: '\\begin\{|\\\[|\\end\{' # regex
|
||||
huge: overflow # forbid mid-word line breaks
|
||||
separator: ""
|
||||
perCodeBlockBasis: 0
|
||||
all: 0
|
||||
alignAtAmpersandTakesPriority: 1
|
||||
environments:
|
||||
quotation: 0
|
||||
ifElseFi: 0
|
||||
optionalArguments: 0
|
||||
mandatoryArguments: 0
|
||||
items: 0
|
||||
specialBeginEnd: 0
|
||||
afterHeading: 0
|
||||
preamble: 0
|
||||
filecontents: 0
|
||||
masterDocument: 0
|
||||
removeParagraphLineBreaks:
|
||||
all: 0
|
||||
beforeTextWrap: 0
|
||||
alignAtAmpersandTakesPriority: 1
|
||||
environments:
|
||||
quotation: 0
|
||||
ifElseFi: 0
|
||||
optionalArguments: 0
|
||||
mandatoryArguments: 0
|
||||
items: 0
|
||||
specialBeginEnd: 0
|
||||
afterHeading: 0
|
||||
preamble: 0
|
||||
filecontents: 0
|
||||
masterDocument: 0
|
||||
paragraphsStopAt:
|
||||
environments: 1
|
||||
verbatim: 1
|
||||
commands: 0
|
||||
ifElseFi: 0
|
||||
items: 0
|
||||
specialBeginEnd: 0
|
||||
heading: 0
|
||||
filecontents: 0
|
||||
comments: 0
|
||||
# poly-switches below here
|
||||
environments:
|
||||
BeginStartsOnOwnLine: 0
|
||||
BodyStartsOnOwnLine: 0
|
||||
@ -574,35 +608,66 @@ modifyLineBreaks:
|
||||
|
||||
# replacements, only active when either -r or -rr switches are active
|
||||
replacements:
|
||||
-
|
||||
-
|
||||
amalgamate: 1
|
||||
-
|
||||
this: 'latexindent.pl'
|
||||
that: 'pl.latexindent'
|
||||
lookForThis: 1
|
||||
lookForThis: 0
|
||||
when: before
|
||||
|
||||
# fineTuning allows you to tweak the internal pattern matching that
|
||||
# fineTuning allows you to tweak the internal pattern matching that
|
||||
# is central to latexindent.pl
|
||||
fineTuning:
|
||||
environments:
|
||||
name: '[a-zA-Z@\*0-9_\\]+'
|
||||
name: '[a-zA-Z@\*0-9_\\]+'
|
||||
ifElseFi:
|
||||
name: '@?if[a-zA-Z@]*?'
|
||||
name: '(?!@?if[a-zA-Z@]*?\{)@?if[a-zA-Z@]*?'
|
||||
commands:
|
||||
name: '[+a-zA-Z@\*0-9_\:]+?'
|
||||
items:
|
||||
canBeFollowedBy: '(?:\[[^]]*?\])|(?:<[^>]*?>)'
|
||||
keyEqualsValuesBracesBrackets:
|
||||
name: '[a-zA-Z@\*0-9_\/.\h\{\}:\#-]+?'
|
||||
name: '[a-zA-Z@\*0-9_\/.:\#-]+[a-zA-Z@\*0-9_\/.\h\{\}:\#-]*?'
|
||||
follow: '(?:(?<!\\)\{)|,|(?:(?<!\\)\[)'
|
||||
NamedGroupingBracesBrackets:
|
||||
namedGroupingBracesBrackets:
|
||||
name: '[0-9\.a-zA-Z@\*><]+?'
|
||||
follow: '\h|\R|\{|\[|\$|\)|\('
|
||||
UnNamedGroupingBracesBrackets:
|
||||
UnNamedGroupingBracesBrackets:
|
||||
follow: '\{|\[|,|&|\)|\(|\$'
|
||||
arguments:
|
||||
before: '(?:#\d\h*;?,?\/?)+|\<.*?\>'
|
||||
between: '_|\^|\*'
|
||||
trailingComments:
|
||||
notPreceededBy: '(?<!\\)'
|
||||
modifyLineBreaks:
|
||||
betterFullStop: '(?:\.\)(?!\h*[a-z]))|(?:(?<!(?:(?:e\.g)|(?:i\.e)|(?:etc))))\.(?!(?:[a-z]|[A-Z]|\-|~|\,|[0-9]))'
|
||||
doubleBackSlash: '\\\\(?:\h*\[\h*\d+\h*[a-zA-Z]+\h*\])?'
|
||||
comma: ','
|
||||
betterFullStop: |-
|
||||
(?x) # ignore spaces in the below
|
||||
(?: #
|
||||
\.\) # .)
|
||||
(?!\h*[a-z]) # not *followed by* a-z
|
||||
) #
|
||||
| # OR
|
||||
(?: #
|
||||
(?<! # not *preceeded by*
|
||||
(?: #
|
||||
(?:[eE]\.[gG]) # e.g OR E.g OR e.G OR E.G
|
||||
| #
|
||||
(?:[iI]\.[eE]) # i.e OR I.e OR i.E OR I.E
|
||||
| #
|
||||
(?:etc) # etc
|
||||
) #
|
||||
) #
|
||||
) #
|
||||
\. # .
|
||||
(?! # not *followed by*
|
||||
(?: #
|
||||
[a-zA-Z0-9-~,] #
|
||||
| #
|
||||
\), # ),
|
||||
| #
|
||||
\)\. # ).
|
||||
) #
|
||||
) #
|
||||
|
Reference in New Issue
Block a user