- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
private static List<string> GetNewContents(string input) {
List<int> tablesIndex = new List<int>();
string file = input;
int oldInd = 0;
while (file.IndexOf("<table") != -1) {
int ind = file.IndexOf("<table");
tablesIndex.Add(ind + oldInd);
oldInd += ind;
file = file.Substring(ind + 1);
}
List<string> pIngs = new List<string>();
for (int i = 0; i < tablesIndex.Count; i++) {
file = input.Substring(0, tablesIndex[i]);
if (file.LastIndexOf("<p") != -1) {
string res = "";
while (res == "") {
string result = string.Empty;
MatchCollection mc_col = Regex.Matches(file.Substring(file.LastIndexOf("<p")), "(?<=^|>)[^><]+?(?=<|$)", RegexOptions.IgnoreCase);
foreach (Match mat in mc_col) {
result = result + mat.Value.Replace(">", String.Empty).Replace("\n", string.Empty).Replace("\r", string.Empty).Replace(" ", " ");
}
res = result.Trim();
if (res != "")
pIngs.Add(file.Substring(file.LastIndexOf("<p")));
else {
file = file.Substring(0, file.LastIndexOf("<p") - 1);
if (file.LastIndexOf("<p") == -1) {
pIngs.Add(" ");
break;
}
}
}
} else {
pIngs.Add(" ");
}
}
List<string> titles = new List<string>();
for (int i = 0; i < pIngs.Count; i++) {
string result = string.Empty;
MatchCollection mc_col = Regex.Matches(pIngs[i], "(?<=^|>)[^><]+?(?=<|$)", RegexOptions.IgnoreCase);
//string[] sss = tdValue.Split("<".ToCharArray()[0]);
foreach (Match mat in mc_col) {
result = result + mat.Value.Replace(">", String.Empty).Replace("\n", string.Empty).Replace("\r", string.Empty).Replace(" ", " ");
}
titles.Add(result);
}
return titles;
}
может я чего не понимаю, но он точно в своем уме был, когда так html таблицы парсил?
booratihno 11.03.2021 12:41 # 0
Желание парсить его регулярками пахнет очень большим говном
Бизнес задача, требующая выпаршивать данные из HTML таблицы пахнет говном еще больше.
Освежитель воздуха "ёлочка" можно взять тут: https://html-agility-pack.net/select-single-node
Но всё равно будет пахнуть так, словно в лесу кто-то насрал
JloJle4Ka 11.03.2021 12:48 # 0
booratihno 11.03.2021 12:54 # 0
https://en.wikipedia.org/wiki/Chomsky_hierarchy#The_hierarchy
JloJle4Ka 11.03.2021 13:18 # 0
booratihno 11.03.2021 13:35 # 0
нажми на слово "Regular", и прочитай статью
JloJle4Ka 11.03.2021 13:44 # 0
И типа, для каждого языка нужен свой автомат, который может с ним работать, поэтому нельзя парсить HTML регулярками, т.к. <div>[^>]*<\div> ищет подстроку в отрыве от контекста, который в HTML важен?
bootcamp_dropout 11.03.2021 13:47 # 0
JloJle4Ka 11.03.2021 13:50 # 0
bootcamp_dropout 11.03.2021 13:53 # +1
booratihno 11.03.2021 13:57 # +2
Это не значит, что регулярные выражения можно использовать для грамматического разбора русского языка
JloJle4Ka 11.03.2021 14:22 # 0
И она выполнит свою задачу.
bootcamp_dropout 11.03.2021 14:42 # +1
bormand 11.03.2021 14:51 # +2
И эти люди нас потом ругают за речь, засранную англицизмами...
MAKAKA 11.03.2021 14:59 # 0
bormand 11.03.2021 15:02 # +1
MAKAKA 11.03.2021 15:06 # +3
--я фильм смотрел смотрел, там еще такие противные треноги были
TOPT 11.03.2021 15:09 # +3
bootcamp_dropout 11.03.2021 15:18 # +1
TOPT 11.03.2021 15:21 # +1
MAKAKA 11.03.2021 15:25 # +1
Desktop 11.03.2021 15:26 # +1
- Ы?
MAKAKA 11.03.2021 15:30 # 0
TOPT 11.03.2021 15:53 # 0
MAKAKA 11.03.2021 15:11 # 0
JloJle4Ka 11.03.2021 15:14 # 0
MAKAKA 11.03.2021 15:15 # 0
JloJle4Ka 11.03.2021 15:17 # 0
MAKAKA 11.03.2021 15:18 # 0
JloJle4Ka 11.03.2021 15:22 # 0
В общем хуиная получилась регулярка, именно поэтому я за «построение синтаксического дерева для анализа естественного языка», что бы это ни значило.
Desktop 11.03.2021 15:20 # +4
Fike 11.03.2021 15:51 # +1
bormand 11.03.2021 15:53 # +1
booratihno 11.03.2021 13:52 # +1
В любом случае это не регулярная грамматика.
И потому парсить ее обычным конечным автоматом (который и создают регулярки) будет затруднительно:)
bootcamp_dropout 11.03.2021 12:53 # +1
booratihno 11.03.2021 12:55 # 0
bormand 11.03.2021 13:38 # 0
booratihno 11.03.2021 13:39 # +1
теперь не просто забанят, но и инью посадят еще
bormand 11.03.2021 13:43 # +1