I have some difficulties with formatting regular expressions in the argument of \verb
. Thank you for any help.
\documentclass[11pt]{book}
\usepackage[paperwidth=16cm, paperheight=24cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{caption}
\usepackage{mathtools}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{ragged2e}
\newcolumntype{L}[1]{>{\RaggedRight}X} % new
\input{structure.cls} %
\begin{document}
\begin{table}[!htp] % new
\small\linespread{0.84}\selectfont % reduce interline spaces
\setlength\tabcolsep{4pt} % new
\setcellgapes{2pt} % new
\makegapedcells
\begin{tabularx}{\linewidth}{|l|L{4cm}|l|} % new
\hline
\bfseries{Pour trouver} & \bfseries\makecell{RegEx à utiliser} & \bfseries{Exemple} \\
\hline
E-mail & \verb+[^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}\$]+ & [email protected] \\
\hline
Numéros de sécurité sociale américains & \verb+[^[a-z]+\$]+ & 513-84-7329 \\
\hline
Adresses IPV4 & \verb+[^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}\$]+ & 212.23.2.110\\
\hline
Dates au format MM/JJ/AAAA & \verb+[^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}\$]+ & Un seul mot non vide en minuscule \\
\hline
Numéros de cartes Mastercard & \verb+[^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}\$]+ & Exemple \\
\hline
Numéros de cartes Visa & \verb+[\b([4]\d{3}[\s]\d{4}[\s]\d{4}[\s]\d{4}|[4]\d{3}[-]\d{4}[-]\d{4}[-]\d{4}|[4]\d{3}[.]\d{4}[.]\d{4}[.]\d{4}|[4]\d{3}\d{4}\d{4}\d{4})\b]+ & Exemple \\
\hline
Numéros de cartes American Express & \verb+[^3[47][0-9]{13}\$]+ & Exemple \\
\hline
Codes ZIP US & \verb+[^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))\$]+ & Exemple \\
\hline
Chemins d’accès à des fichiers & \verb+[\\[^\\]+\$]+\$]+ & Exemple \\
\hline
URL & \verb+[(?i)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9\%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?<<>>""'']))]+ & Exemple
\hline
\end{tabularx}
\caption{Exemples d'expressions régulières couramment utilisées}\label{tab:regexCourammentUtilisees}
\end{table}
\end{document}
Header of Latex file
\documentclass[12pt]{book}
\usepackage[paperwidth=20cm, paperheight=29cm, margin=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{pifont} %Sutilise avec \usepackage{amsmath} pour la commande $\text{\ding{113}} \Delta$
\usepackage{amsmath}
\usepackage{adjustbox}
\usepackage[activate={true,nocompatibility},final,tracking=true,kerning=true,spacing=true,factor=1100,stretch=10,shrink=10]{microtype}
\usepackage{multicol}
\usepackage{mathtools}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{listings}
\usepackage{ragged2e}
\usepackage[shortlabels]{enumitem} % Pour \begin{enumerate}a)
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{paracol} %Permet de diviser la page en 2 colonnes
\usepackage{titlesec} %Pour modifier le fomat du titre de section subparagraph
\usepackage{cancel} %Pour écrire chiffres barrés
\newcolumntype{L}[1]{>{\RaggedRight}X} % new
\newcolumntype{P}[1]{>{\RaggedRight}p{#1}}
\usepackage{pdflscape} % for 'landscape' env.
\usepackage{booktabs} % for well-spaced horizontal rules
\usepackage{xurl} % for '\path' macro, allow line breaks at arbitrary points
\titleformat*{\subparagraph}{\bfseries\itshape} %Modification du fomat du titre de section subparagraph
\definecolor{light-gray}{gray}{0.9}
\newcommand{\code}[1]{\colorbox{light-gray}{\texttt{#1}}}
\DeclareMathAlphabet\mathsf{OT1}{lcmss}{m}{n}
Best Answer
You can't use
+
inside the verbatim text delimited by `\verb+...+. As a delimiter you must use a character that doesn't appear in the verbatim text.I suggest
"
that's unlikely to appear in regexes, but because of Murphy's law it does appear in the last one! (I usedT
.)Also, you need to break lines. I'd make three equal size
L
columns (by the way, your definition requires an argument that's not used, so I removed it) and usefvextra
features, see the code.Of course, I'd also recommend to remove the vertical rules, but see below for a more appealing version.