4,007
edits
Line 88: | Line 88: | ||
Then I clicked ''From prefix till line end'' button to select all the texts. | Then I clicked ''From prefix till line end'' button to select all the texts. | ||
==The advanced technique== | |||
Sometimes the way the source text is organised is so unfortunate that it would take a crazy amount of time to prepare it for the Parser manually. In such cases you have to use a thing called regular expressions. You know how in many text editors you can search and replace pieces of text? Regular expressions is just a more advanced way of doing search and replace. | |||
Let me give you an example of the situation where regular expressions have helped me. Open the list of Roman consuls on Wikipedia and examine that list. You see how most of the time there were 2 or more consuls in each year. In the wiki text it looks like this: | |||
<blockquote><poem><nowiki> | |||
| align=center | 503 | |||
| [[Agrippa Menenius Lanatus (consul 503 BC)|Agrippa Menenius Lanatus]] | |||
| [[Publius Postumius Tubertus|P. Postumius Tubertus]] II | |||
|- | |||
| align=center | 502 | |||
| [[Opiter Verginius Tricostus (consul 502 BC)|Opet. Verginius Tricostus]] | |||
| [[Spurius Cassius Viscellinus|Sp. Cassius Viscellinus]] | |||
|- | |||
| align=center | 501 | |||
| [[Postumus Cominius Auruncus|Post. Cominius Auruncus]] | |||
| [[Titus Lartius|T. Lartius]] (Flavus ''or'' Rufus) | |||
|} | |||
</nowiki></poem></blockquote> | |||
What we want to do is to turn a block of text that looks like this:<blockquote><poem><nowiki> | |||
| align=center | 503 | |||
| [[Agrippa Menenius Lanatus (consul 503 BC)|Agrippa Menenius Lanatus]] | |||
| [[Publius Postumius Tubertus|P. Postumius Tubertus]] II | |||
</nowiki></poem></blockquote> | |||
Into this:<blockquote><poem><nowiki> | |||
[[Agrippa Menenius Lanatus (consul 503 BC)|Agrippa Menenius Lanatus]];;;;09.01.-503;; | |||
[[Publius Postumius Tubertus|P. Postumius Tubertus II]] (post.);;;;09.01.-503;; | |||
</nowiki></poem></blockquote> | |||
You can do it manually, but the problem is that there is almost 500 years worth of Roman consuls (I only did consuls of Roman Republic). | |||
Regular expressions allowed me to find every such block of text and do the needed replacements automatically. In this particular case I created the final syntax right in the text editor without using Parser at all. But a lot of times I use the text editor to prepare the text for the Parser. It all depends on the situation. | |||
I’m not going to give you a lesson on how to use regular expressions in this article. Maybe someday I will make a video on this topic. Here I’ll just tell you what you need to get to start using regular expressions and where you may find useful information about them. | |||
To use regular expressions you need a special text editor that programmers use. The one I’m using is VSCode. You can download it [https://code.visualstudio.com/ here]. Don’t worry, you don’t need to be a programmer to use it. Treat it as just a text editor. Your workflow will be: | |||
Click new file, paste the text, do replacements. Before doing searching and replacing don’t forget to press the button with dot and asterisk to activate regular expressions: | |||
[[File:SearchWithRegExp.png]] | |||
To learn about regular expressions read this [https://docs.microsoft.com/en-us/visualstudio/ide/using-regular-expressions-in-visual-studio article]. | |||
In the article they use a different text editor, which you may probably use as well (I just never used it, so I recommend the one I’m familiar with), but the syntax of regular expressions is the same no matter what text editor you use. |