Python正则表达式:删除字符串末尾的模式

Python正则表达式:删除字符串末尾的模式,python,regex,Python,Regex,输入:blah.(2/2) 所需输出:blah 输入可以是“blah.(n/n)”,其中n可以是任何一位数字 我如何使用正则表达式来实现“废话”?这是我目前使用的不起作用的正则表达式: m = re.sub('[.[0-9] /\ [0-9]]{6}$', '', m) 我真的很喜欢@idjaw方法的简单性。如果要用正则表达式求解它: In [1]: import re In [2]: s = "blah.(2/2)" In [3]: re.sub(r"\.\(\d/\d\)$", "",

输入:
blah.(2/2)

所需输出:
blah

输入可以是“blah.(n/n)”,其中n可以是任何一位数字

我如何使用正则表达式来实现“废话”?这是我目前使用的不起作用的正则表达式:

m = re.sub('[.[0-9] /\ [0-9]]{6}$', '', m)

我真的很喜欢@idjaw方法的简单性。如果要用正则表达式求解它:

In [1]: import re

In [2]: s = "blah.(2/2)"

In [3]: re.sub(r"\.\(\d/\d\)$", "", s)
Out[3]: 'blah'

在这里,
\.\(\d/\d\)$
将匹配一个单点,后跟一个开括号,后跟一个数字,后跟一个斜杠,后跟一个数字,后跟字符串末尾的一个右括号。

您需要使用正则表达式
\.\(\d/\d\)$


只需这样做,因为您总是希望围绕

s = "stuff.(asdfasdfasdf)"
m = s.split('.')[0]

只需匹配您不需要的内容并将其删除即可。在这种情况下,字符串末尾的非字母:

>>> re.sub(r'[^a-zA-Z]+$', '', "blah.(1/2)")
'blah'

你总是要用
来分隔字符串吗?确定你需要一个正则表达式吗?废话。废话。繁荣那“.”呢。join(s.split(“.”)[:-1])我不认为有必要将列表转换为字符串,因为您可以在拆分后立即提取所需的字符串。诸如此类。废话。砰。(4/2)你希望得到什么?抱歉,我不明白你在问什么。别担心。但有时还有另一个点。尝试打印“废话废话。(4/2)”.split('..')[0]
>>> re.sub(r'[^a-zA-Z]+$', '', "blah.(1/2)")
'blah'