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

質問編集履歴

2

書式の改善

2020/11/27 07:31

投稿

eve
eve

スコア19

title CHANGED
File without changes
body CHANGED
@@ -1,42 +1,4 @@
1
1
  ### 前提・実現したいこと
2
2
  python初心者です。正規表現について質問です。
3
3
  requestsで取得した値の特定の文字列の後の文字列を抽出し、それを行列に格納したいと考えています。
4
- しかし、正規表現がうまく使えておらず想定してる抽出をきていません。
5
- 具体的にはrequestsで下記のような値を取得し、そこからnode1のみ抽出することが目標です。ですので、結果として「as1border1、as1border1、as1border2、as2border1、as2dept1」が出力されるようにしたいです。拙い文章で申し訳ございません。ご回答お願い致します。
6
-
7
-
8
-
9
-
10
-
11
-
12
- ### 発生している問題・エラーメッセージ
13
-
14
- ```
15
- 出力結果として、
16
- ('as1border1","node1interface":"GigabitEthernet0/0","node2":"as1core1","node2interface":"GigabitEthernet1/0"},{"node1":"as1border1","node1interface":"GigabitEthernet1/0","node2":"as2border1","node2interface":"GigabitEthernet0/0"},{"node1":"as1border2","node1interface":"GigabitEthernet0/0","node2":"as3border2","node2interface":"GigabitEthernet0/0"},{"node1":"as2border1","node1interface":"GigabitEthernet2/0","node2":"as2core2","node2interface":"GigabitEthernet1/0"},{"node1":"as2dept1","node1interface":"GigabitEthernet0/0","node2":"as2dist1","node2interface":"GigabitEthernet2/0')
17
- このように出力されてしまう。
18
- ```
19
-
20
- ### 該当のソースコード
21
-
22
- ```python
23
- import requests
24
- import re
25
-
26
- headers = {
27
- '*************',
28
- }
29
-
30
- response = requests.get('http://*********', headers=headers)
31
-
32
- for m in re.finditer(r'node1":"(.*)"',response.text):
33
- print(m.groups())
34
- ```
35
-
36
- ### 試したこと
37
-
38
- finditerをfor文で用いて、「node1":"」と「"」に挟まれる文字列を抽出しようとしましたが、requestsで取得した値の中で「node1":"」は一番最初に出現する部分、「"」は一番最後に出現する部分にマッチしてしまい、期待通りの結果を得ることができませんでした。
39
-
40
- ### 補足情報(FW/ツールのバージョンなど)
41
-
42
- ここにより詳細な情報を記載してください。
4
+ 文章申し訳ございません。ご回答お願い致します。

1

修正

2020/11/27 07:31

投稿

eve
eve

スコア19

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,6 @@
4
4
  しかし、正規表現がうまく使えておらず想定している抽出をできていません。
5
5
  具体的にはrequestsで下記のような値を取得し、そこからnode1のみ抽出することが目標です。ですので、結果として「as1border1、as1border1、as1border2、as2border1、as2dept1」が出力されるようにしたいです。拙い文章で申し訳ございません。ご回答お願い致します。
6
6
 
7
- [{"node1":"as1border1","node1interface":"GigabitEthernet0/0","node2":"as1core1","node2interface":"GigabitEthernet1/0"},{"node1":"as1border1","node1interface":"GigabitEthernet1/0","node2":"as2border1","node2interface":"GigabitEthernet0/0"},{"node1":"as1border2","node1interface":"GigabitEthernet0/0","node2":"as3border2","node2interface":"GigabitEthernet0/0"},{"node1":"as2border1","node1interface":"GigabitEthernet2/0","node2":"as2core2","node2interface":"GigabitEthernet1/0"},{"node1":"as2dept1","node1interface":"GigabitEthernet0/0","node2":"as2dist1","node2interface":"GigabitEthernet2/0"}]
8
7
 
9
8
 
10
9