回答編集履歴
2
修正
test
CHANGED
@@ -8,15 +8,17 @@
|
|
8
8
|
|
9
9
|
for src in [a, b, c]:
|
10
10
|
|
11
|
-
ret = re.search(r':([A-Z;]+)\|', src)
|
11
|
+
ret = re.search(r'([a-z]+):([A-Z;]+)\|', src)
|
12
12
|
|
13
13
|
if not ret:
|
14
14
|
|
15
15
|
continue
|
16
16
|
|
17
|
-
|
17
|
+
|
18
18
|
|
19
|
-
|
19
|
+
ret = [ret.group(1), *ret.group(2).split(';')]
|
20
|
+
|
21
|
+
print(ret)
|
20
22
|
|
21
23
|
```
|
22
24
|
|
@@ -28,7 +30,7 @@
|
|
28
30
|
|
29
31
|
for src in [a, b, c]:
|
30
32
|
|
31
|
-
ret = re.findall(r'[:;]([A-Z]+)(?=[;|])', src)
|
33
|
+
ret = re.findall(r'[:;]?([a-zA-Z]+)(?=[:;|])', src)
|
32
34
|
|
33
35
|
print(ret)
|
34
36
|
|
@@ -42,7 +44,7 @@
|
|
42
44
|
|
43
45
|
for src in [a, b, c]:
|
44
46
|
|
45
|
-
ret = re.split(r'[:;|]', src)[
|
47
|
+
ret = re.split(r'[:;|]', src)[:-1]
|
46
48
|
|
47
49
|
print(ret)
|
48
50
|
|
1
追記
test
CHANGED
@@ -19,3 +19,31 @@
|
|
19
19
|
print(ret.group(1).split(';'))
|
20
20
|
|
21
21
|
```
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
仕様に依っては次のように書いても良いでしょう。
|
26
|
+
|
27
|
+
```Python
|
28
|
+
|
29
|
+
for src in [a, b, c]:
|
30
|
+
|
31
|
+
ret = re.findall(r'[:;]([A-Z]+)(?=[;|])', src)
|
32
|
+
|
33
|
+
print(ret)
|
34
|
+
|
35
|
+
```
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
あるいは、これくらい単純化できるかもしれません。
|
40
|
+
|
41
|
+
```Python
|
42
|
+
|
43
|
+
for src in [a, b, c]:
|
44
|
+
|
45
|
+
ret = re.split(r'[:;|]', src)[1:-1]
|
46
|
+
|
47
|
+
print(ret)
|
48
|
+
|
49
|
+
```
|