teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

テキスト修正

2019/10/04 07:02

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -13,4 +13,13 @@
13
13
 
14
14
  画面上部中央のrunボタンをクリックすると実行され、以下のように、結果が右側のコンソールに出力されます。
15
15
 
16
- ![イメージ説明](be721a09ea4b147da39336bed17382ae.png)
16
+ ![イメージ説明](be721a09ea4b147da39336bed17382ae.png)
17
+
18
+ ### 追記
19
+
20
+ 質問者さまから頂きましたコメントにより見直しまして、より短い正規表現の以下でも、意図通りのリストが得られます。
21
+
22
+ ```python
23
+ regex = re.compile("[^:;|]+")
24
+ ```
25
+ - **動作確認用 Repl.it:** [https://repl.it/@jun68ykt/Q215284-2](https://repl.it/@jun68ykt/Q215284-2)

6

テキスト修正

2019/10/04 07:02

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは
2
2
 
3
- キャプチャしないグループ `(?:` を使って、以下でどうでしょう?
3
+ キャプチャしないグループ `(?:`・・・`)`を使って、以下でどうでしょう?
4
4
 
5
5
 
6
6
  ```Python3

5

テキスト修正

2019/10/04 06:43

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -11,6 +11,6 @@
11
11
 
12
12
  - **動作確認用 Repl.it:** [https://repl.it/@jun68ykt/Q215284](https://repl.it/@jun68ykt/Q215284)
13
13
 
14
- 画面上部中央のrunボタンをクリックすると実行され、結果が右側のコンソールに出力されます。
14
+ 画面上部中央のrunボタンをクリックすると実行され、以下のように、結果が右側のコンソールに出力されます。
15
15
 
16
16
  ![イメージ説明](be721a09ea4b147da39336bed17382ae.png)

4

テキスト修正

2019/10/04 05:37

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -7,6 +7,10 @@
7
7
  regex = re.compile("(?:^[^:]+)|(?:[^:;|]+)|(?:[^;|]+$)")
8
8
  ```
9
9
 
10
- 以下は、Repl.it に作成した動作確認用のコードです。画面上部中央の runボタンをクリックすると実行されます。
10
+ 以下は、Repl.it に作成した動作確認用のコードです。
11
11
 
12
- - **動作確認用 Repl.it:** [https://repl.it/@jun68ykt/Q215284](https://repl.it/@jun68ykt/Q215284)
12
+ - **動作確認用 Repl.it:** [https://repl.it/@jun68ykt/Q215284](https://repl.it/@jun68ykt/Q215284)
13
+
14
+ 画面上部中央のrunボタンをクリックすると実行され、結果が右側のコンソールに出力されます。
15
+
16
+ ![イメージ説明](be721a09ea4b147da39336bed17382ae.png)

3

テキスト修正

2019/10/04 05:33

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,10 +1,10 @@
1
1
  こんにちは
2
2
 
3
- 肯定的先読み `(?=` と、キャプチャしないグループ `(?:` を使って、以下でどうでしょう?
3
+ キャプチャしないグループ `(?:` を使って、以下でどうでしょう?
4
4
 
5
5
 
6
6
  ```Python3
7
- regex = re.compile("(?:^[^:]+)|(?:[^:;|]+(?=[;|]))|(?:[^;|]+$)")
7
+ regex = re.compile("(?:^[^:]+)|(?:[^:;|]+)|(?:[^;|]+$)")
8
8
  ```
9
9
 
10
10
  以下は、Repl.it に作成した動作確認用のコードです。画面上部中央の runボタンをクリックすると実行されます。

2

テキスト修正

2019/10/04 05:18

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,10 +1,10 @@
1
1
  こんにちは
2
2
 
3
- 肯定的先読み、肯定的後読み、キャプチャしないグループを使って、以下でどうでしょう?
3
+ 肯定的先読み `(?=` と、キャプチャしないグループ `(?:` を使って、以下でどうでしょう?
4
4
 
5
5
 
6
6
  ```Python3
7
- regex = re.compile("(?:^[^:]+)|(?:[^:;|]+(?=[;|]))|(?:(?<=\|)[^;|]+$)")
7
+ regex = re.compile("(?:^[^:]+)|(?:[^:;|]+(?=[;|]))|(?:[^;|]+$)")
8
8
  ```
9
9
 
10
10
  以下は、Repl.it に作成した動作確認用のコードです。画面上部中央の runボタンをクリックすると実行されます。

1

テキスト修正

2019/10/04 05:11

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
  ```Python3
7
- regex = re.compile("((?:^[^:]+)|(?:[^:;|]+(?=[;|]))|(?:(?<=\|)[^;|]+$))")
7
+ regex = re.compile("(?:^[^:]+)|(?:[^:;|]+(?=[;|]))|(?:(?<=\|)[^;|]+$)")
8
8
  ```
9
9
 
10
10
  以下は、Repl.it に作成した動作確認用のコードです。画面上部中央の runボタンをクリックすると実行されます。