有沒有辦法在Python中嵌套正則表達式? 比如我有Python中的嵌套正則表達式
r1 = re.compile(r'SO ON')
我能有這樣的事情
r2 = re.compile(r'WHATEVER AND (r1)*')
驗證「無論等等。」這個例子。
我試着找到這個,但找不到任何解決方案。
有沒有辦法在Python中嵌套正則表達式? 比如我有Python中的嵌套正則表達式
r1 = re.compile(r'SO ON')
我能有這樣的事情
r2 = re.compile(r'WHATEVER AND (r1)*')
驗證「無論等等。」這個例子。
我試着找到這個,但找不到任何解決方案。
r1 = re.compile(r'SO ON')
r2 = re.compile(r'WHATEVER AND (%s)*' % r1.pattern)
這是不實際使用正則表達式的任何特殊功能,它使用string formatting。多個字符串可以傳入:
r'WHATEVER AND (%s) (%s)' % (r1.pattern, 'hello')
謝謝。我知道*給這個問題隨機的例子,嵌套正則表達式的能力是什麼。將接受何時可用。謝謝! –
#U2EF1多於一個正則表達式的語法是什麼?或者這是不可能的? r2 = re.compile(r'WHATEVER AND(%s)*'%r1.pattern,%r3.pattern) –
我覺得道義上的責任是指出這個例子使用*舊式*字符串格式,並且在Python中未來的浪潮是使用* new-style *字符串格式,如'r2 = re.compile(r'WHATEVER AND({})*'。format(r1.pattern))'有很多原因爲什麼這是優於*舊式*語法。閱讀它們看看[這裏](http://docs.python.org/2/library/string.html#format-examples)。 – SethMMorton
我覺得有道義上的責任指出,這嚴格支持沒有標誌的regexen。只要你開始使用像re.MULTILINE這樣的標誌,這種方法就無法工作。 Perl在正則表達式中使用正則表達式很棒。我希望我能找到一個好的Python解決方案。
是否使每個模式的字符串和連接它們不起作用? –
是的,但這可能是一個字符串可以容納的功能有限.. –