Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用多个正则表达式规则分割不同的文本,并在R中保留原始文本源信息_Regex_R_Text_Text Mining - Fatal编程技术网

Regex 如何使用多个正则表达式规则分割不同的文本,并在R中保留原始文本源信息

Regex 如何使用多个正则表达式规则分割不同的文本,并在R中保留原始文本源信息,regex,r,text,text-mining,Regex,R,Text,Text Mining,具有不同文本的字符向量。我想应用于每个多个正则表达式拆分规则。然而,我也希望保留/了解原始文本的定界。可能通过创建一个字符向量列表,其中每个列表条目都是原始向量的一个元素 假设字符向量为: texts <- c("Ich/PPER habe/VAFIN meinen/PPOSAT Berkeley/NN jetzt/ADV seit/APPR 11/CARD Jahren/NN im/APPRART fast/ADV täglichen/ADJA Einsatz/NN ./$. In/AP

具有不同文本的字符向量。我想应用于每个多个正则表达式拆分规则。然而,我也希望保留/了解原始文本的定界。可能通过创建一个字符向量列表,其中每个列表条目都是原始向量的一个元素

假设字符向量为:

texts <- c("Ich/PPER habe/VAFIN meinen/PPOSAT Berkeley/NN jetzt/ADV seit/APPR 11/CARD Jahren/NN im/APPRART fast/ADV täglichen/ADJA Einsatz/NN ./$. In/APPR der/ART Schule/NN und/KON im/APPRART Studium/NN war/VAFIN der/ART Rucksack/NN meistens/ADV bis/APPR zum/APPRART bersten/ADJA mit/APPR Büchern/NN gefüllt/VVPP ,/$, jetzt/ADV benutze/VVFIN ich/PPER das/ART gute/ADJA Stück/NN auf/APPR dem/ART Weg/NN zur/APPRART Arbeit/NN ./$. Das/ART Volumen/NN -LRB-/TRUNC 30/CARD Liter/NN -RRB-/TRUNC ist/VAFIN enorm/ADJD und/KON lässt/VVFIN sich/PRF ,/$, dank/APPR der/ART Form/NN ,/$, besonders/ADV für/APPR Bücher/NN und/KON Schreibutensilien/NN ideal/ADJD nutzen/VVINF ./$. Wer/PWS es/PPER bei/APPR der/ART Beladung/NN -LRB-/TRUNC wie/KOKOM ich/PPER regelmäßig/ADJD -RRB-/TRUNC übertreibt/VVFIN wird/VAFIN aber/ADV schnell/ADJD merken/VVINF ,/$, dass/KOUS das/ART Tragesystem/NN Komfortgrenzen/NN hat/VAFIN -LRB-/TRUNC keine/PIAT Verstärkungsschalung/NN wie/KOKOM z.B./NN bei/APPR Wanderrucksäcken/NN -RRB-/TRUNC ./$. Bei/APPR normalem/ADJA Einsatz/NN lässt/VVFIN sich/PRF der/ART Berkeley/NE dank/APPR der/ART breiten/ADJA Trageriemen/NN aber/ADV angenehm/ADJD tragen/VVINF ./$. Die/ART Reißverschlüsse/NN bei/APPR meinem/PPOSAT Modell/NN sind/VAFIN noch/ADV vollständig/ADJD vernickelt/VVPP oder/KON verchromt/VVPP ./$. Wie/PWAV gut/ADJD die/ART neuen/ADJA Zipper/NN sind/VAFIN kann/VMFIN ich/PPER also/ADV nicht/PTKNEG beurteilen/VVINF ./$. Die/ART Verarbeitungsqualität/NN ist/VAFIN großartig/ADJD ./$. Nach/APPR 11/CARD Jahren/NN ist/VAFIN jetzt/ADV eine/ART Naht/NN am/APPRART Boden/NN aufgerieben/VVPP ,/$, so/ADV dass/KOUS ich/PPER langsam/ADJD einen/ART neuen/ADJA brauche/VVFIN ./$. Ansonsten/ADV hat/VAFIN mich/PPER das/ART gute/ADJA Stück/NN nie/ADV im/APPRART Stich/NN gelassen/VVPP -LRB-/TRUNC vielleicht/ADV lasse/VVFIN ich/PPER das/PDS auch/ADV einfach/ADV nähen/VVFIN .../$( -RRB-/TRUNC ./$. ",
"Mir/PPER dient/VVFIN dieser/PDAT Rucksack/NN seit/APPR Jahren/NN ./$. Zunächst/ADV als/APPR Wickeltasche/NN :/$. -RRB-/TRUNC -LRB-/TRUNC wie/KOKOM bereits/ADV in/APPR einer/ART anderen/ADJA Rezension/NN erwähnt/VVPP ,/$, bietet/VVFIN dieser/PDAT Rucksack/NN genügend/PIAT Platz/NN für/APPR alles/PIS ,/$, was/PRELS das/ART Baby/NN unterwegs/ADV braucht/VVFIN und/KON sieht/VVFIN nicht/PTKNEG so/ADV schrullig/ADJD aus/PTKVZ wie/KOKOM die/ART meisten/PIDAT Wickeltaschen/NN -RRB-/TRUNC ./$. Ausserdem/NN nutze/VVFIN ich/PPER den/ART Rucksack/NN immer/ADV wieder/ADV bei/APPR Ausflügen/NN ./$. Da/KOUS ich/PPER ein/ART Problem/NN mit/APPR der/ART Wirbelsäule/NN habe/VAFIN und/KON Umhängetaschen/ADJA Gift/NN für/APPR meinen/PPOSAT Rücken/NN sind/VAFIN ,/$, ist/VAFIN der/ART Rucksack/NN bei/APPR besonders/ADV schwerem/ADJA Inhalt/NN das/ART einzig/ADJD Wahre/NN ./$. -LRB-/TRUNC Denn/KON wer/PWS will/VMFIN schon/ADV mit/APPR einem/ART Trolley/NN zur/APPRART Uni/NN -RRB-/TRUNC ./$. Damit/PROAV ist/VAFIN eine/ART weitere/ADJA Nutzungsmöglichkeit/NN angesprochen/VVPP :/$. Ein/ART Notebook/NN -LRB-/TRUNC 15/CARD Zoll/NN -RRB-/TRUNC findet/VVFIN wunderbar/ADJD Platz/NN im/APPRART hinteren/ADJA Fach/NN ,/$, man/PIS kann/VMFIN sich/PRF für/APPR Selbiges/NN eine/ART leichte/ADJA schützende/ADJA Hülle/NN z.B./NN von/APPR ednet/ADJD ./$. kaufen/VVINF ,/$, dann/ADV ist/VAFIN perfekter/ADJA Schutz/NN gewährleistet/VVPP ./$. Der/ART entscheidende/ADJA Vorteil/NN im/APPRART Vergleich/NN zu/APPR normalen/ADJA Notebookrucksäcken/NN ist/VAFIN der/ART ,/$, dass/KOUS man/PIS ein/ART weiteres/ADJA separates/ADJA geräumiges/ADJA Fach/NN für/APPR einen/ART dicken/ADJA -LRB-/TRUNC !/$. -RRB-/TRUNC Ordner/NN oder/KON jede/PIDAT Menge/NN Bücher/NN aus/APPR der/ART Bib/NN hat/VAFIN ./$. Wer/PWS also/ADV Magister/NN -/$( oder/KON Diplomarbeit/NN schreiben/VVINF möchte/VMFIN ,/$, wird/VAFIN sich/PRF über/APPR diesen/PDAT Rucksack/NN freuen/VVINF können/VMFIN ,/$, für/APPR die/ART Dissertation/NN muss/VMFIN dann/ADV vielleicht/ADV doch/ADV noch/ADV ein/ART Trolley/NN her/PTKVZ :/$. -RRB-/TRUNC Noch/ADV ein/ART Vorzug/NN -LRB-/TRUNC für/APPR den/ART Urlaub/NN in/APPR Neapel/NE -RRB-/TRUNC :/$. Die/ART Reissverschlüsse/NN sind/VAFIN mit/APPR normalen/ADJA Vorhängeschlössern/NN verschließbar/ADJD ,/$, das/PDS macht/VVFIN es/PPER dem/ART Straßendieb/NN zumindest/ADV mal/ADV schwieriger/ADJD ,/$, denn/KON mal/ADV eben/ADV öffnen/VVINF und/KON reingreifen/VVINF ist/VAFIN nicht/PTKNEG ./$. -LRB-/TRUNC Den/ART Schlüssel/NN sollte/VMFIN man/PIS dann/ADV natürlich/ADV nicht/PTKNEG vor/APPR dem/ART Schließen/NN der/ART Schlösser/NN in/APPR den/ART Rucksack/NN stecken/VVFIN -RRB-/TRUNC Mir/PPER gefällt/VVFIN auch/ADV ,/$, dass/KOUS der/ART Rucksack/NN ,/$, wenn/KOUS man/PIS sein/PPOSAT ganzes/ADJA Volumen/NN gerade/ADV nicht/PTKNEG nutzt/VVFIN ,/$, seitlich/ADJD so/ADV zusammengezogen/VVPP werden/VAINF kann/VMFIN ,/$, dass/KOUS er/PPER nicht/PTKNEG völlig/ADJD schlaff/ADJD und/KON ausgebeult/ADJD in/APPR der/ART Gegend/NN rumhängt/VVFIN ./$. Wer/PWS ein/ART größeres/ADJA Kind/NN hat/VAFIN ,/$, kann/VMFIN für/APPR es/PPER diesen/PDAT Rucksack/NN in/APPR der/ART Variante/NN Berkeley/NE S/XY kaufen/VVINF ./$. Obwohl/KOUS ich/PPER öfter/ADV mal/ADV durch/APPR den/ART Regen/NN laufe/VVFIN ,/$, ist/VAFIN drinnen/ADV eigentlich/ADV nichts/PIS nass/ADJD geworden/VAPP ./$. -LRB-/TRUNC Ich/PPER habe/VAFIN es/PPER aber/ADV nicht/PTKNEG stundenlang/ADJD ausprobiert/VVPP -RRB-/TRUNC meine/PPOSAT Empfehlung/NN :/$. Kaufen/NN !/$. ",
"Hat/VAFIN sich/PRF gelohnt/VVPP ,/$, ihn/PPER zu/PTKZU kaufen/VVINF ./$. Für/APPR Bücher/NN und/KON Mappen/NN in/APPR der/ART Schule/NN bestens/ADV geeignet/VVPP aber/KON auch/ADV als/APPR Tagesrucksack/NN ,/$, vor/APPR allem/PIS bei/APPR Stadtausflügen/NN ,/$, wo/PWAV die/ART Einkäufe/NN darin/PROAV verschwinden/VVFIN ,/$, ein/ART Toppteil/NN ./$. Super/ADJD ist/VAFIN der/ART ausreichend/ADJD lange/ADJA Bauchriemen/NN ,/$, auch/ADV für/APPR korpulentere/ADJA Menschen/NN geeignet/VVPP ./$. ")

在我看来,你就快到了,你使用lookarounds来分割字符串是很棒的

对我来说,似乎有两个主要问题

A.保存分隔符

分割时保存分隔符的一种方法是分两步分割。替换,而不是拆分,然后匹配所有:


  • 将您的分隔符替换为>>>分隔符{original DELIMITER}@zx81谢谢。我要找的是类似于
    c(“REGEXsplitcond1”、“REGEXsplitcond2”、“REGEXsplitcond3”)
    。仅供参考,我添加了关于保存分隔符的部分。不确定这是否有帮助,但您可以使用
    gsub(“[^[:punch:]”,“”,text)拉出文本向量中的所有标点符号
    谢谢:)是否可以提供一些在给定规则下对所提供向量有效的代码?
    textsList <- lapply(texts,
                        function(x) strsplit(as.character(x),
                                             "(?<=und/KON)\\s(?!\\S+/V)|(?<=oder/KON)\\s|(?<=/\\$[[:punct:]])\\s(?!dass/KOUS)(?!dann/ADV)(?!weil/KOUS)",
                                             perl=TRUE))
    
    [[1]]
    [[1]][[1]]
     [1] "Ich/PPER habe/VAFIN meinen/PPOSAT Berkeley/NN jetzt/ADV seit/APPR 11/CARD Jahren/NN im/APPRART fast/ADV täglichen/ADJA Einsatz/NN ./$."                                                                                                                                                                                                                 
     [2] "In/APPR der/ART Schule/NN und/KON"                                                                                                                                                                                                                                                                                                                      
     [3] "im/APPRART Studium/NN war/VAFIN der/ART Rucksack/NN meistens/ADV bis/APPR zum/APPRART bersten/ADJA mit/APPR Büchern/NN gefüllt/VVPP ,/$,"                                                                                                                                                                                                               
     [4] "jetzt/ADV benutze/VVFIN ich/PPER das/ART gute/ADJA Stück/NN auf/APPR dem/ART Weg/NN zur/APPRART Arbeit/NN ./$."                                                                                                                                                                                                                                         
     [5] "Das/ART Volumen/NN -LRB-/TRUNC 30/CARD Liter/NN -RRB-/TRUNC ist/VAFIN enorm/ADJD und/KON lässt/VVFIN sich/PRF ,/$,"
    
     ...
    
     [[3]]
    [[3]][[1]]
    [1] "Hat/VAFIN sich/PRF gelohnt/VVPP ,/$,"                                                                          
    [2] "ihn/PPER zu/PTKZU kaufen/VVINF ./$."                                                                           
    [3] "Für/APPR Bücher/NN und/KON"                                                                                    
    [4] "Mappen/NN in/APPR der/ART Schule/NN bestens/ADV geeignet/VVPP aber/KON auch/ADV als/APPR Tagesrucksack/NN ,/$,"
    [5] "vor/APPR allem/PIS bei/APPR Stadtausflügen/NN ,/$,"                                                            
    [6] "wo/PWAV die/ART Einkäufe/NN darin/PROAV verschwinden/VVFIN ,/$,"                                               
    [7] "ein/ART Toppteil/NN ./$."                                                                                      
    [8] "Super/ADJD ist/VAFIN der/ART ausreichend/ADJD lange/ADJA Bauchriemen/NN ,/$,"                                  
    [9] "auch/ADV für/APPR korpulentere/ADJA Menschen/NN geeignet/VVPP ./$."