Ich erstelle eine Regex, um den chinesischen und englischen Namen des Tv zeigt.Python Regex funktioniert auf Regex101 aber nicht in Python2 arbeiten
Meine Regex befindet sich bei https://regex101.com/r/rBJHDG, es ist Arbeit perfekt auf die Regex, aber diese Regex ist nicht in Python2 arbeiten.
Beispiele, string 亿万.Billions.S01E01.中英字幕.HDTVrip.1024X576.mp4
Die Regex wird paßt nicht 亿万
als name_chs
in erwarten, sondern sie paßt 亿万.Billions
als name_en
.
In [68]: r = '^(?P<name_chs>(?:[\\u3007\\u4e00-\\u9fff\\u3400-\\u4dbf\\uf900-\\ufaff]+)(?=\\.))?(?P<name_en>\\S+).S(?P<season>\\d{2})E(?P<episode>\\d{2})'
In [69]: re.match(r, u'亿万.Billions.S01E01.中英字幕.HDTVrip.1024X576.mp4').grou
...: pdict()
Out[69]:
{'episode': u'01',
'name_chs': None,
'name_en': u'\u4ebf\u4e07.Billions',
'season': u'01'}
Zweite Frage:
Wie die .
in name_en
, die zwischen dem chinesischen Namen und englischen Namen zu entfernen.
# 亿万.Billions.S01E01.中英字幕.HDTVrip.1024X576.mp4
Full match 0-18 `亿万.Billions.S01E01`
Group `name_chs` 0-2 `亿万`
Group `name_en` 2-11 `.Billions` <---- This DOT!
Group `season` 13-15 `01`
Group `episode` 16-18 `01`