使用python中的一行中的正则表达式提取字符串

时间:2017-04-03 18:41:04

标签: python regex

我有这样的句子,

“你好世界,你好[12312] 234 32423 234
23423 232 23423
2223 234 23234
223 2332 2323
我是程序员,如何[54321]
23 2 12 112
12 1212 121
这是一个程序,Okay [123123] 12123
1232 12312 1231
323 123 23423
......这继续“

我希望得到所有的字符串直到'['

我的输出应该是
“你好世界,你好 我是程序员,怎么样 这是一个程序,好的“`

如何使用正则表达式执行此操作?

1 个答案:

答案 0 :(得分:2)

您不需要为此使用正则表达式,您可以使用拆分在'['上拆分,然后获取第一个返回的项目。

line1 = "Hello world, Hi[12312]"
line2 = "I am a programmer, How[54321]"

print(line1.split('[')[0])
print(line2.split('[')[0])

产地:

Hello world, Hi
I am a programmer, How

修改

循环播放所有行,并仅打印那些有' [':

string1 = '''Hello world, Hi[12312] 234 32423 234
23423 232 23423
2223 234 23234
223 2332 2323
I am a programmer, How[54321]
23 2 12 112
12 1212 121
This is a program, Okay[123123] 12123
1232 12312 1231
323 123 23423'''

lines = string1.split('\n')

for line in lines:
    if '[' in line:
        print(line.split('[')[0])

Prdouces:

Hello world, Hi
I am a programmer, How
This is a program, Okay