我是Regex的新手,语法让我很困惑。这是原始字符串字段:(f-dqcn-bus1),(f-cdqc-bus2)
我希望得到像bus1,bus2
这样的新结果。
可能有一个或多个括号,但总线名称总是在每个括号的第二个连字符之后。我计划使用str.findall(regex_pattern)
进行提取,有人能在这里帮助开发regex_pattern吗?非常感谢!
我不确定这是否适用于您,但我以前尝试过,我有点喜欢Pandas中的.str方法!
import pandas as pd
data = [('f-dqcn-bus1'), ('f-cdqc-bus2')]
df = pd.DataFrame(data, columns=['column_name'])
tuple(df['column_name'].str.split('-', n = 2, expand = True)[2])
# ('bus1', 'bus2')
匹配短划线后和括号前的字符,这些字符既不是短划线也不是括号:
businesses = re.findall(r"(?<=-)[^-)]+(?=))", str)
观看现场演示。