ob der string beginnt und endet mit dem gleichen Wort

Ich versuche zu überprüfen ob der string beginnt und endet mit dem gleichen Wort. zBearth.

s=raw_input();
m=re.search(r"^(earth).*(earth)$",s)
if m is not None:
    print "found"

mein problem ist, wenn der string nur aus einem Wort besteht zB: earth

Derzeit habe ich hart codiert in diesem Fall durch

if m is not None or s=='earth':
    print "found"

Gibt es eine andere Möglichkeit, dies zu tun?

EDIT:

Wörter in einem string durch Leerzeichen voneinander getrennt. Suche nach einer regex-Lösung

some examples:

"Erde ist Erde" ,"Erde", --> valid

"earthearth", "eartheeearth", "Erde Erde mars" --> invalid

  • sind Sie auf der Suche nach einem bestimmten Wort (earth) oder jeder anderen zufälligen Wort
  • es kann ein beliebiges Wort sein. vorzugsweise eine Lösung mit regulären Ausdruck, aber auch andere einfache Lösungen sind auch willkommen 🙂
  • Warte, meinst du (1) wenn Sie diesen code ausführen, werden Sie wissen, was Wort, das Sie suchen, und Sie überprüfen möchten, dass die Zeichenfolge beginnt und endet mit bestimmten Wort, oder (2) es gibt kein bestimmtes Wort, Sie wollen einfach nur, um zu sehen, wenn das erste und das Letzte Wort in der Zeichenfolge gleich sind, was auch immer das Wort sein kann?
  • Was über so etwas wie eabce? es beginnt und endet mit dem gleichen Buchstaben e.
  • sorry für die Verwirrung, ich meine, (2) es gibt kein spezifisches Wort, das ich Suche. das Wort 'Erde', zum Beispiel
  • fügen Sie einige bessere Beispiele.
  • Wenn Sie sagen, "Wort", was trennt die Worte, oder sind Sie gerade im Gespräch über die Charaktere? In anderen Worten (sorry für das Wortspiel), deutlich, dass die Zeichenfolge "foo bar foo" sollte true zurückgeben, ja? Aber was ist mit dem string "foobar foo"? Sollte true zurückgeben, oder nicht?
  • Buchstaben machen word..also Buchstaben !=Wort
  • ich habe die Frage bearbeitet
  • Da das, was Sie wirklich wollen, ist, wenn ein Satz beginnt und endet mit dem gleichen Wort -, müssen Sie zuerst zu definieren, was ein Wort ist. Einfach mit \w, die matches any alphanumeric character and the underscore; this is equivalent to the set [a-zA-Z0-9_] wird nicht funktionieren, weil die meisten Ihrer Sätze wird scheitern, diese zu überprüfen; da es kaum beginnen und enden mit einer Präposition. Betrachten Sie zum Beispiel diesen Satz, sollte dieses match? The Earth is not completely round, just like other planets that look like Earth.
  • wenn "earth" gilt dann "earthearth" sollte auch gültig sein. Geben Sie Ihre Anforderungen klar.

InformationsquelleAutor Ajax | 2013-06-30
Schreibe einen Kommentar