Форум сайта python.su
Здравствуйте!
Пусть, например, дана строка:
str=“Python, fjkjfkjgjkf. Java, hjflkfjlkjg. Python - fjjlkjfks, fjjgkfjk.”
Как извлечь все подстроки, которые начинаются с “Python” и заканчиваются “.” ??
Т.е. в итоге должен быть получен список: “Python, fjkjfkjgjkf.”, “Python - fjjlkjfks, fjjgkfjk.”
Отредактировано BenBen (Июль 19, 2015 20:33:39)
Офлайн
Код в теги.
BenBenС помощью регулярных выражений.
Как извлечь все подстроки, которые начинаются с “Python” и заканчиваются “.” ??
Офлайн
>>> import re >>> s = "Python, fjkjfkjgjkf. Java, hjflkfjlkjg. Python - fjjlkjfks, fjjgkfjk." >>> print re.findall(r'Python.*?\.', s) ['Python, fjkjfkjgjkf.', 'Python - fjjlkjfks, fjjgkfjk.']
Отредактировано terabayt (Июль 19, 2015 21:27:32)
Офлайн
s='Theorem 5.8. Let qk(z) be the polynomial de\xef\xac\x81ned by\n\nqn+1(z) = 2\n\ndqn\ndz\n\n\xe2\x88\x92 1\n2\n\nn\xe2\x88\x921(cid:88)\n\nk=0\n\nwith q0(z) = z and q1(z) = 2, and \xcf\x83n(z) be the n \xc3\x97 n Hankel determinant\nqn\xe2\x88\x921(z)\nqn(z)\n\n\xcf\x83n(z) =\n\nqk(z)qn\xe2\x88\x92k\xe2\x88\x921(z),\n\nn \xe2\x89\xa5 1,\n\n(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) ,\n\nn \xe2\x89\xa5 0.\n\n…\n\nq2n\xe2\x88\x922(z)\n\n=\n\n\xcf\x83(cid:48)\nn\xe2\x88\x921(z)\n\xcf\x83n\xe2\x88\x921(z)\n\n\xe2\x88\x92 \xcf\x83(cid:48)\nn(z)\n\xcf\x83n(z) ,\n\nn \xe2\x89\xa5 1,\n\n(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)\n\nq0(z)\nq1(z)\n…\n\nq1(z)\nq2(z)\n…\n\nqn(z)\n\n\xc2\xb7\xc2\xb7\xc2\xb7\n\xc2\xb7\xc2\xb7\xc2\xb7\n…\n\xc2\xb7\xc2\xb7\xc2\xb7\n\nqn\xe2\x88\x921(z)\n\n(cid:20) \xcf\x83n\xe2\x88\x921(z)\n\n(cid:21)(cid:27)\n\n(cid:26)\n\nln\n\n\xcf\x83n(z)\n\nThen\n\nsatis\xef\xac\x81es PII with \xce\xb1 = n.\n\nw(z; n) =\n\nd\ndz\n\nProof'
reg=re.findall(r'Theorem .*?Proof', s)
По идее должно всю строку s вывести, но получается пустой список. В чём здесь дело?
Отредактировано BenBen (Июль 19, 2015 23:22:13)
Офлайн
BenBen
потому что у вас там втсречаются символы новой строки. Так:
re.findall(r'Theorem .*?Proof', s, re.S)
Офлайн
BenBen
В чём здесь дело?
Офлайн