2017-02-27 17 views
-5

単語と10進数を区切るための正規表現が必要です。入力文字列の作業と10進数を区切るための正規表現

例:

{[FACEBOOK23.1K],[UNKNOWN6],[SKYPE12.12M]} 

期待される結果:だから

{[FACEBOOK,23.1K],[UNKNOWN,6],[SKYPE,12.12M]} 

まま現在i 'はre.findall(Rを使用しています\ D + | \ D + + \ D + | \ D + 」要素)

、ここで要素は[FACEBOOK23.1K]であり、[FACEBOOK、23.1、K]

としてseperatingと私はしようとしました(K | M | G | T)| \ d + '(K | M | G | T)|(\ d +要素) 正規表現のオンラインシミュレータで正しく区切りを表示していると期待される結果が得られますが、コードを実行しようとしているときには機能しません。 >>>>

+0

申し訳ありません[SKYPE、12.12M]} –

+2

あなたは労力を費やす必要はありません! – Fallenhero

+0

こんにちはSrinivas、変更の質問を編集し、これまでに試したことを追加してください。 https://docs.python.org/2/howto/regex.html#search-and-replace – Himanshu

答えて

1
#!/usr/bin/python2 
# -*- coding: utf-8 -*- 

import re 

text = '{[FACEBOOK23.1K],[UNKNOWN6],[SKYPE12.12M]}'; 

m = re.findall('\[([a-z]+)([^\]]+)\]', text, re.IGNORECASE); 

output = '{'; 
i = 0 
for (name,count) in m: 
    if i>0: 
     output += ',' 
    output += "["+name+","+count+"]" 
    i=i+1 
output += '}' 

print output 
+0

私はtext = ['FACEBOOK23.1K'、 'UNKNOWN6'、 'SKYPE12.12M']のようなテキストを持っています。 ['FACEBOOK、23.1K'、 'UNKNOWN、6'、 'SKYPE、12.12M']のように分かれて、正規表現になることができますか? –

+0

私はうん、私はそれを持って、また、#は/ usr/binに/ python2 #上記のscenerioをしようとした関数findall – ZiTAL

+0

内で正規表現を書いた - * - コーディング:!UTF-8 - * - テキスト再 インポート= [ 'IP_ICMP_HELLO23を.1K '、' UNKNOWN6 '、' SKYPE12.12M ']; ele_list1 = [] のiの場合、 を出力します。 m = re.findall( '[(a-z)(_)] + | [^ \]] +'、i、re.IGNORECASE); ele_list1.append(m) print ele_list1 –

関連する問題