Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式删除浮点值_Python_Regex - Fatal编程技术网

Python 正则表达式删除浮点值

Python 正则表达式删除浮点值,python,regex,Python,Regex,我希望能够使用正则表达式从文本字符串中删除带小数点的数字。看这里 import re obj = '''This is my #1 user1234@gmail.com <body/> 2 3 4 5 2345! 23542 312453 76666374 56s34534 1. _12345_blah@gmail.com 1978-12-01 12:00:00 1.23 21.243 <script>function

我希望能够使用正则表达式从文本字符串中删除带小数点的数字。看这里

import re
obj = '''This is my #1 user1234@gmail.com <body/> 2 3 4 5 2345! 23542 312453 76666374 56s34534 
        1. _12345_blah@gmail.com 
        1978-12-01 12:00:00 1.23 21.243
        <script>function stripScripts(s) {
            var div = document.createElement('div');
            div.innerHTML = s;
            var scripts = div.getElementsByTagName('script');
            var i = scripts.length;
            while (i--) {
              scripts[i].parentNode.removeChild(scripts[i]);
            }
            return div.innerHTML;
          }</script> 99.258 245.643.3456!'''
regex1 = re.compile('(?is)(<script[^>]*>)(.*?)(</script>)|(<.*?>)|(?<!\S)\d+(?!\S)')
out1 = re.sub(regex1, ' ', obj)
print out1

data = ' '.join(out1.split()).strip()
print data 
重新导入
这是我的#1user1234@gmail.com  2 3 4 5 2345! 23542 312453 76666374 56s34534
1. _12345_blah@gmail.com 
1978-12-01 12:00:00 1.23 21.243
功能条带脚本{
var div=document.createElement('div');
div.innerHTML=s;
var scripts=div.getElementsByTagName(“脚本”);
var i=scripts.length;
而(我--){
脚本[i].parentNode.removeChild(脚本[i]);
}
返回div.innerHTML;
} 99.258 245.643.3456!'''
regex1=re.compile('(?is)(]*>)(.*)()|()|(?
不起作用?或者也许

re.sub("(\d*\.\d+)|(\d+\.[0-9 ]+)","",the_text)

谢谢@Joran Beasley!我试过了,效果不错

(?is)(<script[^>]*>)(.*?)(</script>)|(<.*?>)|(?<!\S)\d+(?!\S)|([0-9]+\.[0-9]+ )

你确定你不只是在解析HTML吗?如果是这样的话,这可能是个好主意。是的……这是来自各地的文本,我正在尝试清理一下。HTML只是其中的一部分,但造成的问题最多。人们必须使用正则表达式“解析”非正则HTML。
(?is)(<script[^>]*>)(.*?)(</script>)|(<.*?>)|(?<!\S)\d+(?!\S)|([0-9]+\.[0-9]+ )
(\d+\.[0-9 ]+)