回答編集履歴
2
修正
answer
CHANGED
@@ -3,23 +3,24 @@
|
|
3
3
|
- 次に ; で分割
|
4
4
|
```Python
|
5
5
|
for src in [a, b, c]:
|
6
|
-
ret = re.search(r':([A-Z;]+)\|', src)
|
6
|
+
ret = re.search(r'([a-z]+):([A-Z;]+)\|', src)
|
7
7
|
if not ret:
|
8
8
|
continue
|
9
|
-
|
9
|
+
|
10
|
-
|
10
|
+
ret = [ret.group(1), *ret.group(2).split(';')]
|
11
|
+
print(ret)
|
11
12
|
```
|
12
13
|
|
13
14
|
仕様に依っては次のように書いても良いでしょう。
|
14
15
|
```Python
|
15
16
|
for src in [a, b, c]:
|
16
|
-
ret = re.findall(r'[:;]([
|
17
|
+
ret = re.findall(r'[:;]?([a-zA-Z]+)(?=[:;|])', src)
|
17
18
|
print(ret)
|
18
19
|
```
|
19
20
|
|
20
21
|
あるいは、これくらい単純化できるかもしれません。
|
21
22
|
```Python
|
22
23
|
for src in [a, b, c]:
|
23
|
-
ret = re.split(r'[:;|]', src)[
|
24
|
+
ret = re.split(r'[:;|]', src)[:-1]
|
24
25
|
print(ret)
|
25
26
|
```
|
1
追記
answer
CHANGED
@@ -8,4 +8,18 @@
|
|
8
8
|
continue
|
9
9
|
|
10
10
|
print(ret.group(1).split(';'))
|
11
|
+
```
|
12
|
+
|
13
|
+
仕様に依っては次のように書いても良いでしょう。
|
14
|
+
```Python
|
15
|
+
for src in [a, b, c]:
|
16
|
+
ret = re.findall(r'[:;]([A-Z]+)(?=[;|])', src)
|
17
|
+
print(ret)
|
18
|
+
```
|
19
|
+
|
20
|
+
あるいは、これくらい単純化できるかもしれません。
|
21
|
+
```Python
|
22
|
+
for src in [a, b, c]:
|
23
|
+
ret = re.split(r'[:;|]', src)[1:-1]
|
24
|
+
print(ret)
|
11
25
|
```
|