ich verwende Python 2.7.10 Operational System Ubuntu 15.04Regulärer Ausdruck funktioniert, wenn mit Hilfe eines Online-Tools getestet, aber funktioniert nicht, wenn in der Befehlszeile ausgeführt
Mein Ziel: Alle Spiele für einen regulären Ausdruck finden in eine gegebene Zeichenfolge.
Mein Problem: von mir entworfener regulärer Ausdruck stimmt nicht mit den beabsichtigten Wörtern überein, aber stimmt mit den Wörtern überein, die nicht übereinstimmen sollen.
Was diesen Fall ist das Besondere: Getestet habe ich meine regulären Ausdruck in Frage mit ein paar Online-regex Testanwendungen (https://regex101.com/#python UND http://pythex.org/) und meine regulären Ausdruck tut gut funktioniert passende nur die Worte, die ich brauche und diese Worte nicht passend Ich brauche keine. Es funktioniert jedoch völlig falsch, wenn es darum geht, es in der Befehlszeile auszuführen.
Bitte helfen Sie mir folgendes herauszufinden: - warum es funktioniert gut, während Sie online getestet werden und nicht funktioniert in Kommandozeile? - Wie kann ich meine Regex so verbessern, dass sie wie gewünscht funktioniert? Hier
ist der Code:
yuliaPattern = u'[Юю]л((ь(к\S*|ч\S*))|([яеию]\S*))+'
yuliaCompiled = re.compile(yuliaPattern, re.I)]
match = re_pattern.findall(text)
das resultierende Spiel ist:
(u'\u044f\xbb,', u'', u'', u'\u044f\xbb,')
oder in anderen Worten:
я», я»,
Auch ohne zu wissen, Russisch ist klar, dass somethingля etwas ganz anderes ist als "я", я und white-spaces.
Das beabsichtigte Ergebnis: Eigentlich sollte es überhaupt keine Übereinstimmungen in diesem Text geben.
Der reguläre Ausdruck ist: u'[Юю]л((ь(к\S*|ч\S*))|([яеию]\S*))+'
Es ist beabsichtigt, die Worte von Ableitung zu entsprechen: Юля, Юлия, Юльчин, Юлька Groß- und Kleinschreibung
Der Text ist: Новости 15-00<br><br>1. Олланд пригрозил войной случае неуспеха переговоров Украине<br><br>В субботу французский лидер выступил мюнхенской конференции безопасности. Комментируя ситуацию Украине дипломатические усилия Парижа Берлина разрешению конфликта Донбассе, Олланд заявил, переговоры являются «одним последних шансов» достижения регионе. случае, долговременного решения кризиса будет, случится «известный сценарий – называется войной», заявил политик.<br><br>Читать далее: <br><br>2. Силовики нанесли 14 артиллерийских ракетных ударов территории ЛНР<br><br>Обстрелам подверглись населенные пункты Первомайск, Санжаровка, Красный Лиман, Обозное, Стаханов, Кировск, Райовка, район базы отдыха «Десюля», автомобильный мост трассе «Луганск — Станица Луганская» районе памятника князю Игорю. Зафиксировано применение крупнокалиберной ствольной артиллерии реактивных систем залпового огня «Град» «Ураган».<br><br>Читать далее: br><br>3. Басурин: переговоров интенсивность обстрелов Донецка увеличилась<br><br>Басурин отметил, встречи Порошенко канцлером Германии Ангелой Меркель президентом Франции Франсуа Олландом интенсивность обстрелов Донецка увеличилась, результате мирные жители провели одну беспокойную ночь.<br>Он обратил внимание то, начинаются переговоры представителями официального Киева, сразу резко растет количество жертв. Поэтому Басурин уверен, бойцы ВСУ умышленно нагнетают обстановку из-за нежелания договариваться перемирии.<br><br>Читать далее:
Haben Sie versucht, rohe Saiten verwenden? Etwas wie 'ur' [ЮЮ] (((ь (к \ S * | \ \ S *)) | ([яеию] \ S *)) + ''für dein Muster. – zondo
Sind Sie sicher, dass Ihre Variable 'text' den von Ihnen gelieferten Text enthält? Bitte geben Sie den vollständigen relevanten Code hier ein. –
Wusste nicht, dass Python über die Befehlszeilenschnittstelle verfügt. Wie sieht der Befehlszeilencode aus? – sln