2016-04-08 15 views
-1

長さが&の文字列を解析したいと思います。例えば '(10,2)'です。長さは&の精度が必要です。私は以下を試みたが、それは、行の先頭から検索regexを使ってpython3で文字列を解析する

>>> import re 
>>> my_str = 'numeric(10,2)' 
>>> m = re.match(r'\d+,\d+', my_str) 
>>> m 
>>> m = re.match(r'(\d+,\d+)', my_str) 
>>> m 
>>> m = re.match('\((+d),(+d)\)', my_str) 
>>> m = re.match('\((+d),(+d)\)', my_str) 
Traceback (most recent call last): 
+0

は、詳細はこの記事を読んでhttp://stackoverflow.com/questions/180986/what-is-the-difference-between-pythons-re-search-and-再照合 – Kasramvd

+0

とドキュメントhttps://docs.python.org/3/library/re.html#search-vs-match – Kasramvd

+0

@ Kasramvd参考にしていただきありがとうございます。 – n33rma

答えて

2

re.match開始、それだと働いていない= 10、 _pre = 2

を_len

はそのまま出力が必要なぜあなたはマッチを得ていないのですか?代わりに

使用re.search

>>> m = re.search(r'(\d+),(\d+)', my_str) 
>>> if m: 
...  _len, _pre = map(int, m.groups()) 
... 
>>> _len, _pre 
(10, 2) 
+0

ありがとう@timgeb .. – n33rma

+0

分割の必要性を避けるために、正規表現でキャプチャグループを使用することができます。 –

+0

@DanielRoseman良い提案 – timgeb

関連する問題