小编Sai*_*tro的帖子

如何使用正则表达式按顺序提取文本?

我正在研究一个 python 流脚本。它基本上解析 SQL 语句并获取目标表和源表。例子

CREATE TABLE TAR_TAB1 AS
SELECT * FROM SRC_TAB1 JOIN SRC_TAB2

CREATE TABLE TAR_TAB2 AS 
SELECT * FROM SRC_TAB3 JOIN SRC_TAB4

INSERT INTO TAR_TAB3 AS
SELECT * FROM SRC_TAB5 JOIN SRC_TAB6

Run Code Online (Sandbox Code Playgroud)

我写了正则表达式

target = re.findall(r'\w+(?=\s+AS)', data)
source = re.findall(r'(?:FROM|JOIN)\s*([^\s]+), data)
Run Code Online (Sandbox Code Playgroud)

结果如预期,

target list contains, TAR_TAB1, TAR_TAB2, TAR_TAB3
source list contains, SRC_TAB1, SRC_TAB2, SRC_TAB3, SRC_TAB4, ETC
Run Code Online (Sandbox Code Playgroud)

如何获得像列表或数据帧一样的输出,最好是数据帧,因此提取流程不会受到干扰。

target         source
TAR_TAB1       SRC_TAB1
TAR_TAB1       SRC_TAB2
TAR_TAB2       SRC_TAB3
TAR_TAB2       SRC_TAB4
TAR_TAB3       SRC_TAB5
TAR_TAB4       SRC_TAB6
Run Code Online (Sandbox Code Playgroud)

python regex

6
推荐指数
1
解决办法
176
查看次数

Python GitLab 如何获取项目中的所有文件名?

我想获取 git 项目中的所有文件( python 文件 esp )。虽然我可以根据文件名输入一次访问一个文件。我不确定如何获取目录下的所有文件名。

我现在的代码如下

gl=gitlab.Gitlab('https://git.sys.xxx.com', private_token=pwd, api_version=4)
gl.auth()
project=gl.projects.get('hadoop-d/xyz')
a='src/main/python/xyz_inbound/baseline/*.*'
b='file_name'
c='.py'
d=a+b+c
f=project.files.get(file_path=d, ref='master')

Run Code Online (Sandbox Code Playgroud)

python git api gitlab

2
推荐指数
1
解决办法
7621
查看次数

标签 统计

python ×2

api ×1

git ×1

gitlab ×1

regex ×1